Amazon Polly
開発者ガイド

サポートされている SSML タグ

Amazon Polly は、次の SSML タグをサポートしています。

アクション

SSML タグ

ニューラル音声の可用性

一時停止の追加

<break>

完全に利用可能

単語を強調する

<emphasis>

利用不可

特定の単語に別の言語を指定する

<lang>

完全に利用可能

テキストにカスタムタグを配置する

<mark>

完全に利用可能

段落間に一時停止を追加する

<p>

完全に利用可能

発音記号を使用する

<phoneme>

完全に利用可能

音量、話す速度、ピッチを制御する

<prosody>

Prosody ボリュームのみ

合成音声の最大時間を設定する

<prosody amazon:max-duration>

利用不可

文章間に一時停止を追加する

<s>

完全に利用可能

特殊なタイプの単語の発声方法を制御する

<say-as>

部分的に利用可能

SSML 拡張テキストの特定

<speak>

完全に利用可能

頭字語や略語の発音

<sub>

完全に利用可能

品詞を指定して発音を向上させる

<w>

完全に利用可能

呼吸音の追加

<amazon:auto-breaths>

利用不可

ニュースキャスターの話し方

<amazon:domain name=news>

ニューラル音声のみを選択

ダイナミックレンジ圧縮を追加する

<amazon:effect name="drc">

完全に利用可能

柔らかく発声する

<amazon:effect phonation="soft">

利用不可

声質の制御

<amazon:effect vocal-tract-length>

利用不可

ウィスパー

<amazon: effect name="whispered">

利用不可

サポートされていない SSML タグをニューラル形式または標準形式で使用すると、エラーが発生します。

SSML 拡張テキストの特定

<speak> タグは、すべての Amazon Polly SSML テキストのルート要素です。SSML 拡張テキストはすべて <speak> タグで囲まれている必要があります。

<speak>Mary had a little lamb.</speak>

このタグは、ニューラル形式と標準の TTS 形式の両方でサポートされています。

一時停止の追加

<break>

テキストに一時停止を追加するには、<break> タグを使用します。強度に応じて一時停止を設定することができます (カンマ、文章、段落後の一時停止と同等)。または、特定の時間 (秒またはミリ秒単位) に設定できます。一時停止の長さを指定する属性を指定しない場合、Amazon Polly はデフォルト値である <break strength="medium"> を使用します。この場合は、カンマの一時停止の長さが追加されます。

strength 属性値:

  • none: 一時停止しません。none は、ピリオドの後などに通常発生する一時停止を削除する場合に使用します。

  • x-weak: none と同じ強度であり、一時停止しません。

  • weak: カンマ後と同じ長さの一時停止を設定します。

  • medium: weak と同じ強度です。

  • strong: 文の後と同じ長さの一時停止を設定します。

  • x-strong: 段落後と同じ長さの一時停止を設定します。

time 属性値:

  • [number]s: 一時停止の継続時間 (秒)。最大期間は 10s です。

  • [number]ms: 一時停止の時間 (ミリ秒)。最大期間は 10000ms です。

以下に例を示します。

<speak> Mary had a little lamb <break time="3s"/>Whose fleece was white as snow. </speak>

break タグの属性を使用しない場合、結果はテキストによって異なります。

  • break タグの横に他に句読点がない場合は、<break strength="medium"> (カンマの長さの一時停止) が作成されます。

  • タグがカンマの横にある場合は、タグは <break strength="strong"> (文の長さの一時停止) にアップグレードされます。

  • タグがピリオドの横にある場合は、タグは <break strength="x-strong"> (段落の長さの一時停止) にアップグレードされます。

このタグは、ニューラル形式と標準の TTS 形式の両方でサポートされています。

単語を強調する

<emphasis>

単語を強調するには、<emphasis> タグを使用します。単語を強調すると、話す速度と音量が変わります。強調を大きくするほど、Amazon Polly はテキストを大きくゆっくり発声します。強調を小さくするほど、小さく速く発声します。強調の度合いを指定するには、level 属性を使用します。

level 属性値:

  • Strong: 音量が大きくなり、速度が低下するため、読み上げが大きくて遅くなります。

  • Moderate: 音量が大きくなり、速度が低下しますが、strong ほどではありません。Moderate がデフォルトです。

  • Reduced: 音量が小さくなり、速度が上がります。発声が柔らかくて速くなります。

注記

音声の通常の読み上げ速度およびボリュームは、moderate レベルから reduced レベルまでの間に収まります。

次に例を示します。

<speak> I already told you I <emphasis level="strong">really like</emphasis> that person. </speak>

このタグは現在、標準の TTS 形式でのみサポートされています。

特定の単語に別の言語を指定する

<lang>

<lang> タグを使用して、特定の単語、語句、または文に別の言語を指定します。<lang> タグ内に囲うと、一般的に外国語の語句の発声がよくなります。言語を指定するには、xml:lang 属性を使用します。使用可能な言語の完全なリストについては、「Amazon Polly でサポートされている言語」を参照してください。

<lang> タグを適用しない限り、入力テキストのすべての単語は、voice-id で指定された音声の言語で発声されます。<lang> タグを適用すると、その単語はその言語で発声されます。

