「Festival」の版間の差分
Kusakata.bot (トーク | 投稿記録) 細 (文字列「Category:音声/動画」を「Category:マルチメディア」に置換) |
(他言語へのリンクを追加) |
||
(2人の利用者による、間の9版が非表示) | |||
2行目: | 2行目: | ||
[[Category:マルチメディア]] |
[[Category:マルチメディア]] |
||
[[en:Festival]] |
[[en:Festival]] |
||
+ | [[pt:Festival]] |
||
[[ru:Festival]] |
[[ru:Festival]] |
||
[http://www.cstr.ed.ac.uk/projects/festival/ Festival] は CSTR ([http://www.cstr.ed.ac.uk/ Centre for Speech Technology Research]) で開発された汎用の多言語音声合成システムです。 |
[http://www.cstr.ed.ac.uk/projects/festival/ Festival] は CSTR ([http://www.cstr.ed.ac.uk/ Centre for Speech Technology Research]) で開発された汎用の多言語音声合成システムです。 |
||
− | Festival には音声合成システムを作成するための汎用フレームワークと様々なモジュールのサンプルが入っています。それらをまとめて、Festival は API を通して完全なテキスト読み上げを提供します: シェルや、Scheme コマンドラインインタプリタ、C++ ライブラリ、Java、Emacs インターフェイスなどから使うことが可能です。Festival は多言語に対応しています |
+ | Festival には音声合成システムを作成するための汎用フレームワークと様々なモジュールのサンプルが入っています。それらをまとめて、Festival は API を通して完全なテキスト読み上げを提供します: シェルや、Scheme コマンドラインインタプリタ、C++ ライブラリ、Java、Emacs インターフェイスなどから使うことが可能です。Festival は多言語に対応しています。(現在はイギリス英語、アメリカ英語、イタリア語、チェコ語、スペイン語ですが、プロトタイプでは他の言語も利用可能です) |
== インストール == |
== インストール == |
||
− | [[公式リポジトリ]]から {{Pkg|festival}} を[[pacman|インストール]]してください |
+ | [[公式リポジトリ]] から {{Pkg|festival}} を [[pacman|インストール]] してください。 |
+ | * {{Pkg|festival-english}} イギリスとアメリカの英語を話す男性の声を提供します。 |
||
+ | * {{Pkg|festival-us}} アメリカ人男性/女性とスコットランド人英語男性の声を提供します。 |
||
+ | さらに多くの声が利用可能です [https://aur.archlinux.org/packages/?SeB=n&K=festival- AUR] |
||
− | festival のテスト: |
||
+ | === ドイツ語の IMS === |
||
− | $ echo "This is an example. Arch is the best." | festival --tts |
||
+ | シュトゥットガルト大学 [https://www.ims.uni-stuttgart.de IMS] は、ドイツ語向けに Festival の拡張機能を開発しました ([https://www.ims.uni-stuttgart.de/institut/arbeitsgruppen/phonetik/synthesis/festival_opensource.html ここをクリック]) {{AUR|mbrola}} のドイツ語音声を使用します。これを使用するには、IMS Stuttgart パッチを含む {{AUR|festival-ims}} をインストールします。これにより、ドイツ語の音声 ''de1'' から ''de4'' のサポートが追加されます。少なくとも 1 つの音声 (オプションの依存関係としてリストされています) をインストールします (例: {{AUR|mbrola-voices-de2}}) |
||
− | サンプルテキストを聞くことができたら、TTS システムのインストールは完了です。 |
||
− | |||
− | 何も聞こえない場合、[[#トラブルシューティング|トラブルシューティング]]セクションを見て下さい。デスクトップシステムを使っていて、{{ic|/dev/dsp}} に関するメッセージが表示される場合、指示に従ってください。 |
||
== 設定 == |
== 設定 == |
||
30行目: | 31行目: | ||
(Parameter.set 'Audio_Command "paplay $FILE --client-name=Festival --stream-name=Speech") |
(Parameter.set 'Audio_Command "paplay $FILE --client-name=Festival --stream-name=Speech") |
||
− | ALSA の場合、以下の行を使ってください ([ |
+ | ALSA の場合、以下の行を使ってください ([https://ubuntuforums.org/showpost.php?p=4058268&postcount=16 ソース]): |
(Parameter.set 'Audio_Method 'Audio_Command) |
(Parameter.set 'Audio_Method 'Audio_Command) |
||
(Parameter.set 'Audio_Command "aplay -q -c 1 -t raw -f s16 -r $SR $FILE") |
(Parameter.set 'Audio_Command "aplay -q -c 1 -t raw -f s16 -r $SR $FILE") |
||
36行目: | 37行目: | ||
=== 音声 === |
=== 音声 === |
||
− | Arch は公式 |
+ | Arch は、公式音声のセットを {{Pkg|festival-us}} (推奨) と {{Pkg|festival-english}} に分割します。 [https://aur.archlinux.org/packages/?K=festival AUR] には、現在動作している場合と、動作していない、さまざまなメンテナンス状態にあるものがいくつかあります。 |
− | インストール |
+ | 現在インストールされている音声とデフォルトを確認するには、まず Festival の [[Festival#インタラクティブモード (音声のテストなど)|インタラクティブ]] シェル (REPL スキーム) に入ります。デフォルトの音声を永続的に変更するには、次のように設定に追加します。 |
+ | (set! voice_default voice_cmu_us_rms_cg) |
||
− | $ 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 |
||
+ | すべてのユーザーに適用するには、{{ic|/usr/share/festival/siteinit.scm}} に追加します。 |
||
− | (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> |
||
+ | ==== 音声を手動でインストール ==== |
||
− | デフォルトの音声を永続的に変更したい場合は以下のような行を {{ic|~/.festivalrc}} の最後に追加します: |
||
− | (set! voice_default voice_cmu_us_slt_arctic_hts) |
||
− | festival.scm で音声を設定することはできません。グローバルに音声を設定したいときは、{{ic|/usr/share/festival/voices.scm}} で検索する音声の順番を設定してください。 |
||
+ | Festvox [http://festvox.org/festival/downloads.html] [http://festvox.org/packed/festival/2.5/voices/] から直接音声を取得することもできます。音声が含まれるフォルダーを展開して {{ic|/usr/share/festival/voices/}} に移動する必要があります。音声が含まれるフォルダーを確認する方法は、{{ic|festvox/}その中のサブフォルダーを探して下さい。その後、Festival プロンプトをロードして、新しい音声が見つかるかどうかをテストできます。 |
||
− | ==== HTS 対応パッチ ==== |
||
+ | == 使用方法 == |
||
− | Festival のフリー音源としては HTS ボイスが一番だと言われていますが Festival >2.1 ではパッチを適用しないと使うことができません。 |
||
+ | === ファイルを入力または出力として使用する === |
||
− | [[AUR]] からパッチがあたっているバージョンをインストールできます: {{AUR|festival-patched-hts}} と {{AUR|festival-hts-voices-patched}}。 |
||
+ | テキストファイルを読み上げる: |
||
− | ==== 音声を手動でインストール ==== |
||
+ | $ festival --tts ''text_file'' |
||
− | [http://festvox.org/festival/downloads.html festvox.org] から直接音声を入手できます。Festival チームによって作成された "festvox_*.tgz" という名前のファイルをダウンロードすることができ、それぞれ別の音声が含まれています。手動で解凍して適切な場所にフォルダを移動する必要があります。最新の Arch では {{ic|/usr/share/festival/voices/english/}} に移動してください。{{ic|festvox/}} サブフォルダに設定する方法が書いてあります。 |
||
+ | カーソルで強調表示した選択内容を読み取るには: |
||
− | festival のプロンプトをロードしなおすことで新しいボイスをテストできます。 |
||
+ | $ xsel | festival --tts |
||
− | == 使用方法 == |
||
− | テキストファイルを |
+ | テキストファイルを mp3 オーディオに変換します: |
− | $ festival --tts /path/to/letter.txt |
||
+ | $ text2wave ''text_file'' | lame - ''text''.mp3 |
||
− | パイプを使用する場合: |
||
− | $ (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 |
||
+ | $ text2wave -o ''output''.wav -eval '(voice_german_de2_os)' ''text_file'' |
||
=== インタラクティブモード (音声のテストなど) === |
=== インタラクティブモード (音声のテストなど) === |
||
− | + | 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") |
||
− | === サンプルスクリプト === |
||
+ | 使用可能なコマンドをリストするには: |
||
− | 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 |
||
+ | help |
||
− | Note that this does not really work on multisynth voices, as they take a while to prepare before playing. |
||
+ | |||
+ | シェルを終了するには: |
||
+ | |||
+ | (quit) |
||
== トラブルシューティング == |
== トラブルシューティング == |
||
163行目: | 115行目: | ||
{{Pkg|alsa-utils}} をインストールしてください。 |
{{Pkg|alsa-utils}} をインストールしてください。 |
||
+ | |||
+ | === festival のプロセスを終了しても音声が停止しない === |
||
+ | |||
+ | バックグラウンドの festival プロセスを強制終了しても、オーディオの再生は停止しません。 |
||
+ | |||
+ | オーディオの再生を停止するには、子プロセス {{ic|audsp}} を強制終了する必要があります。これは、以下を実行することで実行できます。 |
||
+ | |||
+ | $ pkill -v audsp |
||
+ | |||
+ | === サーバー === |
||
+ | |||
+ | {{AUR|festival-freebsoft-utils}} をインストールして、Festival を [[Speech dispatcher]] (つまり、Firefox のリーダーモードのリッスン機能) で使用します。 |
||
== 参照 == |
== 参照 == |
2023年8月16日 (水) 22:54時点における最新版
Festival は CSTR (Centre for Speech Technology Research) で開発された汎用の多言語音声合成システムです。
Festival には音声合成システムを作成するための汎用フレームワークと様々なモジュールのサンプルが入っています。それらをまとめて、Festival は API を通して完全なテキスト読み上げを提供します: シェルや、Scheme コマンドラインインタプリタ、C++ ライブラリ、Java、Emacs インターフェイスなどから使うことが可能です。Festival は多言語に対応しています。(現在はイギリス英語、アメリカ英語、イタリア語、チェコ語、スペイン語ですが、プロトタイプでは他の言語も利用可能です)
目次
インストール
公式リポジトリ から festival を インストール してください。
- festival-english イギリスとアメリカの英語を話す男性の声を提供します。
- festival-us アメリカ人男性/女性とスコットランド人英語男性の声を提供します。
さらに多くの声が利用可能です AUR
ドイツ語の IMS
シュトゥットガルト大学 IMS は、ドイツ語向けに Festival の拡張機能を開発しました (ここをクリック) mbrolaAUR のドイツ語音声を使用します。これを使用するには、IMS Stuttgart パッチを含む festival-imsAUR をインストールします。これにより、ドイツ語の音声 de1 から de4 のサポートが追加されます。少なくとも 1 つの音声 (オプションの依存関係としてリストされています) をインストールします (例: mbrola-voices-de2AUR)
設定
/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-us (推奨) と festival-english に分割します。 AUR には、現在動作している場合と、動作していない、さまざまなメンテナンス状態にあるものがいくつかあります。
現在インストールされている音声とデフォルトを確認するには、まず Festival の インタラクティブ シェル (REPL スキーム) に入ります。デフォルトの音声を永続的に変更するには、次のように設定に追加します。
(set! voice_default voice_cmu_us_rms_cg)
すべてのユーザーに適用するには、/usr/share/festival/siteinit.scm
に追加します。
音声を手動でインストール
Festvox [1] [2] から直接音声を取得することもできます。音声が含まれるフォルダーを展開して /usr/share/festival/voices/
に移動する必要があります。音声が含まれるフォルダーを確認する方法は、{{ic|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 のリーダーモードのリッスン機能) で使用します。