「Festival」の版間の差分

提供: ArchWiki
ナビゲーションに移動 検索に移動
(→‎トラブルシューティング: サーバーを翻訳して追加)
(→‎使用方法: 情報を更新)
99行目: 99行目:
   
 
== 使用方法 ==
 
== 使用方法 ==
  +
  +
=== ファイルを入力または出力として使用する ===
   
 
テキストファイルを読み上げる:
 
テキストファイルを読み上げる:
$ festival --tts /path/to/letter.txt
 
   
  +
$ festival --tts ''text_file''
パイプを使用する場合:
 
$ (echo "Get ready for some pain"; sudo cat /var/log/messages.log) | festival --tts
 
   
  +
カーソルで強調表示した選択内容を読み取るには:
テキストファイルを mp3 に変換:
 
  +
$ cat letter.txt | text2wave | lame - file.mp3 && mplayer file.mp3
 
  +
$ xsel | festival --tts
  +
  +
テキストファイルを mp3 オーディオに変換します:
  +
  +
$ text2wave ''text_file'' | lame - ''text''.mp3
  +
  +
選択した音声でオーディオを録音します:
  +
  +
$ text2wave -o ''output''.wav -eval '(voice_german_de2_os)' ''text_file''
   
 
=== インタラクティブモード (音声のテストなど) ===
 
=== インタラクティブモード (音声のテストなど) ===
   
festival にはテスト用対話プロンプトがあります。例:
+
Festival にはテストに使できる対話プロンプトがあります。{{ic|festival}} と入力して入力します。以下にいくつかのを示します。
  +
$ festival
 
  +
festival 音声を表示するには:
[...]
 
  +
festival>
 
  +
voice_default
  +
 
利用可能な音声を確認:
 
利用可能な音声を確認:
  +
festival> (voice.list)
 
  +
(voice.list)
(cstr_us_awb_arctic_multisyn kal_diphone don_diphone)
 
  +
音声を設定:
 
  +
別の音声を選択するには、{{ic|(''voice_name'')}} と入力します。例えば:
festival> (voice_cstr_us_awb_arctic_multisyn)
 
  +
#<voice 0x1545b90>
 
  +
(voice_cmu_us_rms_cg)
  +
 
発声:
 
