音声の線形予測分析

目次

1 準備

lpfmrt.exe, cygwin1.dll, frmtedit.exe をダウンロードしてください。 lpfmrt.exe と frmtedit.exe はコマンドプロンプトからコマンドとして実行します。 cygwin1.dll は lpfmrt.exe の実行に必要なライブラリのファイルです。lpfrmt.exe と同じフォルダに置いてください。

2 単語音声の線形予測分析

音声の入った wav ファイルを lpfrmt というプログラム(コマンド)で分析します。 lpfrmt は ファイル内の全区間から Hamming 窓を使って分析フレームを逐次切り出して, 音声分析を行います。 default のフレーム長は 256 点,フレーム周期は 1/2 フレームですが, 今回はフレーム長を 512 点にするオプションを指定して分析します。 分析結果を格納するファイルの名前もオプションで指定します。 今回は,次の分析結果をファイルに格納することとします。 以下では file という表記を適当な名前に置き換えてください。

  1. テキスト形式の音声波形: file.txt
  2. 線形予測係数: file_a.txt
  3. ホルマント周波数: file_f.txt
  4. ホルマント帯域幅: file_b.txt
  5. FFT スペクトル: file_ffs.txt
  6. LPC スペクトル: file_lps.txt

そのために,下記をコマンドラインに入力し,実行してください。

lpfrmt -s 16000 -n 512 -w file.txt -a file_a.txt -f file_f.txt -b file_b.txt -F file_ffs.txt -S file_lps.txt file.wav

3 分析結果の観察

分析が終了したら,まず,分析結果の入ったファイルが作成されたことを dir コマンド等で確認してください。

3.1 線形予測係数

線形予測係数の入ったテキストファイル file_a.txt の中身を閲覧してみましょう。

分析結果の入ったファイルは全てテキストファイルですから,コマンドラインから more コマンド等で中身を見ることができます。

more file_a.txt

あるいはメモ帳のようなエディタで開くことも可能です。

notepad file_a.txt

このファイルでは,1 行が 1 分析フレームであり,各行には音声データ内でのフレームの開始時点 ( 256 pnt 16.00 ms であれば,256 標本点 16 ミリ秒)に続く a: の右に,当該フレームのデータから求められた線形予測係数が空白区切りで記されています。

3.2 ホルマントとスペクトル

続いて, プログラム frmtedit.exe を使って分析結果を観察します。

frmtedit

を実行してください。

frmtedit という標題のウィンドウが開いたら, まず,Formant Frequency (ホルマント周波数)と Formant Bandwidth (ホルマント帯域幅)の両欄に, 当該ファイルの名前(file_f.txt, file_b.txt) を入力してから (Browse ボタンを押して,ファイルを選択してもよい) Read ボタンを押してください。

すると,両ファイルの内容が個別のウィンドウ内に表示されます。 frmtedit での作業中はこれらのウィンドウを消さないでください。 操作の邪魔になるようであれば,ウィンドウを最小化してください。

その後,frmtedit ウィンドウ内の Waveform ボタンを押して音声波形ファイル (file.txt) を開きます。

さらに Spectrum ボタンを押して,LPC スペクトルと FFT スペクトルの入ったファイル (file_lps.txt, file_ffs.txt) を順に開いてみましょう。 時間(分析フレーム)と共に変化するスペクトルの様子を観察できます。

frmtedit を終了するには,frmtedit ウィンドウの Exit ボタンを押します。

日付: 2020/7/23

著者: Hideaki Konno

Validate