espeakで使用される特定の単語を強調する方法は?

espeakで使用される特定の単語を強調する方法は?

私はプレーンテキストファイルのいくつかのテキストを話すためにspeakを使用しています。ただし、ファイル内の一部の単語はアスタリスク(「*green* beansを意味しましたか?」)で強調されており、espeakはその単語を文字通り読みます(「アスタリスクは緑色のアスタリスクを意味しましたか?」)。

Espeakがハイライトを正しく読むためには、アスタリスクを何に置き換える必要がありますか?

答え1

Espeakは、プレーンテキストファイルの途中に配置できる音声合成マークアップ言語(SSML)をサポートしています。みんな正しいSSML)。探しているタグは次のとおりです<emphasis level="...">。その他の可能なタグは次のとおりです。http://espeak.sourceforge.net/ssml.html

Espeakはデフォルトではそれを使用しないため、このフラグを渡す必要があります-m。たとえば、次のように使用できます。espeak -m -f your_file.txt

文書は非常に簡潔であるため、可能な値などの項目を見つけるためにソースコードを詳しく調べる必要があるかもしれません。 (より良い文書を作成したいのですが、9歳の文書があります。マージされていないパッチそしてソースリポジトリ利用できないため、プロジェクトが完全に終了したようです。 )フォーカスタグ(およびその他のタグ)の可能な値を見つけるにはGithubから。彼らは:

  • まったく
  • 減らす
  • 簡単
  • 強い
  • 強い×

たとえば、引用Did you mean the <emphasis level="strong">green</emphasis> beans?符なしでは機能しません(<emphasis level=strong>HTMLでは機能しますが、SSML / espeakでは引用符なしでは機能しません)。

あるいは、 espeak はフラグを使用して、すべて大文字の単語を別々に読み取ることもできます-k。コマンドを使用すると、espeak -k20 -f your_file.txt「すべて大文字」の単語の高さが変更されることがわかります。これら2つのオプションは混在していないため、ストレスを受けることはできません。そしてピッチを変更するには、これら2つのオプションを使用します。

ただし、SSMLではこれを混在させることができます。言い換えれば、Did you mean the <emphasis level="strong"><prosody pitch="75">green</prosody></emphasis> beans?強調し、より高いトーンで読み取られます。

関連情報