web-dev-qa-db-ja.com

必要に応じて声を変えるために、フェスティバルにコマンドラインから独自のスキーム表現を評価させるにはどうすればよいですか?

これに関するドキュメントが見つからないようです。

このフォーラムの投稿 コマンドラインフラグを使用して、フェスティバルの通訳の外で、フェスティバルで使用される声を変更しようとしている人を示しています。

festival --\(voice_kal_diphone\) --tts "Langalist.txt"

動作しません。解決策として、OPのプログラムの構成ファイルが編集されることになります。 Everyonehere もその方法を使って声を選んでいるようです。しかし確かに、プログラムのスキームインタプリタ内からの場合、式

luisetta@riverbrain:~$ festival

Festival Speech Synthesis System 2.1:release November 2010
Copyright (C) University of Edinburgh, 1996-2010. All rights reserved.

clunits: Copyright (C) University of Edinburgh and CMU 1997-2010
hts_engine: 
The HMM-based speech synthesis system (HTS)
hts_engine API version 1.04 (http://hts-engine.sourceforge.net/)
Copyright (C) 2001-2010  Nagoya Institute of Technology
              2001-2008  Tokyo Institute of Technology
All rights reserved.
For details type `(festival_warranty)'
festival> (voice_name_here)

入力して返される音声のリストから

festival> (voice.list)

動作する場合は、コマンドラインを介してプログラムに独自のスキーム式を解釈させる方法も必要ですよね?

2
ixtmixilix

TTSを実行する前に音声を選択するだけの場合は、text2waveを使用できます。

echo 'hello world' | text2wave -eval '(voice_kal_diphone)' > hello.wav

text2waveはFestivalスクリプト自体であるため、かなり簡単にカスタマイズできます。

Festivalコマンドラインでも同様のことができます。

festival '(voice_ked_diphone)' '(SayText "hello world")' '(exit)'

しかし、残念ながら、それは--ttsオプションと一緒には機能しません。

2
derobert