web-dev-qa-db-ja.com

UbuntuでFirefox Reader View(ナレーター)が使用する音声を変更するにはどうすればよいですか?

**how to change firefox reader view voice in ubuntu**

デフォルトの音声とすべての代替音声を理解するのは非常に困難です。

この機能の接続方法に関するドキュメントは見つかりません。

10
VJ Ranga

Firefoxのデフォルトとしてfestival音声を使用することができました。

enter image description here

そのためには、ファイル/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-sayespeak音声を出力として使用しているためです。また、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つの変更を行う必要があります。

  1. AddModule "festival" "sd_festival" "festival.conf"のコメントを解除します
  2. DefaultModule festivalを追加します

speech-dispatcherをデフォルトとして使用するために、festivalをサーバーとして実行する必要があります。これを行うには、コマンドcrontab -eを使用するときに開いているファイルの最後に次の行を追加します。

@reboot /usr/bin/festival --server

これで完了です!! 再起動後システムFirefoxおよびspd-sayは、出力としてfestival音声を使用します。


追加情報

新しい音声をFirefoxで機能させる手順は常に同じだと思います。

  1. インストールした新しいTTS音声のモジュールのコメントを解除します(/etc/speech-dispatcher/speechd.conf)。

  2. 必要なTTS音声の新しいデフォルト行を設定します(/etc/speech-dispatcher/speechd.conf)。

  3. /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を実行することも可能であることを意味しますFirefoxreader view modeを使用します。私は今それをどうやってやるかわからないが、興味深い可能性のように見える。

8
Rafael Muynarsk

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ダイアログから利用できます。

enter image description here

about:configspeechd.confの両方で異なる設定でかなり実験しましたが、Ubuntuに付属するデフォルト以外は何も動作しませんでした。私が感じるのは、Firefoxと音声ディスパッチャーの間のインターフェースはあまり安定していないということですが、もしかしたらもっとラッキーな実験をしているかもしれません。

この男: https://bbs.archlinux.org/viewtopic.php?id=217411 は、出力としてfestivalを使用するようにArchlinuxを設定することでより成功したようです。 Ubuntu 18.04でこれを再現しようとしましたが、Firefoxを実行できませんでした。

6
Sebastian Stark

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

Firefoxを再起動します

次に、リーダービューモードに移動して試してください。

0
Édouard Lopez