/usr/lib/festival/lib/voices.scm に1行追加します:
[ 訳注: RedHat 6.1 用の RPM では /usr/lib/festival/ を /usr/share/festival/ と読み替える ]
(defvar default-voice-priority-list '(rab_mbrola ; <= この行を追加 rab_diphone ; (もちろん ked_diphone ; セミコロンはいりません)
さてできました。これで Festival は最初に MBROLA を使おうとします。
このように festival を走らせると、設定をテストできます:
bash$ festival festival> (SayText "Type any text here. Sounds cool?") festival> (quit)
いろいろなファイル形式、たとえば HTML をもっと「読みやす く」するために、ファイルを前処理するように Festival を設定できます。 どのように設定するかは /usr/doc/festdoc-1.2.0/festival/festival.info にある festival のドキュ メントを見てください。 "Text modes" のセクションに書いてあります。
自分では、代わりにテキストを前処理する、古き良き sed スクリプトを書く ことしました。
ファイルを指定して festival をテキスト読み上げモードで走らせることができ ます:
festival --tts <filename>
またはストリームを処理することもできます:
lynx -dump <URL> | tee /tmp/x | festival --tts & sleep 1; less /tmp/x
もしこれで満足できて、役にたっているなら、ここでやめてかまいません。 が、ちょっと工夫した使い方があるので興味があれば先へどうぞ :)
このセクションでは、ピッチや話す速さの調節をどうやって決め、 選択するか述べます。
音声「スタイル」を扱うのに必要な構文生成を定義するために、 付録 A.1 のテキストを /usr/lib/festival/lib/siteinit.scm という名前の 新規ファイルに保存してください。システム全般のスタイルを定義するために、 付録 A.2 を /etc/festival.conf に保存してください。
次に、以下の1行を /usr/lib/festival/lib/init.scm の終わりの方に挿 入します:
;;; Default voice (have to do something cute ;;; so autoloads still work) (eval (list voice_default)) (Style style_default) ; <= この行を追加 (provide 'init)
このように $HOME/.festivalrc に追加すると、デフォルト以外にユーザー 定義の「スタイル」も指定できます:
;; ユーザー定義スタイル (NewStyle 'my_slow 100 24 1.0) ; ゆっくりしたバリトンの声 (NewStyle 'my_fast 140 50 0.8) ; 速いテナーの声 (set! style_default 'my_slow) ; デフォルトのスタイル
最初の数字はピッチ(Hz)を意味します。 2番目の数字はピッチの標準偏差(それとも分散?)で、 3番目の数字はスケール要素で、小さい数字ほど速くなります。
festival をスクリプトからバッチモードで使っている場合、現在の「スタイル」 をスクリプトの中でこんなふうに変えることができます:
(Style 'male_faster)
たとえば付録 A.3 のスクリプトを見てください。 このスクリプトは festival のテキスト読み上げのコマンドライン・インター フェイスに、スタイルを選択するサポートを追加します。 もしこれを変更してほかの機能を追加したら、ぜひ私に教えてください!
人によっては、MP3 をサウンド・ハードウェアで聴きながら同時に festival が 使えるように NCD のネットワーク音響システム(NAS)を使うことを選ぶでしょ う。
そのためには、以下の行を /etc/festival.conf に挿入してください:
;;; =================== ;;; Audio Output Method ;;; =================== (Parameter.set 'Audio_Method 'Audio_Command) (Parameter.set 'Audio_Required_Rate 16000) (Parameter.set 'Audio_Required_Format 'snd) (Parameter.set 'Audio_Command "/usr/X11R6/bin/auplay -volume 100 $FILE")
対話的な設定を使い、ウェッブ・ページを lynx に読み上げさせて いるような場合(lynx.cfg の中で指定できます)は、ガーベージ コレクショ ン メッセージの音を消すと便利です。
ガーベージ コレクション メッセージの音を消すには、/etc/festival.conf か $USER/.festivalrc のどちらかに以下の行を追加します:
(gc-status nil)
もし festival を動かすときに問題がおきたり、この mini-HOWTO に何か貢 献できることがあれば、この文書の著者に接触してもかまいません:
Rhandeev Singh http://www.comp.nus.edu.sg/~rhandeev Linux User Group http://linux.comp.nus.edu.sg National University of Singapore