私はプレーンテキストファイルのいくつかのテキストを話すために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?
強調し、より高いトーンで読み取られます。