MerlinのデモスクリプトをTensorFlowを用いて実行してみる
目的
音声合成ツールMerlinのデモスクリプトをTensorlFlowを用いる方法で実行する。
方法
configurationの設定にswitch_to_tensorflow
がある。デフォルトでFalse
になっているのでこれをTrue
に変更したい。
egs/slt_arctic/s1/script/
にあるprepare_config_files.sh
の継続長モデル設定ファイル(duration_config_file)の[Architecture]
の項目に以下のように追記する。
$SED -i s#'switch_to_tensorflow\s*:.*'#'switch_to_tensorflow: True'# $duration_config_file
音響モデル設定ファイル(acoustic_config_file)の[Architecture]
の項目にも同様に追記する。上の$duration_config_file
を$acoustic_config_file
に変えるだけで良い。また、prepare_config_files_for_synthesis.sh
にも同様にacoustic_config_file、duration_config_file共に追記する。
以上の追記を行うと02_prepare_config_files.sh
を実行して生成されるconfigファイルのswitch_to_tensorflow
がTrue
になる。
なぜかsrc/tensorflow_lib/
内のファイルはPython3.xをサポートしていない(他のディレクトリはサポートしているのにも関わらず)。そのため、Python3.xを使用している場合、そのままモデルの学習を行おうとするとエラーが出る。この場合、2to3
コマンドを用いてディレクトリ内のファイルを全て書き換えるなどする必要がある。
以上の工夫を施すとデモスクリプトをTensorFlowを用いて実行することができる。
デモで学習ファイル数やepoch数が少なく判断しかねるが、生成された音声はTensorFlowを使用しない時と比較してこもったように聞こえ、質が悪くなったように感じた。