音声スケジューラとフェスティバル音声設定の問題

音声スケジューラとフェスティバル音声設定の問題

FestivalついにアメリカのHTSサウンド、、、、、、、、、を使い始めましたcmu_us_awb_cgcmu_us_jmk_cgcmu_us_slt_cgcmu_us_bdl_cgcmu_us_clb_cgcmu_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)"

その後、音声スケジューラを設定しましたが、それ自体は正しく設定されませんでしたが、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.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次の手順をご覧ください。

  1. フェスティバル/サウンドフォルダに移動
  2. 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.")))
      
  3. /usr/bin/festival --serverエラーは次の後に消えなければなりません。

詳細を表示するために実行することもできますspd-say -L

デフォルトの祝日の音声を更新する必要がある場合:

  • /etc/festival.scm追加するには編集してください。
    (set! voice_default 'voice_<You prefered Voice name>)
    
  • Festivalサーバーを再起動するか、Ubuntuを再起動してください。デフォルトの音声はspd-sayコマンドまたはFirefoxから新しい音声に変わります。

おすすめ記事