たとえば、voice-id が Joanna (米国英語の話者) の場合、Amazon Polly は以下をフランス語のアクセントを使用せずに Joanna の音声で発声します。

<speak> Je ne parle pas français. </speak>

<lang> タグを使用して Joanna の音声を使用すると、Amazon Polly は文章をアメリカのアクセントがあるフランス語として発声します。

<speak> <lang xml:lang="fr-FR">Je ne parle pas français.</lang>. </speak>

Joanna はネイティブのフランス語音声ではないため、発音は、ネイティブである米国英語に基づきます。たとえば、français という単語の完ぺきなフランス語の発音では口蓋垂ふるえ音の /R/ ですが、Joanna の米国英語の発音では、この音素に対応する /r/ が使用されます。

イタリア語を話す Giorgio の voice-id を使用する場合、次のテキストでは、Amazon Polly は Giorgio の音声でイタリア語発音を使用して文を発声します。

<speak> Mi piace Bruce Springsteen. </speak>

同じ音声を以下の <lang> タグを使用して使用すると、Amazon Polly は Bruce Springsteen をイタリア語のアクセントがある英語で発音します。

<speak> Mi piace <lang xml:lang="en-US">Bruce Springsteen.</lang> </speak>

このタグは、音声を合成する際に、任意の DefaultLangCode オプションの代わりに使用することもできます。ただし、これを行うには、テキストを SSML を使用してフォーマットする必要があります。

このタグは、ニューラル形式と標準の TTS 形式の両方でサポートされています。

テキストにカスタムタグを配置する

<mark>

テキスト内にカスタムタグを配置するには、<mark> タグを使用します。Amazon Polly はタグに対してアクションを行いませんが、SSML メタデータ内でタグの位置を返します。このタグは、次の形式を保持している限り、任意に呼び出すことができます。

<mark name="tag_name"/>

たとえば、タグの名前が「animal」の場合、入力テキストは次のようになります。

<speak> Mary had a little <mark name="animal"/>lamb. </speak>

Amazon Polly により、次の SSML メタデータが返されます。

{"time":767,"type":"ssml","start":25,"end":46,"value":"animal"}

このタグは、ニューラル形式と標準の TTS 形式の両方でサポートされています。

段落間に一時停止を追加する

<p>

テキストの段落間に一時停止を追加するには、<p> タグを使用します。このタグを使用すると、通常ネイティブスピーカーがカンマや文章の終わりで一時停止するよりも長く一時停止できます。<p> タグを使用して段落を囲みます。

<speak> <p>This is the first paragraph. There should be a pause after this text is spoken.</p> <p>This is the second paragraph.</p> </speak>

これは <break strength="x-strong"/> を使用した一時停止の指定と同等です。

このタグは、ニューラル形式と標準の TTS 形式の両方でサポートされています。

発音記号を使用する

<phoneme>

Amazon Polly で特定のテキストに発音記号を使用するには、<phoneme> タグを使用します。

<phoneme> タグには、次の 2 つの属性が必要です。これらは、Amazon Polly が使用する音声記号と訂正された発音の発音記号を示します。

<phoneme> タグを使用すると、Amazon Polly は選択されたボイスが使用する言語にデフォルトで関連付けられた標準の発音ではなく、ph 属性で指定された発音を使用します。

たとえば、「pecan」という単語には、発音方法が 2 種類あります。次の例では、「pecan」という単語には、異なる発音が各行に割り当てられています。Amazon Polly は、デフォルトの発音ではなく、ph 属性で指定されたとおりに pecan を発音します。

国際音声記号 (IPA)

<speak> You say, <phoneme alphabet="ipa" ph="pɪˈkɑːn">pecan</phoneme>. I say, <phoneme alphabet="ipa" ph="ˈpi.kæn">pecan</phoneme>. </speak>

拡張 SAM 音声記号 (X-SAMPA)

<speak> You say, <phoneme alphabet='x-sampa' ph='pI"kA:n'>pecan</phoneme>. I say, <phoneme alphabet='x-sampa' ph='"pi.k{n'>pecan</phoneme>. </speak>

さらに標準中国語では、音声発音に拼音が使用されます。

拼音

<speak> 你说 <phoneme alphabet="x-amazon-pinyin" ph="bo2">薄</phoneme>。 我说 <phoneme alphabet="x-amazon-pinyin" ph="bao2">薄</phoneme>。 </speak>

このタグは、ニューラル形式と標準の TTS 形式の両方でサポートされています。

音量、話す速度、ピッチを制御する

<prosody>

選択した音声の音量、速度、ピッチを制御するには、prosody タグを使用します。

音量、ピッチ、話す速度は、選択された特定の音声に依存します。異なる言語の音声間で異なるだけではなく、同じ言語を話す個々の音声にも違いがあります。このため、属性はすべての言語でもほぼ共通していますが、言語によって明らかな差異があり、絶対値はありません。

prosody タグには 3 つの属性が含まれており、それぞれに属性を設定する複数の値があります。各属性には同じ構文が使用されます。

