音声情報処理実習資料
母音のホルマント合成
1 scvs コマンドの使い方
音声生成の source-filter モデルに基づき,ホルマントと基本周波数を与えて母音を合成する
scvs というコマンドを用意しています
1。
このコマンドを用いて合成母音を作成することにより,ホルマントの変化によって,
母音の音韻性(音色)がどのように変化するのかを確認することができます。
母音合成の手順は次のとおりです。
scvs の一般的な使い方(オプション指定の方法)は,コマンド名 scvs のみをタイプすれば表示されます。
- 合成する母音のホルマント周波数と帯域幅を記述したパラメータファイルを用意します。
例えば,次の値を書いたテキストファイル file_par.txt を作ります。
テキストファイルの作成にはメモ帳(コマンド名は notepad)等を使うことができます。
450 50
1450 70
2450 110
3300 250
3750 200
4900 1000
ここで,ファイルの 1 行目は合成母音の第 1 ホルマントの周波数
(F1)と帯域幅に,2 行目は第 2 ホルマントの周波数(F2)と帯域幅
になります。第 3 ホルマント以降も同様です。したがって,このパラメー
タファイルからは,6 個のホルマントを持つ母音が合成されます。
母音の音韻性を決定する主な特徴は F1,F2,F3 ですので,違
う母音を作りたければ,これらのみを変更すれば十分です。中でも
F1 と F2 が音韻性に与える影響が大きいので,F3 を固定して
も構いません。
- パラメータファイル file_par.txt を作成したら,次の形式で
scvs コマンドを実行し,母音を合成します。
scvs -s 16000 -f file_par.txt -g file_tf.txt file.wav > file.txt
これにより,file.wav に WAVE 形式の母音データが,file.txt にテキスト形式の母音データが入ります。
file.wav を wavesurfer 等で再生すれば,合成音を聴くことができます。
file_tf.txt には,音源・声道・放射をあわせたフィルタの周波数特性がテキスト形式で格納されます。
scvs における基本周波数(声の高さ)のデフォルト値は 110 Hzです。
これを変更するにはオプション -F0 を使います。
例えば -F0 150 をオプションとして(コマンド名のあとに)付加すれば,母音の基本周波数は 150 Hz になります2。
GNUPLOT3 というアプリケーションを使うと,テキスト形式の数値デー
タをグラフで表示できます。
GNUPLOT を起動するにはコマンド
gnuplot
を実行します
4。
GNUPLOT では,グラフ表示の形式を指定してから plot
という GNUPLOT のコマンドを打つことでグラフを描画します
5
。
例えば,
母音の波形が file.txt に入っているとき,
これを折れ線グラフで描画するには,GNUPLOT を起動してから,
set data style lines
plot " file.txt"
とします6。
x 軸(今のデータでは時間軸)の範囲をを 0 から 100 msec にして,波形を拡大
表示するには,
plot [0:100] " file.txt"
とします。または,
set xrange [0:100]
replot
でも構いません。一度,set コマンドを使って設定を行うと,設定を変更しない
限り,その設定値は plot コマンドでのグラフ表示に反映されます。
replot は,一番最近に行った plot コマンドを再実行するコマンドです。
gnuplot の終了は
quit
です。
- 本資料の第 1 章に示したホルマントを持つ合成母音を作成しなさい。
基本周波数は scvs のデフォルト値 (110 Hz) とする。
合成母音の音と波形を wavesurfer で確認するとともに,
フィルタの周波数特性を GNUPLOT で確認しなさい。
特にフィルタの周波数特性から,おおよそのホルマント周波数を調べ,
パラメータファイルに指定した値と比べてみなさい。
- 自分で発声した母音 /a/ から求めた基本周波数 F0 とホルマント周波数
(F1 と F2) を使って母音を合成しなさい。
F1 と F2 は scvs のパラメータファイルに記述し,
F0 は scvs のオプションで指定する。
ホルマント帯域幅と F1, F2 以外のホルマント周波数は第 1 章の値をそのまま使ってよい。
音や波形,周波数特性を自分の声と比較して考察しなさい。
- 講義資料 p.14 のホルマント分布図を参考にして,いろいろな母音を合成してみなさい。
また,同じパラメータファイルを使い F0 のみを変化させて合成した母音には,音韻性の変化があるかを確認しなさい。
- ... というコマンドを用意しています1
- 音声の自然性に関する配慮をしていないため,音質は良くありませ
ん。
- ... になります2
- -F0 0 を指定すれば``ささやき声''になります。
- ...
GNUPLOT3
- GNUPLOT version 3.5 の日本語マニュアルは
http://echoes.hak.hokkyodai.ac.jp/db/?id=776
で閲覧できます。
- ...
を実行します4
- フォントがつぶれて読めない場合には,タイトルバー左隅(ウィンドウの左上隅)のアイコンをクリックして,Options から Choose fonts を選び,フォントサイズを調整してください。
- ... のコマンドを打つことでグラフを描画します5
- 3次元グラフを描くには splot
- ...
とします6
- GNUPLOT ver. 3 の場合