ついに、US Festival
HTS ボイスが使えるようになりました: cmu_us_awb_cg
、、、、、、。cmu_us_jmk_cg
cmu_us_slt_cg
cmu_us_bdl_cg
cmu_us_clb_cg
cmu_us_rms_cg
festival.scm
音声を使用するように手動で設定しましたbdl
:
(set! voice_default 'voice_cmu_us_bdl_cg)
インタラクティブ内からでもfestival
、サーバーの実行中 ( festival --server
) でも正常に動作するようになりました。
nc localhost 1314 <<< "(tts_text \"Hello big world, this is a test.\" nil)(quit)"
次に、speech-dispatcher を設定しましたが、 経由で適切に設定できませんでしたspd-conf
が、設定ファイルを手動で修正しましたspeechd
。まとめると、次のようになります。
LogLevel 3
LogDir "default"
DefaultRate 5
DefaultVolume 100
DefaultLanguage "en"
DefaultPunctuationMode "all"
AudioOutputMethod "alsa"
AudioALSADevice "default"
AddModule "festival" "sd_festival" "festival.conf"
AddModule "dummy" "sd_dummy" ""
DefaultModule festival
LanguageDefaultModule "en" "festival"
Include "clients/*.conf"
現在、ALSA テストは正常に動作しています (サウンドが生成されます)。ただし、次の宛先にテキストを送信するとspeech-dispatcher
、
spd-say "Hello big world, this is a test."
...festival
サーバーは、考えられるあらゆる音声を試しても失敗したかのように、狂ってしまいます。
SIOD: unknown voice cmu_us_ahw_cg
SIOD: unknown voice cmu_us_ahw_cg
SIOD: unknown voice cmu_us_aup_cg
SIOD: unknown voice cmu_us_aup_cg
SIOD: unknown voice cmu_us_awb_cg
SIOD: unknown voice cmu_us_awb_cg
SIOD: unknown voice cmu_us_axb_cg
SIOD: unknown voice cmu_us_axb_cg
SIOD: unknown voice cmu_us_bdl_cg
SIOD: unknown voice cmu_us_bdl_cg
SIOD ERROR: could not open file /usr/share/festival/dicts/oald/oaldlex.scm
closing a file left open: /usr/share/festival/voices/english/rab_diphone/festvox/rab_diphone.scm
SIOD: unknown voice rab_diphone
SIOD ERROR: could not open file /usr/share/festival/dicts/oald/oaldlex.scm
closing a file left open: /usr/share/festival/voices/english/rab_diphone/festvox/rab_diphone.scm
SIOD: unknown voice rab_diphone
SIOD: unknown voice cmu_us_kal_com_hts
SIOD: unknown voice cmu_us_kal_com_hts
SIOD: unknown voice cstr_us_ked_timit_hts
SIOD: unknown voice cstr_us_ked_timit_hts
SIOD: unknown voice cmu_us_slt_cg
SIOD: unknown voice cmu_us_slt_cg
SIOD: unknown voice cmu_us_rms_cg
SIOD: unknown voice cmu_us_rms_cg
SIOD: unknown voice cmu_us_awb_cg
SIOD: unknown voice cmu_us_awb_cg
SIOD: unknown voice cmu_us_bdl_cg
SIOD: unknown voice cmu_us_bdl_cg
SIOD ERROR: ran out of storage
closing a file left open: /usr/share/festival/voices/us/cmu_us_clb_cg//rf_models/trees_08/cmu_us_clb_mcep.tree
SIOD: unknown voice cmu_us_clb_cg
SIOD ERROR: ran out of storage
closing a file left open: /usr/share/festival/voices/us/cmu_us_clb_cg//festival/trees/cmu_us_clb_mcep.tree
SIOD: unknown voice cmu_us_clb_cg
client(10) Mon Mar 16 22:10:26 2020 : accepted from localhost
SIOD: unknown voice cmu_us_ahw_cg
SIOD: unknown voice cmu_us_aup_cg
SIOD: unknown voice cmu_us_awb_cg
SIOD: unknown voice cmu_us_axb_cg
SIOD: unknown voice cmu_us_bdl_cg
SIOD ERROR: could not open file /usr/share/festival/dicts/oald/oaldlex.scm
closing a file left open: /usr/share/festival/voices/english/rab_diphone/festvox/rab_diphone.scm
SIOD: unknown voice rab_diphone
SIOD: unknown voice cmu_us_kal_com_hts
SIOD: unknown voice cstr_us_ked_timit_hts
SIOD: unknown voice cmu_us_slt_cg
SIOD: unknown voice cmu_us_rms_cg
SIOD: unknown voice cmu_us_awb_cg
SIOD: unknown voice cmu_us_bdl_cg
SIOD ERROR: ran out of storage
closing a file left open: /usr/share/festival/voices/us/cmu_us_clb_cg//rf_models/trees_08/cmu_us_clb_mcep.tree
SIOD: unknown voice cmu_us_clb_cg
SIOD ERROR: ran out of storage
closing a file left open: /usr/share/festival/voices/us/cmu_us_jmk_cg//festival/trees/cmu_us_jmk_mcep.tree
SIOD: unknown voice cmu_us_jmk_cg
SIOD: unknown voice cmu_us_ahw_cg
SIOD: unknown voice cmu_us_ahw_cg
SIOD: unknown voice cmu_us_aup_cg
SIOD: unknown voice cmu_us_aup_cg
SIOD: unknown voice cmu_us_awb_cg
SIOD: unknown voice cmu_us_awb_cg
つまり、フェスティバルは動作しており、ALSA への接続も動作しており、スピーチ ディスパッチャはフェスティバルに何かを送信していますが、何らかの理由で壊れており、音声設定が間違っている可能性があります。
/etc/speech-dispatcher/modules/
フォルダー内には festival モジュール用の設定ファイルもありますfestival.conf
が、実質的には空 (コメント テキストが多数) であり、speech-dispatcher
を呼び出すときに によって設定される音声については何も言及されていませんFestival
。特に のコメントから判断すると、ここで設定できると思いますspeechd.conf
。
DefaultVoiceType は、デフォルトで使用する音声タイプを制御します。音声タイプは、出力モジュール構成に従ってシンセサイザーによって提供される特定の音声にマップされるシンボリック名です。どの音声がさまざまなシンボリック名に割り当てられているかを確認するには、etc/speech-dispatcher/modules/ のシンセサイザー固有の構成を参照してください。現在サポートされているシンボリック名は次のとおりです: MALE1、MALE2、MALE3、FEMALE1、FEMALE2、FEMALE3、CHILD_MALE、CHILD_FEMALE
# デフォルトボイスタイプ "MALE1"
また、ヒープ サイズを 50M まで増やすことも試みました (他のディスカッションのいくつかの投稿に従って) が、効果はありませんでした。
festival --server --heap 50000000
私も同じ奇妙なエラーが発生します。何かアドバイスがあればお願いします。
答え1
この問題を解決するには、ファイル(proclaim_voice
で定義する必要があります。以下の手順を参照してください。scm
- festival/voicesフォルダに移動
- scmファイルを編集する
- 開ける:
vim us/cmu_us_clb_arctic_clunits/festvox/cmu_us_clb_arctic_clunits.scm #<--voice clunits.scm
- ファイルの一番下に移動して、前に行を追加します
(provide 'cmu_us_clb_arctic_clunits)
- 以下のコンテンツを追加します (必要に応じて言語、性別、方言を更新します)。更新して保存し、終了します。
(proclaim_voice 'cmu_us_clb_arctic_clunits '((language english) (gender female) (dialect american) (description "This voice provides an American English male voice using a residual excited LPC diphone synthesis method. It uses the CMU Lexicon pronunciations. Prosodic phrasing is provided by a statistically trained model using part of speech and local distribution of breaks. Intonation is provided by a CART tree predicting ToBI accents and an F0 contour generated from a model trained from natural speech. The duration model is also trained from data using a CART tree.")))
- 開ける:
/usr/bin/festival --server
エラーが消えたら
spd-say -L
実行して詳細を表示することもできます。
デフォルトのフェスティバル音声を更新する必要がある場合:
- 編集し
/etc/festival.scm
て追加(set! voice_default 'voice_<You prefered Voice name>)
- フェスティバル サーバーを再起動するか、Ubuntu を再起動します。デフォルトの音声は、コマンドまたは Firefox から新しい音声に変更されます
spd-say
。
答え2
問題は、speech-dispatcher
フェスティバルのデフォルトの音声を受け入れず、代わりに独自の設定を使用しようとしているために発生する可能性があります。
コメントを解除して、DefaultVoiceType
次のように変更してみてください:
DefaultVoiceType "FEMALE1"
また、Firefox のリーダー モード (ALT + CTRL + R) などのさまざまなプログラムを使用してテストを実行し、リストされている音声のいずれかが機能するかどうかを確認します。