「Festival」の版間の差分

提供: ArchWiki
ナビゲーションに移動 検索に移動
(文字列「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-english}} や {{Pkg|festival-us}} などの音声パッケージも必要です。様々な言語が公式リポジトリや [[AUR]] からインストールできます
+
[[公式リポジトリ]] から {{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 の場合、以下の行を使ってください ([http://ubuntuforums.org/showpost.php?p=4058268&postcount=16 ソース]):
+
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 は公式音声セットを {{Pkg|festival-english}} と {{Pkg|festival-us}} に分けています。[https://aur.archlinux.org/packages/?K=festival The AUR] にも音声パッケージありますが、メンテナンス状態によって動作したりしなったます。
+
Arch は公式音声セットを {{Pkg|festival-us}} (推奨) と {{Pkg|festival-english}} に分割します。 [https://aur.archlinux.org/packages/?K=festival AUR] には、現在動作している場合と、動作していない、さまざまなメンテナンス状態にあるものがいくつります。
 
 
インストールている音声とデフォルトの音声を確認するには、Festival のシェルを開いてください (scheme REPL):
+
現在インストールされている音声とデフォルトを確認するには、まず 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 にはテスト用対話プロンプトがあります。例:
+
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 のリーダーモードのリッスン機能) で使用します。

参照