発声:
festival> (SayText '"test this is a test oh no a test bla test")
 
inserting pause after: t.
 
Inserting pause
 
[...]
 
id _63 ; name t ;
 
id _65 ; name # ;
 
#<Utterance 0x7f7c0c144810>
 
ヘルプ:
 
festival> help
 
"The Festival Speech Synthesizer System: Help
 
終了: {{ic|ctrl+d}} または:
 
festival> (quit)
 
   
  +
(SayText "Arch makes me happy")
=== サンプルスクリプト ===
 
  +
  +
使用可能なコマンドをリストするには:
  +
  +
help
   
  +
シェルを終了するには:
One classic app that can make use of this is ping. Use this script to constantly ping a host, and return ping if success, fail if not:
 
#!/bin/bash
 
while :; do
 
ping -c 1 $1 && (echo "Ping" | festival --tts) || (echo "Fail" | festival --tts)
 
done
 
   
  +
(quit)
Note that this does not really work on multisynth voices, as they take a while to prepare before playing.
 
   
 
== トラブルシューティング ==
 
== トラブルシューティング ==

2023年8月16日 (水) 16:13時点における版

Festival は CSTR (Centre for Speech Technology Research) で開発された汎用の多言語音声合成システムです。

Festival には音声合成システムを作成するための汎用フレームワークと様々なモジュールのサンプルが入っています。それらをまとめて、Festival は API を通して完全なテキスト読み上げを提供します: シェルや、Scheme コマンドラインインタプリタ、C++ ライブラリ、Java、Emacs インターフェイスなどから使うことが可能です。Festival は多言語に対応しています (現在利用できるのはイギリス英語、アメリカ英語、イタリア語、チェコ語、スペイン語など)。

インストール

公式リポジトリから festivalインストールしてください。festival-englishfestival-us などの音声パッケージも必要です。様々な言語が公式リポジトリや AUR からインストールできます。

festival のテスト:

$ echo "This is an example. Arch is the best." | festival --tts

サンプルテキストを聞くことができたら、TTS システムのインストールは完了です。

何も聞こえない場合、トラブルシューティングセクションを見て下さい。デスクトップシステムを使っていて、/dev/dsp に関するメッセージが表示される場合、指示に従ってください。

設定

/etc にグローバルな設定ファイルはありませんが、~/.festivalrc ファイルや /usr/share/festival/festival.scm を直接編集することで festival の設定を行えます。どちらも scheme のファイルであり、scheme の構文に従って記述されていて、festival が実行されるたびに実行されています。

サウンドサーバーを使う

PulseAudio の場合、以下の行を ~/.festivalrc ファイルか /usr/share/festival/festival.scm の最後に追加してください:

(Parameter.set 'Audio_Required_Format 'aiff)
(Parameter.set 'Audio_Method 'Audio_Command)
(Parameter.set 'Audio_Command "paplay $FILE --client-name=Festival --stream-name=Speech")

ALSA の場合、以下の行を使ってください (ソース):

(Parameter.set 'Audio_Method 'Audio_Command)
(Parameter.set 'Audio_Command "aplay -q -c 1 -t raw -f s16 -r $SR $FILE")

音声

Arch は公式の音声セットを festival-englishfestival-us に分けています。The AUR にも音声パッケージはありますが、メンテナンスの状態によって動作したりしなかったりします。

インストールしている音声とデフォルトの音声を確認するには、Festival のシェルを開いてください (scheme REPL):

   $ 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
   clustergen_engine: Copyright (C) CMU 2005-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_default 
   voice_cmu_us_slt_arctic_hts          ;;<-- THIS IS THE VOICE FESTIVAL SPEAKS WITH
   festival> default-voice-priority-list 
   (kal_diphone                         ;;<-- THIS IS THE HARD-CODED LIST OF VOICES FESTIVAL CAME PRE-AWARE OF
    cmu_us_bdl_arctic_hts
    cmu_us_jmk_arctic_hts
    cmu_us_slt_arctic_hts
    cmu_us_awb_arctic_hts
    ked_diphone
    don_diphone
    rab_diphone
    en1_mbrola
    us1_mbrola
    us2_mbrola
    us3_mbrola
    gsw_diphone
    el_diphone)
   
   festival> (voice_                    ;;<-- PRESS TAB HERE TO SEE WHAT VOICES FESTIVAL HAS AVAILABLE
   voice_cmu_us_slt_arctic_hts     voice_kal_diphone               voice_nitech_us_slt_arctic_hts  voice_reset
   voice_default                   voice_nitech_us_clb_arctic_hts  voice_rab_diphone
   festival> (voice_cmu_us_slt_arctic_hts) 
   cmu_us_slt_arctic_hts
   festival> (SayText "Arch makes me happy")
   #<Utterance 0x7fb5b8c423b0>
   festival> 

デフォルトの音声を永続的に変更したい場合は以下のような行を ~/.festivalrc の最後に追加します:

(set! voice_default voice_cmu_us_slt_arctic_hts)

festival.scm で音声を設定することはできません。グローバルに音声を設定したいときは、/usr/share/festival/voices.scm で検索する音声の順番を設定してください。

HTS 対応パッチ

Festival のフリー音源としては HTS ボイスが一番だと言われていますが Festival >2.1 ではパッチを適用しないと使うことができません。

AUR からパッチがあたっているバージョンをインストールできます: festival-patched-htsAURfestival-hts-voices-patchedAUR

音声を手動でインストール

festvox.org から直接音声を入手できます。Festival チームによって作成された "festvox_*.tgz" という名前のファイルをダウンロードすることができ、それぞれ別の音声が含まれています。手動で解凍して適切な場所にフォルダを移動する必要があります。最新の Arch では /usr/share/festival/voices/english/ に移動してください。festvox/ サブフォルダに設定する方法が書いてあります。

festival のプロンプトをロードしなおすことで新しいボイスをテストできます。

使用方法

ファイルを入力または出力として使用する

テキストファイルを読み上げる:

$ festival --tts text_file

カーソルで強調表示した選択内容を読み取るには:

$ xsel | festival --tts

テキストファイルを mp3 オーディオに変換します:

$ text2wave text_file | lame - text.mp3

選択した音声でオーディオを録音します:

$ text2wave -o output.wav -eval '(voice_german_de2_os)' text_file

インタラクティブモード (音声のテストなど)

Festival には、テストに使用できる対話型プロンプトがあります。festival と入力して入力します。以下にいくつかの例を示します。

festival 音声を表示するには:

voice_default 

利用可能な音声を確認:

(voice.list)

別の音声を選択するには、(voice_name) と入力します。例えば:

(voice_cmu_us_rms_cg)

発声:

(SayText "Arch makes me happy")

使用可能なコマンドをリストするには:

help

シェルを終了するには:

(quit)

トラブルシューティング

Can't open /dev/dsp

festival が以下のエラーメッセージを返す場合:

Linux: can't open /dev/dsp

上の #サウンドサーバーを使う を見て下さい。

Alsa の再生速度がおかしい

上の音声でキーキー音が出てしまう場合、aplay のオプションを変更してみてください:

(Parameter.set 'Audio_Method 'Audio_Command)
(Parameter.set 'Audio_Command "aplay -Dplug:default -f S16_LE -r $SR $FILE")

aplay Command not found

alsa-utils をインストールしてください。

festival のプロセスを終了しても音声が停止しない

バックグラウンドの festival プロセスを強制終了しても、オーディオの再生は停止しません。

オーディオの再生を停止するには、子プロセス audsp を強制終了する必要があります。これは、以下を実行することで実行できます。

$ pkill -v audsp

サーバー

festival-freebsoft-utilsAUR をインストールして、Festival を Speech dispatcher (つまり、Firefox のリーダーモードのリッスン機能) で使用します。

参照