Festival

提供: ArchWiki
2023年8月16日 (水) 22:54時点におけるKgx (トーク | 投稿記録)による版 (他言語へのリンクを追加)
(差分) ← 古い版 | 最新版 (差分) | 新しい版 → (差分)
ナビゲーションに移動 検索に移動

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 のリーダーモードのリッスン機能) で使用します。

参照