ブラウザ呼び出しコマンドのオプションを設定するには?

ブラウザ呼び出しコマンドのオプションを設定するには?

現在いつ音声合成マークアップ言語text(SSML)がプロパティに設定されました。SpeechSynthesisUtteranceインスタンスは次の場所にあります。クロムまたはFirefoxブラウザWebブラウザでは、オーディオ出力に示すように、SSMLは* nixで解析されません。speechSynthesis.speak()呼ぶ

ブラウザのソースコードを見るspeech-dispatcher.speak()次のいずれかによって発生したようですspd-sayespeak、そうするように設定されている場合に呼び出すことができますspeech-dispatcher

spd-sayxオプションがあります

-x, --ssml          Set SSML mode on (default: off)

espeakmオプションがあります

-m     Interpret SSML markup, and ignore other < > tags

speech-dispatcher使用のために作成されたユーザープロファイル

spd-conf -u

このマニュアルには、ユーザープロファイルを使用して特定のクライアントのパラメータを設定できることが記載されています。

4.1.6 パラメータ設定コマンド

次のパラメータ設定コマンドを使用できます。構成および履歴クライアントの場合、特定の他の接続およびすべての接続の値を設定する機能もあります。以下にリストされています。

C API機能:int spd_set_data_mode(SPDConnection *connection, SPDDataMode mode)音声ディスパッチャデータモードを設定します。現在、プレーンテキストとSSMLがサポートされています。 SSMLは、インデックス表示を使用したり、テキストの音声パラメータに対する変更を含めたい場合に特に便利です。

modeは要求されたデータモードです。SPD_DATA_TEXTまたはSPD_DATA_SSML

質問

  1. 呼び出し時にクライアントChromiumブラウザとFirefoxブラウザの-xforコマンドとforコマンドのいずれかまたは両方spd-sayのデフォルトオプションを設定するにはどうすればよいですか?-mespeak~/.config/speech-dispatcher/speechd.conf.speak()

  2. ソースコードを調整する方法クロムそしてFirefoxブラウザブラウザは、?に渡されたプロパティで設定されたテキスト設定または-xオプションをデフォルトとして使用します。-mSpeechSpeechSynthesisUtterance textwindow.speechSynthesis.speak()

答え1

一般的に動作する別のアプローチは、バイナリの名前を変更し、名前が変更されたバイナリを呼び出し、必要なオプションを含む元の名前でラッパースクリプトを作成することです。 Hackyですが、おそらくもっと簡単です。 (シェルプログラミングに慣れていない場合は確認してください$*)。

別のハッキングは、ブラウザのバイナリのバイナリ呼び出し名をラッパースクリプトの名前に変更することです。これにより、標準名を維持できます。

欠点は、ブラウザを更新するときにこのタスクを再実行する必要があることです。ただし、次のスクリプトを使用してgrep作成できます。dd

grep -FobUa 'spd-say' browser_binary
echo -n 'spd-wrp' | dd bs=1 of=browser_binary seek=12345 conv=notrunc

spd-wrpラッパースクリプトの名前はどこにあり、12345grepがそれを見つけた場所はどこにありますか?バイナリに応じて変形などを複数回使用してください。

関連情報