<prosody attribute="value"></prosody>
  • volume

    • default: ボリュームを現在の音声のデフォルトレベルにリセットします。

    • silentx-softsoftmediumloudx-loud: ボリュームを、現在の音声の事前定義された値に設定します。

    • +ndB-ndB: 現在の音量レベルと比較して音量を変更します。値 +0dB は、ボリュームを変更しない、+6dB は、現在のボリュームの約 2 倍、-6dB は、現在のボリュームの約半分であることを表します。

    たとえば、次のように文章に音量を設定します。

    <speak> Sometimes it can be useful to <prosody volume="loud">increase the volume for a specific speech.</prosody> </speak>

    または、次のように設定することもできます。

    <speak> And sometimes a lower volume <prosody volume="-6dB">is a more effective way of interacting with your audience.</prosody> </speak>
  • rate

    • x-slowslowmediumfastx-fast。ピッチを選択音声用に事前定義した値に設定します。

    • n%: 話す速度を正のパーセンテージで変更します。たとえば、100% では話す速度は変更されず、200% の値は話す速度がデフォルトの速度の 2 倍の速度、50% の値はデフォルトの話す速度の半分の速度を意味します。この値の範囲は 20 ~ 200% です。

    たとえば、次のように文章に話す速度を設定します。

    <speak> For dramatic purposes, you might wish to <prosody rate="slow">slow up the speaking rate of your text.</prosody> </speak>

    または、次のように設定することもできます。

    <speak> Although in some cases, it might help your audience to <prosody rate="85%">slow the speaking rate slightly to aid in comprehension.</prosody> </speak>
  • pitch

    • default: ピッチを現在の音声のデフォルトレベルにリセットします。

    • x-lowlowmediumhighx-high: ピッチを現在音声用に事前定義した値に設定します。

    • +n% または -n%。相対パーセンテージを使用してピッチを調整します。たとえば、値 +0% は、ベースラインピッチを変更しない、+5% は、ベースラインピッチを少し上げる、-5% は、ベースラインピッチを少し下げることを意味します。

    たとえば、次のように文章にピッチを設定します。

    <speak> Do you like sythesized speech <prosody pitch="high">with a pitch that is higher than normal?</prosody> </speak>

    または、次のように設定することもできます。

    <speak> Or do you prefer your speech <prosody pitch="-10%">with a somewhat lower pitch?</prosody> </speak>

<prosody> タグには属性が少なくとも 1 つ含まれている必要がありますが、同じタグ内に複数含めることができます。

<speak> Each morning when I wake up, <prosody volume="loud" rate="x-slow">I speak quite slowly and deliberately until I have my coffee.</prosody> </speak>

次のように、ネストされたタグを組み合わせることもできます。

<speak> <prosody rate="85%">Sometimes combining attributes <prosody pitch="-10%">can change the impression your audience has of a voice</prosody> as well.</prosody> </speak>

このタグは、ボリューム属性を使用するニューラル音声でのみサポートされています。ニューラル形式を使用すると、他の属性はエラーを生成します。このタグは、標準の TTS 形式で完全にサポートされています。

合成音声の最大時間を設定する

<prosody amazon:max-duration>

音声が合成されるときの時間を制御するには、<prosody> 属性を持つ amazon:max-duration タグを使用します。

選択した音声により、合成された音声の時間はわずかに異なります。これにより、合成音声を正確なタイミングを必要とするビジュアルやその他のアクティビティと一致させることが難しくなります。特定のフレーズが異なる言語で大きく異なることがあるため、この問題は、翻訳アプリケーションによって拡大されています。

<prosody amazon:max-duration> タグは合成された音声の時間 (長さ) と一致します。

このタグでは次の構文を使用します。

<prosody amazon:max-duration="time duration">

<prosody amazon:max-duration> タグを使用して、長さを秒またはミリ秒で指定できます。

  • ns。最大時間 (秒)。

  • nms。最大時間 (ミリ秒)。

たとえば、次の音声テキストの最大時間は 2 秒です。

<speak> <prosody amazon:max-duration="2s"> Human speech is a powerful way to communicate. </prosody> </speak>

タグ内に配置されたテキストは、指定された時間を超えません。選択した音声または言語が通常その時間より長くかかる場合は、Amazon Polly は指定された時間に収まるように音声の速度を上げます。

指定された時間が、通常のレートでテキストを読み上げる時間より長い場合、Amazon Polly は通常通りに音声を読み上げます。音声の速度を下げたり、無音が追加されることはありませんので、生成される音声はリクエストされたものよりも短くなります。

注記

Amazon Polly は通常のレートの 5 倍以上に速度を上げません。これより速くテキストを読み上げることには、通常意味がありません。最大の速さまで速度を上げても指定された時間内に収まらない場合は、速度が上げられますが、音声は指定された時間よりも長くなります。

<prosody amazon:max-duration> タグ内に 1 つの文または複数の文を含めることができ、テキスト内で複数の <prosody amazon:max-duration> タグを使用できます。

次に例を示します。

<speak> <prosody amazon:max-duration="2400ms"> Human speech is a powerful way to communicate. </prosody> <break strength="strong"/> <prosody amazon:max-duration="5100ms"> Even a simple ‘Hello’ can convey a lot of information depending on the pitch, intonation, and tempo. </prosody> <break strength="strong"/> <prosody amazon:max-duration="8900ms"> We naturally understand this information, which is why speech is ideal for creating applications where a screen isn’t practical or possible, or simply isn’t convenient. </prosody> </speak>

