KlattSynthesizer の変更点
Top / KlattSynthesizer
- 追加された行はこの色です。
- 削除された行はこの色です。
- KlattSynthesizer へ行く。
- KlattSynthesizer の差分を削除
*Klatt Synthesizer の Python 版(pyklatt)を使ってみる [#k204e221] -Klatt Synthesizer は音素の音響的パラメータを直に指定して音声合成ができる --例えばフォルマントの値を直に指定して母音を合成する //--河原先生にうかがったところ、STRAIGHTはフォルマント値を指定した合成は対象外とのこと(可能ではあるはずだが、フォルマント周波数の定義そのものに懐疑的な立場とのこと) -オリジナルはFORTRAN版(?) -以下の移植版がある --[[MATLAB Simulink:http://www.shaav.com/professional/linguistics/klatt.pdf]] --[[Python:https://code.google.com/p/pyklatt/]]((Pyshon版は講義で作成したもののようで、完全に移植されているのかどうかは、確認が必要と思います。)) --[[C:http://www.phon.ox.ac.uk/files/lecture_2/klatt_structure.htm]] -まずは Python 版を動かしてみよう。 **Python をインストールする [#p01d5572] -[[Pythonインストールと環境設定:http://www.pythonweb.jp/install/]] --[[Python の Ver2 と Ver3 でコードの書き方が違う:http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q14144586154]] とのこと。Pyklatt パッケージは Ver2 対応なので、Python 2.7.10 - 2015-05-23 Windows x86-64 MSI installer をダウンロードした(2015/07/03時点) --[[環境変数PATHの設定:http://www.pythonweb.jp/install/]] まで完了。 --[[test1-1.pyの実行:http://www.pythonweb.jp/tutorial/ini/index2.html]] に成功。 **pyklatt をインストールする [#eae2921c] -[[pyklatt:https://code.google.com/p/pyklatt/]] > [[Source:https://code.google.com/p/pyklatt/source/checkout]] を参照し、コマンドプロンプトで以下を実行((事前に svn の実行環境のインストールが必要かも)) svn checkout http://pyklatt.googlecode.com/svn/trunk/ pyklatt-read-only --カレントディレクトリに pyklatt-read-only ディレクトリが作られる。 ***試しに使う [#m49549e8] -pyklatt-read-only/ ディレクトリに移動して以下を実行 python klatt.py ./data/cat.txt --output.wav が生成される。 --pyklatt-read-only/data.txt 以下に合成用のサンプルテキストがあるが、文字化け?のために変な合成音になる。 --pyklatt-read-only/src/ipa.py に合成用の音素名リストと、各音素のパラメータが記述されている。 -/la/, /ra/ を合成してみる --data/ 以下に &ref(lara.txt); を置く --実行 python klatt.py ./data/lara.txt --&ref(lara.wav); ができる -/la/, /ra/ の合成パラメータを変えてみる --[[Yamada & Tohkura, 1992:http://www.ncbi.nlm.nih.gov/pubmed/1437471]] によれば、F2 は 920[Hz](/r/) ⇔ 1280[Hz](/l/)、F3 は 1200[Hz](/r/) ⇔ 3000[Hz](/l/) の間で変化させたとのこと。これを再現してみる。 --ipa.py を見て以下のパラメータを書き換える 273行目 /r/ 'freq (1-6)': (300, 1600, 2600, 3300, 3750, 4900), から 'freq (1-6)': (300, 920, 1200, 3300, 3750, 4900), に書き換え 615行目 /l/ 'freq (1-6)': (310, 1050, 2880, 3300, 3750, 4900), から 'freq (1-6)': (310, 1280, 3000, 3300, 3750, 4900), に書き換え --&ref(lara2.wav); ができる、上と変わっていないように聞こえるが一応変化しているようです。 --&ref(lara2.wav); ができる、上と変わっていないように聞こえますが、一応変化しているようです。