Firefoxのデフォルトとしてfestival
音声を使用することができました。
そのためには、ファイル/etc/speech-dispatcher/speechd.conf
の構成を変更する必要があります。しかし、最初に、それがどのように機能するかの基本的な考え方を説明する必要があります。コマンドspeech-dispatcher
を使用すると、spd-say
が使用するデフォルトの音声が常に表示されます。
spd-say "Hello. How are you?"
Ubuntu
では、speech-dispatcher
に付属するデフォルトのTexto To Speech(TTS)音声は espeak です。したがって、この他のコマンドを使用すると、まったく同じ音声が聞こえます。
espeak "Hello. How are you?"
これは、spd-say
がespeak
音声を出力として使用しているためです。また、Firefoxも同じことを行います。speech-dispatcher
で設定されている音声をリーダービューモード(Ctrl+Alt+R
)で出力するための出力として使用します。
したがって、ここで行う必要があるのは、spd-say
コマンドの出力として来る音声を変更することです。そして、それを行うと、Firefoxはデフォルトとして別のTTS voice
も使用します。 festival
音声で動作させるプロセスを説明しますが、別のTTS voice
を実行する場合の手順は同じだと思います。まず、インストールする必要があります festival :
Sudo apt-get install festival
次のように入力して、コマンドラインで音声をテストできます。
echo "Hello. How are you?" | festival --tts
ここで、ファイルspeechd.conf
を変更する必要があります。そのため、端末でSudo vi /etc/speech-dispatcher/speechd.conf
と入力すると、205行目付近に次のコメント付き設定が表示されます。
#AddModule "espeak" "sd_espeak" "espeak.conf"
AddModule "festival" "sd_festival" "festival.conf"
#AddModule "flite" "sd_flite" "flite.conf"
#AddModule "ivona" "sd_ivona" "ivona.conf"
#AddModule "pico" "sd_pico" "pico.conf"
#AddModule "espeak-generic" "sd_generic" "espeak-generic.conf"
#AddModule "espeak-mbrola-generic" "sd_generic" "espeak-mbrola-generic.conf"
#AddModule "Swift-generic" "sd_generic" "Swift-generic.conf"
#AddModule "epos-generic" "sd_generic" "epos-generic.conf"
#AddModule "dtk-generic" "sd_generic" "dtk-generic.conf"
#AddModule "pico-generic" "sd_generic" "pico-generic.conf"
#AddModule "ibmtts" "sd_ibmtts" "ibmtts.conf"
#AddModule "cicero" "sd_cicero" "cicero.conf"
# DO NOT REMOVE the following line unless you have
# a specific reason -- this is the fallback output module
# that is only used when no other modules are in use
#AddModule "dummy" "sd_dummy" ""
# The output module testing doesn't actually connect to anything. It
# outputs the requested commands to standard output and reads
# responses from stdandard input. This way, Speech Dispatcher's
# communication with output modules can be tested easily.
# AddModule "testing"
# The DefaultModule selects which output module is the default. You
# must use one of the names of the modules loaded with AddModule.
#DefaultModule espeak
DefaultModule festival
ここで2つの変更を行う必要があります。
AddModule "festival" "sd_festival" "festival.conf"
のコメントを解除しますDefaultModule festival
を追加しますspeech-dispatcher
をデフォルトとして使用するために、festival
をサーバーとして実行する必要があります。これを行うには、コマンドcrontab -e
を使用するときに開いているファイルの最後に次の行を追加します。
@reboot /usr/bin/festival --server
これで完了です!! 再起動後システムFirefoxおよびspd-say
は、出力としてfestival
音声を使用します。
新しい音声をFirefox
で機能させる手順は常に同じだと思います。
インストールした新しいTTS音声のモジュールのコメントを解除します(/etc/speech-dispatcher/speechd.conf
)。
必要なTTS音声の新しいデフォルト行を設定します(/etc/speech-dispatcher/speechd.conf
)。
/etc/speech-dispatcher/modules/
フォルダー内のファイルで指定されたポートでサーバーを実行します。
私の注意を喚起したのは、 Ivona 音声用のモジュールがあることですIvonaはプロプライエタリな製品であり、今日では(私の知る限り)唯一の使用方法はpay-as-you-goサービス on AWS
ですが、その声は本当に良いし、とても自然に聞こえます。
ファイル/etc/speech-dispatcher/modules/ivona.conf
は、ポート9123でサーバーをリッスンするように構成されています。おそらく、AWS APIs
を使用してIvonaの音声を取得するローカルサーバーを実行する方法があると思います(よくわからないが、おそらく this 既に開発されたNode.jsアプリ)...そしてそれが可能であれば、システムのデフォルトの音声としてbuntuでIvonaを実行することも可能であることを意味しますFirefoxでreader view mode
を使用します。私は今それをどうやってやるかわからないが、興味深い可能性のように見える。
Firefoxリーダーモードのナレーション機能で使用される音声は、実行するプラットフォームによって異なります。 Linuxでは、firefoxはspeech-dispatcher
を使用してテキストを人工音声にレンダリングします。
そのため、スピーチディスパッチャーの設定(/etc/speech-dispatcher/speechd.conf
)で設定したものはすべて、Firefoxで取得して使用する必要があります。 speech-dispatcherにはさまざまなエンジンと音声がありますが、その一部はUbuntuパッケージを介してインストールできます。 g。 speech-dispatcher-espeak-ng
またはspeech-dispatcher-festival
。
FirefoxリーダーGUIから音声/言語を選択するためのサポートは限定されていますが、ほとんどの設定はOS側で行う必要があります。これはLinuxではspeechd.conf
です。
「ナレーション」を検索する場合、いくつかの設定はabout:config
ダイアログから利用できます。
about:config
とspeechd.conf
の両方で異なる設定でかなり実験しましたが、Ubuntuに付属するデフォルト以外は何も動作しませんでした。私が感じるのは、Firefoxと音声ディスパッチャーの間のインターフェースはあまり安定していないということですが、もしかしたらもっとラッキーな実験をしているかもしれません。
この男: https://bbs.archlinux.org/viewtopic.php?id=217411 は、出力としてfestivalを使用するようにArchlinuxを設定することでより成功したようです。 Ubuntu 18.04でこれを再現しようとしましたが、Firefoxを実行できませんでした。
Rafael Muynarsk に感謝します。これが私がしたことです
apt install festival speech-dispatcher-festival festvox-{rablpc16k,kallpc16k,kdlpc16k} sox
festvox-{rablpc16k,kallpc16k,kdlpc16k}
は英語の音声言語ですsox
、それがなければ、読むテキストの一部のみSudo vim /etc/speech-dispatcher/speechd.conf
espeak
関連の構成を無効にし、festival
oneを有効にします
#AddModule "espeak-ng" "sd_espeak-ng" "espeak-ng.conf"
AddModule "festival" "sd_festival" "festival.conf"
#DefaultModule espeak-ng
DefaultModule festival
festival
サーバーを起動しますそれがなければ、私はいくつかのシンセだけを得ました。
/usr/bin/festival --server
次に、リーダービューモードに移動して試してください。