<prosody amazon:max-duration> タグを使用して、Amazon Polly が合成された音声を返す際のレイテンシーを向上させることができます。レイテンシーの度合いは、文章およびその長さによって異なります。比較的短い文章で構成されたテキストを使用することをお勧めします。

制約事項

<prosody amazon:max-duration> タグの使用方法、および他の SSML タグがどのように動作するかの両方で、それぞれ制限があります。

  • <prosody amazon:max-duration> タグ内のテキストは 1500 文字より長くすることはできません。

  • <prosody amazon:max-duration> タグを入れ子にすることはできません。別のタグの内部に <prosody amazon:max-duration> タグを配置すると、Amazon Polly では内側のタグが無視されます。

    たとえば、次の場合には、<prosody amazon:max-duration="5s"> タグが無視されます。

    <speak> <prosody amazon:max-duration="16s"> Human speech is a powerful way to communicate. <prosody amazon:max-duration="5s"> Even a simple ‘Hello’ can convey a lot of information depending on the pitch, intonation, and tempo. </prosody> We naturally understand this information, which is why speech is ideal for creating applications where a screen isn’t practical or possible, or simply isn’t convenient. </prosody> </speak>
  • <prosody> タグ内で、rate タグの <prosody amazon:max-duration> 属性を使用することはできません。これは、両方がテキストを読み上げる際の速度に影響するためです。

    次の例で Amazon Polly では、<prosody rate="2"> タグが無視されます。

    <speak> <prosody amazon:max-duration="7500ms"> Human speech is a powerful way to communicate. <prosody rate="2"> Even a simple ‘Hello’ can convey a lot of information depending on the pitch, intonation, and tempo. </prosody> </prosody> </speak>

一時停止および max-duration

max-duration タグを使用する場合は、テキスト内に一時停止を挿入できます。ただし、Amazon Polly は、音声の最大時間を計算する際に一時停止の長さを含めます。さらに、Amazon Polly では、文章内にカンマおよびピリオドがある場合に発生する短い一時停止が保持され、最長時間に含められます。

たとえば、次のブロックでは、8 秒内の音声で、600 ミリ秒の休止と、カンマおよびピリオドが原因で発生する休止が発生します。

<speak> <prosody amazon:max-duration="8s"> Human speech is a powerful way to communicate. <break time="600ms"/> Even a simple ‘Hello’ can convey a lot of information depending on the pitch, intonation, and tempo. </prosody> </speak>

このタグは現在、標準の TTS 形式でのみサポートされています。

文章間に一時停止を追加する

<s>

テキストの行または文章間に一時停止を追加するには、<s> タグを使用します。このタグは、以下と同じ効果があります。

  • ピリオド (.) を使用した文の終了

  • <break strength="strong"/> による一時停止の指定

<break> タグとは異なり、<s> タグは文を囲みます。これは、文ではなく、詩のように複数の行で編成された音声合成に便利です。

次の例では、<s> タグは、1 文目と 2 文目の後に、それぞれ短い一時停止を作成します。最後の文には、<s> タグはありませんが、ピリオドで終わっているため、その後に短い一時停止があります。

<speak> <s>Mary had a little lamb</s> <s>Whose fleece was white as snow</s> And everywhere that Mary went, the lamb was sure to go. </speak>

このタグは、ニューラル形式と標準の TTS 形式の両方でサポートされています。

特殊なタイプの単語の発声方法を制御する

<say-as>

interpret-as 属性を指定した <say-as> タグを使用して、特定の文字、単語、および数字を発声する方法を Amazon Polly に指示します。これにより、コンテキストを追加して、Amazon Polly でのテキストのレンダリングのあいまいさを排除できます。

say-as タグは <interpret-as> という 1 つの属性を使用します。この属性にはさまざまな値を使用できます。それぞれには同じ構文が使用されます。

<say-as interpret-as="value">[text to be interpreted]</say-as>

次の値を interpret-as で使用できます。

  • characters または spell-out: a-b-c のようにテキストの各文字をスペルアウトします。

    注記

    このオプションでは現在、ニューラル音声の使用はサポートされていません。この SSML コードで実行時に Amazon Polly が発生した場合、影響を受ける文は関連する標準音声を使用して合成されます。ただし、この文は、ニューラル音声を使用している場合と同様に課金されることに注意してください。

  • cardinal または number: 数値テキストを基数 (例: 1,234) として解釈します。

  • ordinal: 数値テキストを序数 (例: 1,234 番目) として解釈します。

  • digits: 各桁を個別 (例: 1-2-3-4) にスペルアウトします。

  • fraction: 数値テキストを小数として解釈します。この属性は、分数 (例: 3/20) と帯分数 (例: 2½) のいずれにも適用されます。詳細については、以下を参照してください。

  • unit: 数値テキストを測定値として解釈します。この値は、数字または小数の後に単位 (間にスペースは不要) を続けるか (例: 1/2inch)、単位のみが続きます (例: 1meter)。

  • date: 日付としてテキストを解釈します。日付の形式は、形式属性で指定する必要があります。詳細については、以下を参照してください。

  • time: 分単位および秒単位の時間として数値テキストを解釈します (例: 1'21")。

  • address: 住所の一部としてテキストを解釈します。

  • expletive: タグ内に含まれるコンテンツを「ピー音」で消します。

  • telephone: 7 桁または 10 桁の電話番号として数値テキストを解釈します (例: 2025551212)。この値を使用して、内線電話も処理できます (例: 2025551212x345)。詳細については、以下を参照してください。

    注記

    現在、telephone オプションは英語の音声でのみ使用できます。

分数

Amazon Polly は interpret-as="fraction" 属性を持つ say-as タグ内の値を一般的な分数として解釈します。次に、分数の構文を示します。

  • 分数

    構文: 基数/基数 (2/9 など)。

    例: <say-as interpret-as="fraction">2/9</say-as> は「two ninths」と発音されます。

  • 負でない混合数字

    構文: 基数 + 基数/基数 (例: 3+1/2)。

    例: <say-as interpret-as="fraction">3+1/2</say-as> は「three and a half」と発音されます。

    注記

    「3」と「1/2」の間に + を入れる必要があります。Amazon Polly では、+ を含まない混合数字 (例: 3 1/2) はサポートされていません。

日付

interpret-asdate に設定されている場合は、上記と合わせて、日付の形式を示す必要があります。

次の構文を使用します。

<say-as interpret-as="date" format="format">[date]</say-as>

次に例を示します。

<speak> I was born on <say-as interpret-as="date" format="mdy">12-31-1900</say-as>. </speak>

以下の形式は、date 属性で使用できます。

  • mdy: 月-日-年。

  • dmy: 日-月-年。

  • ymd: 年-月-日。

  • md: 月-日。

  • dm: 日-月。

  • ym: 年-月。

  • my: 月-年。

  • d: 日。

  • m: 月.

  • y: 年.

  • yyyymmdd: 年-月-日。この形式を使用する場合、疑問符を使用して Amazon Polly に日付の部分をスキップさせることができます。

    たとえば、Amazon Polly は、以下の「9 月 22 日」 をレンダリングします。

    <say-as interpret-as="date">????0922</say-as>

    Format は必要ありません。

電話

Amazon Polly では、<say-as> タグが使用されていなくても、テキストの形式に基づいて正しく入力されたテキストとして解釈するよう試みます。たとえば、テキストに「202-555-1212」が含まれている場合、Amazon Polly は、これを 10 桁の電話番号として解釈し、各桁を個別に読み上げ、ダッシュ部分には短い一時停止を挟みます。この場合、<say-as interpret-as="telephone"> を使用する必要はありません。ただし、「2025551212」と入力し、Amazon Polly に電話番号として読み上げさせたい場合は、<say-as interpret-as="telephone"> を指定する必要があります。

各要素を解釈するロジックは、言語固有です。たとえば、米国英語と英国英語は、電話番号の発音が異なります (英国英語では、同一数字の連続はまとめて発音される。「double five」や「triple four」など)。違いを確認するには、次の例をアメリカの音声とイギリスの音声でテストします。

<speak> Richard's number is <say-as interpret-as="telephone">2122241555</say-as> </speak>

「文字」または「スペルアウト」機能を除いて、このタグはニューラル形式と標準的な TTS 形式の両方でサポートされています。この SSML コードで実行時に Amazon Polly が発生した場合、影響を受ける文は関連する標準音声を使用して合成されます。ただし、この文は、ニューラル音声を使用している場合と同様に課金されることに注意してください。

頭字語や略語の発音

<sub>

<sub> 属性を指定した alias タグを使用して、頭字語や略語など指定のテキストを別の単語 (または発音) に置き換えます。

次の構文を使用します。

<sub alias="new word">abbreviation</sub>

次の例では、「Mercury」という名前が要素の化学記号に置き換えられ、音声コンテンツがより明確になります。

<speak> My favorite chemical element is <sub alias="Mercury">Hg</sub>, because it looks so shiny. </speak>

このタグは、ニューラル形式と標準の TTS 形式の両方でサポートされています。

品詞を指定して発音を向上させる

<w>

<w> タグを使用して単語の発音をカスタマイズするには、単語の品詞または別の意味を指定します。その際、role 属性を使用します。

このタグでは次の構文を使用します。

<w role="attribute">text</w>

以下の値は、role 属性に使用できます。

品詞を指定するには:

  • amazon:VB: 動詞 (現在形) として語句を解釈します。

  • amazon:VBD: 過去形または過去分詞として単語を解釈します。

たとえば、品詞で解釈する場合、米国英語の「read」という単語の発音はタグに応じて変わります。

<speak> The word <say-as interpret-as="characters">read</say-as> may be interpreted as either the present simple form <w role="amazon:VB">read</w>, or the past participle form <w role="amazon:VBD">read</w>. </speak>

別の意味を指定するには:

  • amazon:SENSE_1: 単語のデフォルト以外の意味を使用します。たとえば、「bass」という名詞の発音は、その意味に応じて異なります。この単語のデフォルトの意味は、音楽的な範囲の低音部を表します。別の意味に「淡水魚」があり、「bass」と呼ばれますが、発音は異なります。<w role="amazon:SENSE_1">bass</w> を使用すると、デフォルトでない発音 (淡水魚) をレンダリングして音声テキストを作成します。

    次のように合成すると、その違いを確認できます。

    <speak> Depending on your meaning, the word <say-as interpret-as="characters">bass</say-as> may be interpreted as either a musical element: read, or as its alternative meaning, a fresh waterfish <w role="amazon:SENSE_1">bass</w>. </speak>

注記

言語によっては、サポートされる品詞が異なる場合があります。

このタグは、ニューラル形式と標準の TTS 形式の両方でサポートされています。

呼吸音の追加

<amazon:breath> および <amazon:auto-breaths>

自然な音声には、正しく発話された単語と呼吸音の両方が含まれています。合成音声に呼吸音を追加することで、自然音に近づけることができます。<amazon:breath> タグと <amazon:auto-breaths> タグは呼吸音を提供します。次のオプションがあります。

  • 手動モード: テキスト内の呼吸音の場所、長さ、ボリュームを設定します。

  • 自動モード: Amazon Polly で音声出力に呼吸音を自動的に挿入します。

  • 混合モード: お客様と Amazon Polly の両方が呼吸音を追加します。

手動モード

手動モードでは、入力テキスト内の呼吸音の挿入先に <amazon:breath/> タグを配置します。呼吸音の長さとボリュームは、duration 属性と volume 属性でそれぞれカスタマイズできます。

  • duration: 呼吸音の長さを制御します。有効な値は、defaultx-shortshortmediumlongx-long です。デフォルト値は medium です。

  • volume: 呼吸音の音量を制御します。有効な値は、defaultx-softsoftmediumloudx-loud です。デフォルト値は medium です。

注記

各属性値の正確な長さとボリュームは、使用する特定の Amazon Polly 音声に依存します。

デフォルト値を使用して呼吸音を設定するには、属性を設定しないで <amazon:breath/> を使用します。

たとえば、属性を使用して呼吸音の長さとボリュームを medium に設定するには、次のように属性を設定します。

<speak> Sometimes you want to insert only <amazon:breath duration="medium" volume="x-loud"/>a single breath. </speak>

デフォルト値を使用するには、次のタグのみを使用します。

<speak> Sometimes you need <amazon:breath/>to insert one or more average breathes <amazon:breath/> so that the text sounds correct. </speak>

複数の個別の呼吸音を節内に追加するには、次のように設定します。

<speak> <amazon:breath duration="long" volume="x-loud"/> <prosody rate="120%"> <prosody volume="loud"> Wow! <amazon:breath duration="long" volume="loud"/> </prosody> That was quite fast <amazon:breath duration="medium" volume="x-loud"/>. I almost beat my personal best time on this track. </prosody> </speak>

自動モード

自動モードでは、<amazon:auto-breaths> タグを使用して、適切な間隔で呼吸音を自動的に作成するように Amazon Polly に指示します。間隔の頻度、ボリューム、および長さを設定できます。自動の呼吸音の適用先であるテキストの先頭に </amazon:auto-breaths> タグを配置し、最後に終了タグを配置します。

注記

手動モードのタグである <amazon:breath/> とは異なり、<amazon:auto-breaths> タグには終了タグ (</amazon:auto-breaths>) が必要です。

<amazon:auto-breaths> タグでは、以下のオプションの属性を使用できます。

  • volume: 呼吸音の音量を制御します。有効な値は、defaultx-softsoftmediumloudx-loud です。デフォルト値は medium です。

  • frequency: テキスト内で呼吸音を発生させる回数を制御します。有効な値は、defaultx-lowlowmediumhighx-high です。デフォルト値は medium です。

  • duration: 呼吸音の長さを制御します。有効な値は、defaultx-shortshortmediumlongx-long です。デフォルト値は medium です。

デフォルトでは、呼吸音の頻度は入力テキストに依存します。ただし、通常、呼吸音はカンマやピリオドの後に発生します。

以下の例では、<amazon:auto-breaths> タグの使用方法を示します。コンテンツに使用するオプションを決定するには、該当する例を Amazon Polly コンソールにコピーし、差異を聞き比べます。

  • オプションのパラメータを設定しない自動モードの使用。

    <speak> <amazon:auto-breaths>Amazon Polly is a service that turns text into lifelike speech, allowing you to create applications that talk and build entirely new categories of speech- enabled products. Amazon Polly is a text-to-speech service that uses advanced deep learning technologies to synthesize speech that sounds like a human voice. With dozens of lifelike voices across a variety of languages, you can select the ideal voice and build speech- enabled applications that work in many different countries.</amazon:auto-breaths> </speak>
  • ボリュームを制御した自動モードの使用。指定しないパラメータ (durationfrequency) は、デフォルト値 (medium) に設定されます。

    <speak> <amazon:auto-breaths volume="x-soft">Amazon Polly is a service that turns text into lifelike speech, allowing you to create applications that talk and build entirely new categories of speech-enabled products. Amazon Polly is a text-to-speech service, that uses advanced deep learning technologies to synthesize speech that sounds like a human voice. With dozens of lifelike voices across a variety of languages, you can select the ideal voice and build speech- enabled applications that work in many different countries.</amazon:auto-breaths> </speak>
  • 頻度を制御した自動モードの使用。指定しないパラメータ (durationvolume) は、デフォルト値 (medium) に設定されます。

    <speak> <amazon:auto-breaths frequency="x-low">Amazon Polly is a service that turns text into lifelike speech, allowing you to create applications that talk and build entirely new categories of speech-enabled products. Amazon Polly is a text-to-speech service, that uses advanced deep learning technologies to synthesize speech that sounds like a human voice. With dozens of lifelike voices across a variety of languages, you can select the ideal voice and build speech- enabled applications that work in many different countries.</amazon:auto-breaths> </speak>
  • 複数のパラメータを設定した自動モードの使用。指定しない Duration パラメータは、Amazon Polly でデフォルト値 (medium) に設定されます。

    <speak> <amazon:auto-breaths volume="x-loud" frequency="x-low">Amazon Polly is a service that turns text into lifelike speech, allowing you to create applications that talk and build entirely new categories of speech-enabled products. Amazon Polly is a text-to-speech service, that uses advanced deep learning technologies to synthesize speech that sounds like a human voice. With dozens of lifelike voices across a variety of languages, you can select the ideal voice and build speech-enabled applications that work in many different countries.</amazon:auto-breaths> </speak>

このタグは現在、標準の TTS 形式でのみサポートされています。

ニュースキャスターの話し方

<amazon:domain name=news>

ニュースキャスタースタイルは Matthew または Joanna の音声提供され、Neural 形式のアメリカ英語 (en-US) でのみ利用できます。

ニュースキャスタースタイルを使用するには、SSML タグと次の構文を使用します。

<amazon:domain name="news">text</amazon:domain>

たとえば、次のように Matthew または Joanna の音声でニュースキャスタースタイルを使用できます。

<speak> <amazon:domain name="news"> From the Tuesday, April 16th, 1912 edition of The Guardian newspaper: The maiden voyage of the White Star liner Titanic, the largest ship ever launched, has ended in disaster. The Titanic started her trip from Southampton for New York on Wednesday. Late on Sunday night she struck an iceberg off the Grand Banks of Newfoundland. By wireless telegraphy she sent out signals of distress, and several liners were near enough to catch and respond to the call. </amazon:domain> </speak>

ダイナミックレンジ圧縮を追加する

<amazon:effect name="drc">

オーディオファイルで使用されるテキスト、言語、および音声に応じて、音はソフトなものから大音量なものまでさまざまです。移動する車両の音などの環境音は、しばしばよりソフトな音を遮蔽することがあり、それによってオーディオトラックがはっきりと聞こえにくくなります。オーディオファイルの特定の音量を上げるには、ダイナミックレンジ圧縮 (drc) タグを使用します。

drc タグは、オーディオのミッドレンジの「ラウドネス」しきい値を設定し、そのしきい値前後のサウンドの音量 (ゲイン) を上げます。これは、しきい値に最も近いゲインを最大にして、しきい値から遠いゲインを最小にします。


                    ダイナミックレンジの圧縮は、一定のしきい値付近の音量を上げます。

これにより、ノイズの多い環境でミドルレンジのサウンドが聞き取りやすくなり、オーディオファイル全体がより明確になります。

drc タグはブールパラメータです (存在するかどうか)。これは <amazon:effect name="drc"> 構文を使用し、</amazon:effect> で閉じます。

drc タグは、Amazon Polly でサポートされている任意の音声または言語で使用できます。録音のセクション全体に適用することも、数語だけに適用することもできます。次に例を示します。

<speak> Some audio is difficult to hear in a moving vehicle, but <amazon:effect name="drc"> this audio is less difficult to hear in a moving vehicle.</amazon:effect> </speak>

注記

構文で「drc」を使用する場合、大文字と小文字が区別されます。amazon:effect

drcprosody volume タグで使用する

次の図に示すように、prosody volume タグは、オーディオファイル全体の音量を元のレベル (点線) から調整レベル (実線) に均等に上げます。ファイルの特定の部分の音量をさらに上げるには、drc タグを prosody volume タグとともに使用します。タグを組み合わせても prosody volume タグの設定には影響しません。


                    prosody volume タグを使用すると、オーディオファイル全体の音量が上がります。

drc タグと prosody volume タグを一緒に使用すると、Amazon Polly は drc タグを最初に適用し、中音域 (しきい値付近) の音量を上げます。次に、prosody volume タグを適用し、オーディオトラック全体の音量をさらに上げます。


                    drc タグを prosody volume タグとともに使用すると、オーディオトラック全体の音量に加えて、中音域の音量が上がります。

タグを一緒に使用するには、一方を他方の内側に入れます。次に例を示します。

<speak> <prosody volume="loud">This text needs to be understandable and loud. <amazon:effect name="drc"> This text also needs to be more understandable in a moving car.</amazon:effect></prosody> </speak>

このテキストでは、prosody volume タグは、全体の音量を「大音量」に上げます。 drc タグは、2 番目の文の中音域の音量を上げます。

注記

drc タグと prosody volumeタグを一緒に使用する場合は、入れ子タグに標準の XML プラクティスを使用します。

このタグは、ニューラル形式と標準の TTS 形式の両方でサポートされています。

柔らかく発声する

<amazon:effect phonation="soft">

入力テキストを通常の音声よりも柔らかく発声するように指定するには、<amazon:effect phonation="soft"> タグを使用します。

次の構文を使用します。

<amazon:effect phonation="soft">text</amazon:effect>

たとえば、Matthew の音声でこのタグを次のように使用してみます。

<speak> This is Matthew speaking in my normal voice. <amazon:effect phonation="soft">This is Matthew speaking in my softer voice.</amazon:effect> </speak>

このタグは現在、標準の TTS 形式でのみサポートされています。

声質の制御

<amazon:effect vocal-tract-length>

声質 (Timbre) は、同じ音程とラウドネスを持っている場合でも、音声の違いを伝えるのに役立つ音声の音質です。音声の音色に影響する最も重要な生理機能の 1 つは、声道の長さです。声道は、声帯上部から唇の端までにおよぶ空気の通り道です。

Amazon Polly の出力音声の音色を制御するには、vocal-tract-length タグを使用します。このタグには、話し手の声道の長さを変更して、話し手の声の大きさが変化したように聞こえる効果があります。vocal-tract-length を大きくすると、話し手の声が物理的に大きく聞こえます。このタグを小さくすると、話し手の声も小さく聞こえます。このタグは、Amazon Polly のテキスト読み上げポートフォリオのいずれの声にも使用できます。

声質を変更するには、次の値を使用します。

  • +n% または -n%: 現在の声で、相対割合 (%) の変更により声道の長さを調整します。たとえば、+4% または -2% などです。有効な値の範囲は +100% ~ -50% です。この範囲外の値は切り捨てられます。たとえば、+111% は +100% のように聞こえ、-60% は -50% のように聞こえます。

  • n%: 声道の長さを現在の声の声道の長さの絶対割合値 (%) に調整します。たとえば、110% または 75% などです。110% の絶対値は +10% の相対値に相当します。絶対値 100% は、現在の声のデフォルト値と同じです。

次の例は、声帯の長さを変更して音色を変更する方法を示しています。

<speak> This is my original voice, without any modifications. <amazon:effect vocal-tract-length="+15%"> Now, imagine that I am much bigger. </amazon:effect> <amazon:effect vocal-tract-length="-15%"> Or, perhaps you prefer my voice when I'm very small. </amazon:effect> You can also control the timbre of my voice by making minor adjustments. <amazon:effect vocal-tract-length="+10%"> For example, by making me sound just a little bigger. </amazon:effect><amazon:effect vocal-tract-length="-10%"> Or, making me sound only somewhat smaller. </amazon:effect> </speak>

複数のタグの組み合わせ

vocal-tract-length タグは、Amazon Polly でサポートされている他の SSML タグと組み合わせることができます。声質 (声道の長さ) とピッチが密接に結びついているので、vocal-tract-length タグと <prosody pitch> タグの両方を使用すると、最良の結果が得られます。最もリアルな音声を生成するために、2 つのタグの変化のパーセンテージを使用することをお勧めします。さまざまな組み合わせを試して、必要な結果を得ます。

次の例は、タグを結合する方法を示しています。

<speak> The pitch and timbre of a person's voice are connected in human speech. <amazon:effect vocal-tract-length="-15%"> If you are going to reduce the vocal tract length, </amazon:effect><amazon:effect vocal-tract-length="-15%"> <prosody pitch="+20%"> you might consider increasing the pitch, too. </prosody></amazon:effect> <amazon:effect vocal-tract-length="+15%"> If you choose to lengthen the vocal tract, </amazon:effect> <amazon:effect vocal-tract-length="+15%"> <prosody pitch="-10%"> you might also want to lower the pitch. </prosody></amazon:effect> </speak>

このタグは現在、標準の TTS 形式でのみサポートされています。

ウィスパー

<amazon:effect name="whispered">

このタグは、入力テキストを通常の音声ではなく、ささやき声で読み上げることを表します。このタグは、Amazon Polly のテキスト読み上げポートフォリオのいずれの声にも適用できます。

次の構文を使用します。

<amazon:effect name=”whispered”>text</amazon:effect>

次に例を示します。

<speak> <amazon:effect name="whispered">If you make any noise, </amazon:effect> she said, <amazon:effect name="whispered">they will hear us.</amazon:effect> </speak>

この場合、合成された音声はささやき声で読み上げられますが、「she said」というフレーズは、選択された Amazon Polly 音声の通常の合成音声で発声されます。

必要に応じて、話速を最大 10% 低下させることで、「ささやき」効果を強めることができます。

次に例を示します。

<speak> When any voice is made to whisper, <amazon:effect name="whispered"> <prosody rate="-10%">the sound is slower and quieter than normal speech </prosody></amazon:effect> </speak>

ささやかれた音声のスピーチマークを生成するときは、音声ストリームには、スピーチマークが音声ストリームに一致するよう、ささやかれた音声を含める必要があります。

このタグは現在、標準の TTS 形式でのみサポートされています。