音声合成マークアップ言語(SSML)のリファレンス



音声合成マークアップ言語(SSML)のリファレンス

スキルのサービスからユーザーのリクエストに対する応答を返すときは、Alexaサービスが音声に変換するためのテキストを提供します。Alexaは、句点の後に休止を入れることや、疑問符で終わるテキストを疑問文として話すことなど、通常の句読点処理を自動的に実行します。

ただし、場合によっては、応答のテキストからAlexaが生成する音声に、追加の制御を加える必要があります。たとえば、音声内の休止を長くしたり、数字文字列を標準的な電話番号として復唱したりする必要がある場合があります。Alexa Skills Kitでは、音声合成マークアップ言語(SSML)のサポートによってこの種の制御が提供されます。

SSMLは、合成音声の生成用にテキストをマークアップする標準的な手段を提供するマークアップ言語です。Alexa Skills Kitでサポートされているのは、SSML仕様で定義されているタグのサブセットです。サポートされている具体的なタグについては、サポートされるSSMLタグに記載します。

応答の中でSSMLを使用する方法

SSMLを使用するには、サポートされるSSMLタグを使用して出力音声を作成します。サービスから応答を送り返すときは、応答がプレーンテキストではなくSSMLを使用していることを明示する必要があります。JSON応答を直接構築する場合は、マークアップしたテキストをoutputSpeechプロパティに指定し、typePlainTextではなくSSMLに設定します。マークアップしたテキストの設定には、textではなくssmlプロパティを使用します。

"outputSpeech": {
    "type": "SSML",
    "ssml": "<speak>この出力音声はSSMLを使用しています。</speak>"
}
  • SSMLは、通常の出力音声応答と、応答に含まれる再プロンプトの両方に使用できます。

Alexa Skills Kit SDK for Node.jsまたはAlexa Skills Kit SDK for Javaを使用する場合は、SDKによって処理されるため、提供するSSMLにspeakタグを含める必要はありません。それ以外の場合、提供するSSMLは、<speak>タグで囲む必要があります。例:

<speak>
    数字を基数として <w role="amazon:VBD">読み上げます</w> 
    : 
    <say-as interpret-as="cardinal">12345</say-as>。
    単語をスペルアウトします: 
    <say-as interpret-as="spell-out">hello</say-as></speak>

SSMLのJSON出力では、出力内の引用符をエスケープするか、一重引用符と二重引用符を適切に使い分けてください。以下では、一重引用符がアトリビュートとして使用され、応答全体が二重引用符で括られています。

"outputSpeech": {
    "type": "SSML",
    "ssml": "<speak>
    数字を基数として <w role='amazon:VBD'>読み上げます</w> 
    : 
    <say-as interpret-as='cardinal'>12345</say-as>。
    単語をスペルアウトします: 
    <say-as interpret-as='spell-out'>hello</say-as>。
    </speak>"
}

サポートされるSSMLタグ

Alexa Skills Kitでは、次に挙げるSSMLタグがサポートされています(英字順に記載します)。

この後のセクションでは、これらのタグについてそれぞれ説明します。

なお、提供されたテキストに含まれる、サポートされていないSSMLタグは、Alexaサービスによって削除されることにご注意ください。

amazon:effect

音声にAmazon固有の効果を適用します。

アトリビュート 使用できる値

name

音声に適用できる効果の名前。利用可能な効果は次のとおりです。

  • whispered ささやき声の効果を音声に適用します。
<speak>
    秘密の話があります。
    <amazon:effect name="whispered">私は本当の人間ではないのです。</amazon:effect>.
    信じてもらえますか?
</speak>

audio

audioタグには、MP3ファイルのURLを指定して、応答の音声化中にそのファイルをAlexaサービスに再生させることができます。これは、サービスの応答の中に、事前に録音した短い音声を埋め込むために使用できます。たとえば、読み上げ応答と一緒にサウンド効果を再生したり、自社ブランドに関連付けられた音声を使用して応答を提供したりできます。詳細については、録音済みの短い音声を応答で使用するを参照してください。

アトリビュート 使用できる値

src

MP3ファイルのURLを指定します。次に挙げる要件と制限にご注意ください。

  • MP3は、インターネットからアクセス可能なHTTPSエンドポイントでホストされる必要があります。HTTPSであることが必須です。また、MP3ファイルをホストするドメインは、有効で、信頼できるSSL証明書を提示する必要があります。自己署名証明書は使用できません。
  • MP3には、ユーザーに固有な情報や、その他の機密情報が含まれていてはなりません。
  • MP3は、有効なMP3ファイル(MPEGバージョン2)である必要があります。
  • 音声ファイルは240秒以内でなければなりません。
  • ビットレートは48 kbpsでなければなりません。このビットレートは、話される内容と組み合わせて使用すると良好な結果が得られますが、音楽を再生するには一般に品質がやや不十分です。
  • サンプルレートは22050Hz、24000Hz、16000Hzのいずれかです。

必要に応じて、変換ソフトウェアを使用してMP3ファイルを必要なコーデックバージョン(MPEGバージョン2)とビットレート(48 kbps)に変換してください。

audioタグは、speakタグで囲まれた読み上げ応答テキスト内に組み込みます。Alexaは、読み上げテキストの指定された時点でMP3ファイルを再生します。例:

<speak>
    タクシー予約へようこそ。
    <audio src="soundbank://soundlibrary/transportation/amzn_sfx_car_accelerate_01" /> 
    配車または料金の見積もりをリクエストできます。
    どちらにしますか?
</speak> 

Alexaがこの応答を再生すると、以下のように聞こえます。

Alexa: タクシー予約へようこそ。
(指定した音声ファイルamzn_sfx_car_accelerate_01.mp3が再生されます)

Alexa: 配車または料金の見積もりをリクエストできます。どちらにしますか?

サービスから送信する1回の応答に複数のaudioタグを含めることができますが、次の制限に従う必要があります。

  • 1回の応答の中で使用できる音声ファイルは5個までです。
  • 1回の応答に含めることのできるすべての音声ファイルの合計再生時間は240秒までです。

音声ファイルをAlexaに適した形式に変換する

必要に応じて、変換ソフトウェアを使用してMP3ファイルを必要なコーデックバージョン(MPEGバージョン2)とビットレート(48 kbps)に変換してください。この用途に使用できるコマンドラインツールの1つに、FFmpegがあります。次のコマンドにより、指定した<input-file>audioタグで再生できるMP3ファイルに変換できます。

ffmpeg -i <input-file> -ac 2 -codec:a libmp3lame -b:a 48k -ar 16000 <output-file.mp3>

もう1つのソフトウェアに、Audacityがあります。

  1. 変換するファイルを開きます。
  2. 左下にある「Project Rate」を16000に設定します。
  3. File」、「Export Audio」の順にクリックし、「Save as type」をMP3 Filesに変更します。
  4. Options」をクリックし、「Quality」を48 kbpsに設定し、「Bit Rate Mode」をConstantに設定します。

これには、Lameライブラリが必要です。http://lame.buanzo.org/#lamewindlにあります。

スキルのために音声ファイルをホストする

音声を提供するために使用するMP3ファイルは、HTTPSを使用するエンドポイント上でホストされている必要があります。このエンドポイントでは、Amazon認定の認証局が署名したSSL証明書を提供する必要があります。これは、多くのコンテンツホスティングサービスで提供されています。たとえば、Amazon Simple Storage Service(Amazon S3)アマゾンウェブサービスが提供)などのサービスでファイルをホストできます。

音声ファイルのリクエストを認証する必要はありません。このため、音声ファイルにはユーザーに固有の情報や機密情報を含めてはなりません。たとえば、ユーザーのリクエストに応答してカスタムMP3ファイルを作成し、その音声の中に機密情報を組み込む、ということは許可されていません。

パフォーマンスを最適化するには、スキルをホスティングしている地域に近い地域でSSML応答のMP3ファイルをホスティングすることをおすすめします。たとえば、スキルのLambda関数がアジアパシフィック(東京)地域でホスティングされている場合、MP3をアジアパシフィック(東京)のS3バケットにアップロードするとパフォーマンスが向上します。

break

音声の中での休止を表します。休止の長さは、strengthまたはtimeアトリビュートで設定します。

アトリビュート 使用できる値

strength

  • none: 休止は出力されません。これは、通常なら出力される休止(句点の後の休止など)を削除するために使用できます。
  • x-weak: 休止は出力されません(noneと同じ)。
  • weak: 隣り合った単語が、読点が1つ入っている場合のように処理されます(mediumと同じ)。
  • medium: 隣り合った単語が、読点が1つ入っている場合のように処理されます。
  • strong: センテンスの休止を入れます(<s>タグを使用した場合と同じ)。
  • x-strong: 段落の休止を入れます(<p>タグを使用した場合と同じ)。

time

休止する期間。最大10秒(10s)、つまり10000ミリ秒(10000ms)までです。時間の単位(sまたはms)を含めてください。

デフォルトはmediumです。これはアトリビュートを指定しなかった場合、またはサポートされていないアトリビュート値を指定した場合に使用されます。

<speak>
    ここで3秒間一時停止します <break time="3s"/> 
    その後続きを読み上げます。
</speak> 

emphasis

タグで囲まれた単語またはフレーズを強調します。強調では、音声の速さと音量を変えます。強調の度合いが高くなると、より大きな声で、ゆっくり話されます。強調の度合いが低くなると、より小さな声で、かつ早口で話されます。

アトリビュート 使用できる値

level

  • strong: 音量を上げ、話す速度を遅くすることにより、音声は、より大きな声、かつゆっくりになります。
  • moderate: 音量を上げ、話す速度を遅くしますが、strongを設定した場合より控えめになります。これは、levelを指定しなかった場合のデフォルトとして使用されます。
  • reduced: 音量を下げ、話す速度を速くします。音声は、ソフトで早口になります。
<speak>
    言ったとおり私はあの人が 
    <emphasis level="strong">大好き</emphasis> 
    です。
</speak> 

lang

langは、言語モデルとルールを指定してタグの付いたコンテンツをxml:langアトリビュートで指定した言語で書かれているかのように発話させるために使います。他の言語の単語やフレーズを<lang>タグで囲むと、多くの場合、発音がよくなります。レストランやショップの名前など、他の言語の短いフレーズに使うと効果的です。

たとえば、以下は言語コードfr-FR(フランスで話されるフランス語)を使って「Paris」を発音する方法です。

<speak>
    In Paris, they pronounce it <lang xml:lang="fr-FR">Paris</lang>
</speak> 

Alexaはスキルの元の言語で利用できるサウンドを使用して発音します。このため、ネイティブスピーカーとまったく同じようには聞こえない可能性があります。langタグだけを使用した場合よりも自然な音声にするには、langタグとvoiceタグを一緒に使います。voiceタグを使うと、特定の言語に合わせてカスタマイズされた音声を選択できます。このように、タグを付けたテキストをlangアトリビュートに一致させ、voiceアトリビュートでテキストの言語も表すようにします。

たとえば、フランス語のフレーズ「J'adore chanter」を英語(米国)のスキルで、voiceタグを使わないでlangタグで表すとします。Alexaは英語の発音でそのフレーズを発音します。

<lang>タグなし フランス語に設定した<lang>タグあり
<speak>J'adore chanter</speak> 
<speak>
    <lang xml:lang="fr-FR">J'adore chanter</lang>
</speak> 

この場合、Alexaが「フランス語らしい」発音になるように英語で利用できる音声を使ってフランス語を発音します。

完璧なフランス語の発音では、「adore」という単語に口蓋垂ふるえ音(/R/)が含まれます。 <lang>タグを使って実現されるフランス語らしい英語の発音では、代わりに対応する/r/のサウンドを使用します。

langタグがサポートされるロケール

サポートされているロケールは、英語(米国)、英語(英国)、英語(インド)、英語(オーストラリア)、英語(カナダ)、ドイツ語(ドイツ)、スペイン語(スペイン)、イタリア語(イタリア)、日本語(日本)、フランス語(フランス)です。

p

段落を表します。このタグは、タグの前後にextra-strongの休止を入れます。これは、pauseに<break strength="x-strong"/>を指定した場合と同じです。

<speak>                                         
    <p>これは第一段落です。このテキストの読み上げ後、一時停止が入ります。</p>       
    <p>これは第二段落です。</p> 
</speak>                                        

phoneme

これで囲んだテキストに音素/音声的な発音を指定します。たとえば、「pecan」という単語は、人によって発音が違います。

アトリビュート 使用できる値

alphabet

次の音声記号を使用することを設定します:

  • ipa: 国際音声記号(IPA)。
  • x-sampa: X-SAMPA(The Extended Speech Assessment Methods Phonetic Alphabet)。

ph

話す内容の音声学的発音。

スキルでサポートされる言語のそれぞれでサポートされる記号の一覧については、以下を参照してください。

このタグを使用した場合、Alexaは、タグで囲まれたテキストではなく、phアトリビュートに指定された発音を使用します。そうではあっても、人間に読めるテキストをタグで囲んで提供する必要があります。次の例では、タグで囲まれた単語「pecan」は話されません。その代わりに、Alexaは、次のようにphアトリビュートに指定されたテキストを話します。

<speak>
    あなたは <phoneme alphabet="ipa" ph="pɪˈkɑːn">pecan</phoneme> と言います。​
    私は <phoneme alphabet="ipa" ph="ˈpi.kæn">pecan</phoneme> と言います。
</speak> 

音声記号で単語を記述するその他の例を次に示します。

単語 IPA X-SAMPA
bottle ˈbɑ.təl "bA.t@l
frozen ˈfɹoʊ.zən "fr\oU.z@n
blossom ˈblɑ.səm "blA.s@m

サポートされる記号

次のいくつかの表に、phonemeタグでの使用がサポートされている記号を記載します。これらの記号は、スキルの言語に固有のものです。

これらの記号は、日本語(日本)の発音を完全に網羅しています。他の言語では、この一覧に含まれていない記号を使用する必要がありますが、そのような記号はサポートされません。日本語(日本)のスキルでは、この一覧に含まれている記号のみ使用することをお勧めします。一覧以外の記号を使用すると、最適ではない音声が生成される可能性があるからです。

子音
IPAX-SAMPA説明
bb有声両唇破裂音bed
dd有声歯茎破裂音dig
d͡ʒdZ有声後部歯茎破擦音jump
ðD有声歯摩擦音then
ff無声唇歯摩擦音five
gg有声軟口蓋破裂音game
hh無声声門摩擦音house
jj硬口蓋接近音yes
kk無声軟口蓋破裂音cat
ll歯茎側面接近音lay
mm両唇鼻音mouse
nn歯茎鼻音nap
ŋN軟口蓋鼻音thing
pp無声両唇破裂音speak
ɹr\歯茎接近音red
ss無声歯茎摩擦音seem
ʃS無声後部歯茎摩擦音ship
tt無声歯茎破裂音trap
t͡ʃtS無声後部歯茎破擦音chart
θT無声歯摩擦音thin
vv有声唇歯摩擦音vest
ww両唇軟口蓋接近音west
zz有声歯茎摩擦音zero
ʒZ有声後部歯茎摩擦音vision
母音
IPAX-SAMPA説明
ə@中舌中央母音arena
ɚ@`R音性中舌中央母音reader
æ{非円唇前舌狭めの広母音trap
aI二重母音price
aU二重母音mouth
ɑA非円唇後舌広長母音father
eI二重母音face
ɝ3`R音性非円唇中舌半広母音nurse
ɛE非円唇前舌半広母音dress
ii非円唇前舌狭長母音fleece
ɪI非円唇前舌め広めの狭母音kit
oU二重母音goat
ɔO円唇後舌半広長母音thought
ɔɪOI二重母音choice
uu円唇後舌狭長母音goose
ʊU円唇後舌め広めの狭母音foot
ʌV非円唇後舌半広母音strut
追加の記号
IPAX-SAMPA説明
ˈ"第一アクセントAlabama
ˌ%第二アクセントAlabama
..音節の境界A.la.ba.ma

これらの記号は、英語(オーストラリア)の発音を完全に網羅しています。他の言語では、この一覧に含まれていない記号を使用する必要がありますが、そのような記号はサポートされません。英語(オーストラリア)のスキルでは、この一覧に含まれている記号のみ使用することをお勧めします。一覧以外の記号を使用すると、最適ではない音声が生成される可能性があるからです。

子音
IPAX-SAMPA説明
bb有声両唇破裂音bed
dd有声歯茎破裂音dig
d͡ʒdZ有声後部歯茎破擦音jump
ðD有声歯摩擦音then
ff無声唇歯摩擦音five
gg有声軟口蓋破裂音game
hh無声声門摩擦音house
jj硬口蓋接近音yes
kk無声軟口蓋破裂音cat
ll歯茎側面接近音lay
mm両唇鼻音mouse
nn歯茎鼻音nap
ŋN軟口蓋鼻音thing
pp無声両唇破裂音speak
ɹr\歯茎接近音red
ss無声歯茎摩擦音seem
ʃS無声後部歯茎摩擦音ship
tt無声歯茎破裂音trap
t͡ʃtS無声後部歯茎破擦音chart
θT無声歯摩擦音thin
vv有声唇歯摩擦音vest
ww両唇軟口蓋接近音west
zz有声歯茎摩擦音zero
ʒZ有声後部歯茎摩擦音vision
母音
IPAX-SAMPA説明
ə@中舌中央母音arena
æ{非円唇前舌狭めの広母音trap
aI二重母音price
aU二重母音mouth
ɑA非円唇後舌広長母音father
eI二重母音face
ɜ3非円唇中舌半広母音nurse
ɛE非円唇前舌半広母音dress
ii非円唇前舌狭長母音fleece
ɪI非円唇前舌め広めの狭母音kit
əʊ@U二重母音goat
ɔO円唇後舌半広長母音thought
ɔɪOI二重母音choice
uu円唇後舌狭長母音goose
ʊU円唇後舌め広めの狭母音foot
ʌV非円唇後舌半広母音strut
ɒQ円唇後舌広母音bother
ɛəE@二重母音bear
ɪəI@二重母音beer
ʊəU@二重母音tour
追加の記号
IPAX-SAMPA説明
ˈ"第一アクセントAlabama
ˌ%第二アクセントAlabama
..音節の境界A.la.ba.ma

これらの記号は、英語(カナダ)の発音を完全に網羅しています。他の言語では、この一覧に含まれていない記号を使用する必要がありますが、そのような記号はサポートされません。英語(カナダ)のスキルでは、この一覧に含まれている記号のみ使用することをお勧めします。一覧以外の記号を使用すると、最適ではない音声が生成される可能性があるからです。

子音
IPAX-SAMPA説明
bb有声両唇破裂音bed
dd有声歯茎破裂音dig
d͡ʒdZ有声後部歯茎破擦音jump
ðD有声歯摩擦音then
ff無声唇歯摩擦音five
gg有声軟口蓋破裂音game
hh無声声門摩擦音house
jj硬口蓋接近音yes
kk無声軟口蓋破裂音cat
ll歯茎側面接近音lay
mm両唇鼻音mouse
nn歯茎鼻音nap
ŋN軟口蓋鼻音thing
pp無声両唇破裂音speak
ɹr\歯茎接近音red
ss無声歯茎摩擦音seem
ʃS無声後部歯茎摩擦音ship
tt無声歯茎破裂音trap
t͡ʃtS無声後部歯茎破擦音chart
θT無声歯摩擦音thin
vv有声唇歯摩擦音vest
ww両唇軟口蓋接近音west
zz有声歯茎摩擦音zero
ʒZ有声後部歯茎摩擦音vision
母音
IPAX-SAMPA説明
ə@中舌中央母音arena
ɚ@`R音性中舌中央母音reader
æ{非円唇前舌狭めの広母音trap
aI二重母音price
aU二重母音mouth
ɑA非円唇後舌広長母音father
eI二重母音face
ɝ3`R音性非円唇中舌半広母音nurse
ɛE非円唇前舌半広母音dress
ii非円唇前舌狭長母音fleece
ɪI非円唇前舌め広めの狭母音kit
oU二重母音goat
ɔO円唇後舌半広長母音thought
ɔɪOI二重母音choice
uu円唇後舌狭長母音goose
ʊU円唇後舌め広めの狭母音foot
ʌV非円唇後舌半広母音strut
追加の記号
IPAX-SAMPA説明
ˈ"第一アクセントAlabama
ˌ%第二アクセントAlabama
..音節の境界A.la.ba.ma

これらの記号は、英語(インド)の発音を完全に網羅しています。他の言語では、この一覧に含まれていない記号を使用する必要がありますが、そのような記号はサポートされません。英語(インド)のスキルでは、この一覧に含まれている記号のみ使用することをお勧めします。一覧以外の記号を使用すると、最適ではない音声が生成される可能性があるからです。

子音
IPAX-SAMPA説明
bb有声両唇破裂音bed
dd有声歯茎破裂音dig
d͡ʒdZ有声後部歯茎破擦音jump
ðD有声歯摩擦音then
ff無声唇歯摩擦音five
gg有声軟口蓋破裂音game
hh無声声門摩擦音house
jj硬口蓋接近音yes
kk無声軟口蓋破裂音cat
ll歯茎側面接近音lay
mm両唇鼻音mouse
nn歯茎鼻音nap
ŋN軟口蓋鼻音thing
pp無声両唇破裂音speak
ɹr\歯茎接近音red
ss無声歯茎摩擦音seem
ʃS無声後部歯茎摩擦音ship
tt無声歯茎破裂音trap
t͡ʃtS無声後部歯茎破擦音chart
θT無声歯摩擦音thin
vv有声唇歯摩擦音vest
ww両唇軟口蓋接近音west
zz有声歯茎摩擦音zero
ʒZ有声後部歯茎摩擦音vision
母音
IPAX-SAMPA説明
ə@中舌中央母音arena
æ{非円唇前舌狭めの広母音trap
aI二重母音price
aU二重母音mouth
ɑA非円唇後舌広長母音father
eI二重母音face
ɜ3非円唇中舌半広母音nurse
ɛE非円唇前舌半広母音dress
ii非円唇前舌狭長母音fleece
ɪI非円唇前舌め広めの狭母音kit
əʊ@U二重母音goat
ɔO円唇後舌半広長母音thought
ɔɪOI二重母音choice
uu円唇後舌狭長母音goose
ʊU円唇後舌め広めの狭母音foot
ʌV非円唇後舌半広母音strut
ɒQ円唇後舌広母音bother
ɛəE@二重母音bear
ɪəI@二重母音beer
ʊəU@二重母音tour
追加の記号
IPAX-SAMPA説明
ˈ"第一アクセントAlabama
ˌ%第二アクセントAlabama
..音節の境界A.la.ba.ma
ヒンドゥー語の子音
IPAXSAMPA説明
p_h無声有気両唇破裂音फूल (phool)
b_h有声有気両唇破裂音भारी (bhaari)
t_d無声歯破裂音तापमान (taapmaan)
t̪ʰt_d_h無声有気歯破裂音थोड़ा (thoda)
d_d有声歯破裂音दिल्ली (dilli)
d̪ʱd_d_h有声有気歯破裂音धोबी (dhobi)
ʈt`無声反り舌破裂音टोरा (katora)
ʈʰt`_h無声有気反り舌破裂音ठंड (thand)
ɖd`有声反り舌破裂音र (darr)
ɖʱd`_h有声有気反り舌破裂音ढाल (dhal)
tʃʰtS_h無声有気硬口蓋破擦音छाल (chaal)
dʒʱdZ_h有声有気硬口蓋破擦音झाल (jhaal)
k_h無声有気軟口蓋破裂音खान (khan)
ɡʱg_h有声有気軟口蓋破裂音घान (ghaan)
ɳn`反り舌鼻音क्ष (kshan)
ɾ4歯茎はじき音राम (ram)
ɽr`反り舌はじき平音ड़ा (bada)
ɽʱr`_h有声有気反り舌はじき音ढ़ी (barhi)
ʋv\両唇接近音सूल (wasool)
ヒンドゥー語の母音
IPAXSAMPA説明
ə@_o中舌中央母音च्छा (achhaa)
ə̃@~鼻音化中舌中央母音हँसना (hansnaa)
aA_o非円唇前舌広母音ग (aag)
A~鼻音化した非円唇前舌広母音घड़ियाँ (ghariyaan)
ɪI_o非円唇前舌め広めの狭母音क्कीस (ikkees)
ɪ̃I~鼻音化した非円唇前舌め広めの狭母音सिंचाई (sinchai)
ii_o非円唇前舌狭母音बिल्ली (billee)
i~鼻音化した非円唇前舌狭母音हीं (nahin)
ʊU_o円唇後舌め広めの狭母音ल्लू (ullu)
ʊ̃U~鼻音化した円唇後舌め広めの狭母音मुँह (munh)
uu_o円唇後舌狭母音फूल (phool)
u~鼻音化した円唇後舌狭母音ऊँट (oont)
ɔO_o円唇後舌半広母音कौन (kaun)
ɔ̃O~鼻音化した円唇後舌半広母音भौं  (bhaun)
oo円唇後舌半狭母音सोना (sona)
o~鼻音化した円唇後舌半狭母音क्यों (kyon)
ɛE_o非円唇前舌半広母音पैसा  (paisa)
ɛ̃E~鼻音化した非円唇前舌半広母音मैं (main)
ee非円唇前舌半狭母音क (ek)
e~鼻音化した非円唇前舌半狭母音किताबें  (kitabein)

これらの記号は、英語(英国)の発音を完全に網羅しています。他の言語では、この一覧に含まれていない記号を使用する必要がありますが、そのような記号はサポートされません。英語(英国)のスキルでは、この一覧に含まれている記号のみ使用することをお勧めします。一覧以外の記号を使用すると、最適ではない音声が生成される可能性があるからです。

子音
IPAX-SAMPA説明
bb有声両唇破裂音bed
dd有声歯茎破裂音dig
d͡ʒdZ有声後部歯茎破擦音jump
ðD有声歯摩擦音then
ff無声唇歯摩擦音five
gg有声軟口蓋破裂音game
hh無声声門摩擦音house
jj硬口蓋接近音yes
kk無声軟口蓋破裂音cat
ll歯茎側面接近音lay
mm両唇鼻音mouse
nn歯茎鼻音nap
ŋN軟口蓋鼻音thing
pp無声両唇破裂音speak
ɹr\歯茎接近音red
ss無声歯茎摩擦音seem
ʃS無声後部歯茎摩擦音ship
tt無声歯茎破裂音trap
t͡ʃtS無声後部歯茎破擦音chart
θT無声歯摩擦音thin
vv有声唇歯摩擦音vest
ww両唇軟口蓋接近音west
zz有声歯茎摩擦音zero
ʒZ有声後部歯茎摩擦音vision
母音
IPAX-SAMPA説明
ə@中舌中央母音arena
æ{非円唇前舌狭めの広母音trap
aI二重母音price
aU二重母音mouth
ɑA非円唇後舌広長母音father
eI二重母音face
ɜ3非円唇中舌半広母音nurse
ɛE非円唇前舌半広母音dress
ii非円唇前舌狭長母音fleece
ɪI非円唇前舌め広めの狭母音kit
əʊ@U二重母音goat
ɔO円唇後舌半広長母音thought
ɔɪOI二重母音choice
uu円唇後舌狭長母音goose
ʊU円唇後舌め広めの狭母音foot
ʌV非円唇後舌半広母音strut
ɒQ円唇後舌広母音bother
ɛəE@二重母音bear
ɪəI@二重母音beer
ʊəU@二重母音tour
追加の記号
IPAX-SAMPA説明
ˈ"第一アクセントAlabama
ˌ%第二アクセントAlabama
..音節の境界A.la.ba.ma

これらの記号は、英語(米国)の発音を完全に網羅しています。他の言語では、この一覧に含まれていない記号を使用する必要がありますが、そのような記号はサポートされません。英語(米国)のスキルでは、この一覧に含まれている記号のみ使用することをお勧めします。一覧以外の記号を使用すると、最適ではない音声が生成される可能性があるからです。

子音
IPAX-SAMPA説明
bb有声両唇破裂音bed
dd有声歯茎破裂音dig
d͡ʒdZ有声後部歯茎破擦音jump
ðD有声歯摩擦音then
ff無声唇歯摩擦音five
gg有声軟口蓋破裂音game
hh無声声門摩擦音house
jj硬口蓋接近音yes
kk無声軟口蓋破裂音cat
ll歯茎側面接近音lay
mm両唇鼻音mouse
nn歯茎鼻音nap
ŋN軟口蓋鼻音thing
pp無声両唇破裂音speak
ɹr\歯茎接近音red
ss無声歯茎摩擦音seem
ʃS無声後部歯茎摩擦音ship
tt無声歯茎破裂音trap
t͡ʃtS無声後部歯茎破擦音chart
θT無声歯摩擦音thin
vv有声唇歯摩擦音vest
ww両唇軟口蓋接近音west
zz有声歯茎摩擦音zero
ʒZ有声後部歯茎摩擦音vision
母音
IPAX-SAMPA説明
ə@中舌中央母音arena
ɚ@`R音性中舌中央母音reader
æ{非円唇前舌狭めの広母音trap
aI二重母音price
aU二重母音mouth
ɑA非円唇後舌広長母音father
eI二重母音face
ɝ3`R音性非円唇中舌半広母音nurse
ɛE非円唇前舌半広母音dress
ii非円唇前舌狭長母音fleece
ɪI非円唇前舌め広めの狭母音kit
oU二重母音goat
ɔO円唇後舌半広長母音thought
ɔɪOI二重母音choice
uu円唇後舌狭長母音goose
ʊU円唇後舌め広めの狭母音foot
ʌV非円唇後舌半広母音strut
追加の記号
IPAX-SAMPA説明
ˈ"第一アクセントAlabama
ˌ%第二アクセントAlabama
..音節の境界A.la.ba.ma

これらの記号は、フランス語(カナダ)の発音を完全に網羅しています。他の言語では、この一覧に含まれていない記号を使用する必要がありますが、そのような記号はサポートされません。フランス語(カナダ)のスキルでは、この一覧に含まれている記号のみ使用することをお勧めします。一覧以外の記号を使用すると、最適ではない音声が生成される可能性があるからです。

子音
IPA X-SAMPA 説明
b b 有声両唇破裂音 bon
d d 有声歯茎破裂音 deux
f f 無声唇歯摩擦音 faire
g ɡ 有声軟口蓋破裂音 garçon
ɥ H 両唇硬口蓋接近音 huit
j j 硬口蓋接近音 travail
k k 無声軟口蓋破裂音 corps
l l 歯茎側面接近音 laisser
m m 両唇鼻音 même
n n 歯茎鼻音 nous
ɲ J 硬口蓋鼻音 gagner
ŋ N 軟口蓋鼻音 camping
p p 無声両唇破裂音 père
ʁ R 有声口蓋垂摩擦音 regarder
s s 無声歯茎摩擦音 sans
ʃ S 無声後部歯茎摩擦音 chance
t t 無声歯茎破裂音 tout
tS 無声後部歯茎破擦音 ciao
dZ 有声後部歯茎破擦音 Djakarta
v v 有声唇歯摩擦音 vous
w w 両唇軟口蓋接近音 oui
z z 有声歯茎摩擦音 zéro
ʒ Z 有声後部歯茎摩擦音 jamais
母音
IPA X-SAMPA 説明
i i 非円唇前舌狭母音 si
y y 円唇前舌狭母音 sûr
ɪ I 非円唇前舌広めの狭母音 pipe
ʏ Y 円唇前舌広めの狭母音 lutte
e e 非円唇前舌半狭母音 clé
ø 2 円唇前舌半狭母音 ceux
ɛ E 非円唇前舌半広母音 mettre
ɛː E: 非円唇前舌半広長母音 mtre
œ 9 円唇前舌半広母音 sœur
a a 非円唇前舌広母音 patte
ə @ 中舌中央母音 le
u u 円唇後舌狭母音 roue
ʊ U 円唇後舌広めの狭母音 coupe
o o 円唇後舌半狭母音 bureau
ɔ O 円唇後舌半広母音 minimum
ɑ A 非円唇後舌広母音 châle
鼻母音
IPA X-SAMPA 説明
ɑ̃ A~ 鼻音化した非円唇後舌広母音 champ
ɛ̃ E~ 鼻音化した非円唇前舌半広母音 pain
œ̃ 9~ 鼻音化した円唇前舌半広母音 parfum
ɔ̃ O~ 鼻音化した円唇後舌半広母音 nom
外国語の音素
IPA X-SAMPA 説明
ɚ @` R音性中舌中央母音 reader
æ { 非円唇中舌半広母音 trap
ʌ V 非円唇後舌半広母音 bus
m= 音節の両唇鼻音 rhythm
n= 音節の歯茎鼻音 griffon
p_h 有気無声両唇破裂音 power
t_h 有気無声歯茎破裂音 torn
k_h 有気無声軟口蓋破裂音 cage
θ T 無声歯摩擦音 cloth
ð D 有声歯摩擦音 this
h h 無声声門摩擦音 hello
ɹ r\ 歯茎接近音 rice
ɫ l_e 歯茎側面接近音 feel

これらの記号は、フランス語(フランス)の発音を完全に網羅しています。他の言語では、この一覧に含まれていない記号を使用する必要がありますが、そのような記号はサポートされません。フランス語(フランス)のスキルでは、この一覧に含まれている記号のみ使用することをお勧めします。一覧以外の記号を使用すると、最適ではない音声が生成される可能性があるからです。

子音
IPAX-SAMPA説明
bb有声両唇破裂音bon
dd有声歯茎破裂音deux
ff無声唇歯摩擦音faire
gɡ有声軟口蓋破裂音garçon
ɥH両唇硬口蓋接近音huit
jj硬口蓋接近音travail
kk無声軟口蓋破裂音corps
ll歯茎側面接近音laisser
mm両唇鼻音même
nn歯茎鼻音nous
ɲJ硬口蓋鼻音gagner
ŋN軟口蓋鼻音camping
pp無声両唇破裂音père
ʁR有声口蓋垂摩擦音regarder
ss無声歯茎摩擦音sans
ʃS無声後部歯茎摩擦音chance
tt無声歯茎破裂音tout
tS無声後部歯茎破擦音ciao
dZ有声後部歯茎破擦音Djakarta
vv有声唇歯摩擦音vous
ww両唇軟口蓋接近音oui
zz有声歯茎摩擦音zéro
ʒZ有声後部歯茎摩擦音jamais
母音
IPAX-SAMPA説明
aa非円唇前舌広母音patte
ee非円唇前舌半狭母音clé
ɛE非円唇前舌半広母音faite
ə@中舌中央母音le
ii非円唇前舌狭母音si
œ9円唇前舌半広母音sœur
ø2円唇前舌半狭母音ceux
oo円唇後舌半狭母音bureau
ɔO円唇後舌半広母音minimum
uu円唇後舌狭母音roue
yy円唇前舌狭母音sûr
鼻母音
IPAX-SAMPA説明
ɑ̃A~鼻音化した非円唇後舌広母音champ
ɛ̃E~鼻音化した非円唇前舌半広母音pain
œ̃9~鼻音化した円唇前舌半広母音parfum
ɔ̃O~鼻音化した円唇後舌半広母音nom
外国語の音素
IPAX-SAMPA説明
ðD有声歯摩擦音this
hh無声声門摩擦音hello
ɹr\歯茎接近音rice
θT無声歯摩擦音cloth

これらの記号は、ドイツ語の発音を完全に網羅しています。他の言語では、この一覧に含まれていない記号を使用する必要がありますが、そのような記号はサポートされません。ドイツ語のスキルでは、この一覧に含まれている記号のみ使用することをお勧めします。一覧以外の記号を使用すると、最適ではない音声が生成される可能性があるからです。

子音
IPAX-Sampa説明
bb有声両唇破裂音Bier
dd有声歯茎破裂音Dach
çC無声硬口蓋摩擦音ich
d͡ʒdZ有声後部歯茎破擦音Dschungel
ff無声唇歯摩擦音Vogel
gg有声軟口蓋破裂音Gabel
hh無声声門摩擦音Haus
jj硬口蓋接近音jemand
kk無声軟口蓋破裂音Kleid
ll歯茎側面接近音Loch
mm両唇鼻音Milch
nn歯茎鼻音Natur
ŋN軟口蓋鼻音klingen
pp無声両唇破裂音Park
p͡fpf無声唇歯破擦音Apfel
ʀR口蓋垂ふるえ音Regen
ss無声歯茎摩擦音Messer
ʃS無声後部歯茎摩擦音Fischer
tt無声歯茎破裂音Topf
t͡sts無声歯茎破擦音Zahl
t͡ʃtS無声後部歯茎破擦音deutsch
vv有声唇歯摩擦音Wasser
無声軟口蓋摩擦音kochen
zz有声歯茎摩擦音See
ʒZ有声後部歯茎摩擦音Orange
母音
IPAX-Sampa説明
aa非円唇前舌広母音Salz
a:非円唇前舌広長母音Sahne
aU二重母音Augen
ə@中舌中央母音Rede
ɐ6中舌狭めの広母音besser
aI二重母音nein
ɛE非円唇前舌半広母音Kellner
e:非円唇前舌半狭長母音Rede
øː2:円唇前舌半狭長母音böse
ɪI非円唇前舌め広めの狭母音bitte
i:非円唇前舌狭長母音Lied
ɔO円唇後舌半広母音Koffer
œ9円唇前舌半広母音können
o:円唇後舌半狭長母音Kohl
ɔʏOY二重母音neu
ʊU円唇後舌め広めの狭母音Wunder
ʏY円唇前舌め広めの狭母音Küche
u:円唇後舌狭長母音Bruder
y:円唇前舌狭長母音kühl
集中二重母音
IPAX-Sampa
aɐ̯a6_^hart
aːɐ̯a:6_^Haar
ɛɐ̯E6_^Berg
eːɐ̯e:6_^schwer
øːɐ̯2:6_^Nadelöhr
ɪɐ̯I6_^Wirtschaft
iːɐ̯i:6_^Tier
ɔɐ̯O6_^dort
œɐ̯96_^Wörter
oːɐ̯o:6_^Ohr
ʊɐ̯U6_^Gurke
ʏɐ̯Y6_^Türkei
uːɐ̯u:6_^Kur
yːɐ̯y:6_^Tür
英語の音素
IPAX-Sampa説明
ðD有声歯摩擦音brother
ɹr\歯茎接近音ripe
θT無声歯摩擦音north
ww両唇軟口蓋接近音well
ɔːO:円唇後舌半広長母音callcenter
eI二重母音rating
oU二重母音windows
フランス語の音素
IPAX-Sampa説明
ã:a~:鼻音化した非円唇前舌広長母音Croissant
ɛ̃ːE~:鼻音化した非円唇前舌半広長母音Terrain
õ:o~:鼻音化した円唇後舌半狭長母音Annonce
追加の記号
IPAX-Sampa説明
ˈ"第一アクセントgenau
..音節の境界ver.stan.den

これらの記号は、イタリア語の発音を完全に網羅しています。他の言語では、この一覧に含まれていない記号を使用する必要がありますが、そのような記号はサポートされません。イタリア語のスキルでは、この一覧に含まれている記号のみ使用することをお勧めします。一覧以外の記号を使用すると、最適ではない音声が生成される可能性があるからです。

X-SAMPAIPA
bbproblema
tSpancia
dddiretto
dzdzbenzina
ffdifesa
ggerogazione
jjvotazione
dZlegislatura
kkcascata
llpolvere
Lʎdettaglio
mmsettimo
nncomune
Nŋanche
Jɲdignità
pppasta
rrpromozione
ssvestito
Sʃdisciplina
ttarticolo
tstsesistenza
vvtuttavia
wwdelinquenza
zzmusicista
Zʒpeugeot
iimusica
eevestito
Eɛveste
aamano
uuuva
oopolacco
Oɔpovero
 .音節の境界rapido (" r a . p i . d o)
"第一アクセントcerto (" c ɛ r . t o)
 %第二アクセントalfabeto (% a l . f a . " b e . t o)

prosody

タグで囲まれた音声の音量、高さ、速さを変更します。

アトリビュート 使用できる値

rate

音声の速さを変更します:

  • x-slowslowmediumfastx-fast 速さを定義済みの値に設定します。
  • n%:音声の速さを増減するパーセンテージを指定します:
    • 100%は、通常の速さのまま変更しないことを示します。
    • 100%より大きいパーセンテージは、速さを上げます。
    • 100%より小さいパーセンテージは、速さを下げます。
    • 指定できる最小値は20%です。

pitch

音声のトーン(高さ)を増減します。

  • x-lowlowmediumhighx-high 高さを定義済みの値に設定します。
  • +n%: 指定したパーセンテージだけ高さを上げます。例:+10%+5%指定できる最大値は+50%です​。+50%より大きい値は、+50%として適用されます。
  • -n%: 指定したパーセンテージだけ高さを下げます。例:-10%-20%指定できる最小値は-33.3%です​。-33.3%より小さい値は、-33.3%として適用されます。

volume

音声の音量を変更します:

  • silentx-softsoftmediumloudx-loud 音量を現在の声で定義済みの値に設定します。
  • +ndB 現在の音量レベルを相対的に上げます。たとえば、+0dBでは、音量は変化しません。+6dBでは、現在の振幅がおよそ2倍になります。指定できる正の最大値は、およそ+4.08dBです。
  • -ndB 現在の音量レベルを相対的に下げます。たとえば、-6dBでは、現在の振幅の半分ほどになります。
<speak>
    最初の文は通常の音量です。
    <prosody volume="x-loud">2つめの文はより大きい音量です</prosody>。
    起きたときは <prosody rate="x-slow">とてもゆっくり話します</prosody>。
    普通の高さで話すこともできますが、
    <prosody pitch="x-high"> もっと高い声で話すこともできますし</prosody><prosody pitch="low">低い声も出せます</prosody></speak>

s

センテンスを表します。このタグは、タグの前後にstrongの休止を入れます。

これは、次のような指定と同じです。

  • センテンスの末尾に句点(。)を置く。
  • <break strength="strong"/>を使用して休止を指定する。
<speak>
    <s>これは文章です</s>
    <s>この二つめの文の前に短い一時停止が入ったはずです</s> 
    この文は句点で終わるため、同じ一時停止が入ります。
</speak>

say-as

テキストを解釈する方法を記述します。これによってテキストに追加のコンテキストを提供できるため、Alexaがテキストを音声化する際の曖昧さを解消できます。Alexaがテキストを解釈する方法は、interpret-asアトリビュートで指定します。

アトリビュート 使用できる値

interpret-as

  • charactersspell-out 文字ごとに発音します。
  • cardinalnumber 値を基数として解釈します。
  • ordinal 値を順序数として解釈します。
  • digits 数字ごとに別々に発音します。
  • fraction 値を分数として解釈します。これは、常分数(3/20など)と帯分数(1+1/2など)に対して機能します。
  • unit 値を測定値として解釈します。値は、数値または分数のいずれかの後に単位が続く(単位の前にスペースを入れない)もののほか、単位だけも可能です。
  • date 値を日付として解釈します。形式はformatアトリビュートで指定します。
  • time1'21"などの値を、分と秒で表した期間として解釈します。
  • telephone 値を7桁または10桁の電話番号として解釈します。この設定では、内線番号を処理することもできます(例:2025551212x345)。
  • address 値を住所の一部として解釈します。
  • interjection 値を間投詞として解釈します。Alexaは、このテキストをより感情豊かに話します。最適な結果を得るには、サポートされる間投詞だけを使用し、それぞれのspeechconを休止で囲んでください。例:<say-as interpret-as="interjection">わおぅ。</say-as>。Speechconは、以下にリストされた言語でサポートされます。
  • expletive タグで囲まれた内容を「ピーという音」で消します。

format

interpret-asdateに設定した場合にのみ使用します。日付の形式を指定する次のいずれかに設定します。

  • mdy
  • dmy
  • ymd
  • md
  • dm
  • ym
  • my
  • d
  • m
  • y

また、日付をYYYYMMDDの形式で提供した場合は、formatアトリビュートは無視されます。日付の一部を省略するには、疑問符(?)を組み込みます。たとえば、<say-as interpret-as="date">????0922</say-as>をAlexaが読むと、「9月22日」になります。

なお、このタグを指定しない場合でも、Alexaサービスは、提供されたテキストをフォーマットに基づいて正しく解釈しようとします。たとえば、出力音声に「202-555-1212」が含まれている場合、Alexaは、数字の各桁を発音し、各ダッシュのところで短い休止を入れます。この場合は、<say-as interpret-as="telephone">を使用する必要がありません。ただし、「2025551212」というテキストを提供した場合に、これを電話番号として発音するようにAlexaに指示するには、<say-as interpret-as="telephone">を使用する必要があります。

<speak>
    基数として発音される数字の例です。 
    <say-as interpret-as="cardinal">12345</say-as>。
    同じ数字を別々に発音した例です。
    <say-as interpret-as="digits">12345</say-as>。
    単語をスペルアウトする例です。<say-as interpret-as="spell-out">hello</say-as>
</speak>

サポートされるSpeechcon

Speechconは言語固有です。各スキル言語で使用できるSpeechconについては、次のページを参照してください。

speak

これは、SSMLドキュメントのルート要素です。Alexa Skills KitでSSMLを使用する場合は、話すテキストをこのタグで囲んでください。

<speak>
    SSMLがないとAlexaはこんな風に聞こえます。
</speak>

sub

指定した単語またはフレーズを、異なる単語またはフレーズとして発音します。置き換えて発音する語句は、aliasアトリビュートで指定します。

アトリビュート 使用できる値

alias

タグで囲まれたテキストの代わりに話す単語またはフレーズ。

この例では、省略形の化学元素をフルワードで置き換えます。

<speak>
    私が好きな化学元素は<sub alias="アルミニウム">Al</sub>ですが、
    Alは<sub alias="マグネシウム">Mg</sub>の方が好きなのです。
</speak> 

voice

指定したAmazon Pollyの音声でテキストを読み上げるにはvoiceタグを使用します。それぞれの音声にはそれぞれの個性があります。voiceタグは、speechcons以外のすべてのSSMLタグと組み合わせて使用できます。スキルで複数の音声を使用して優れたユーザーエクスペリエンスを生み出す方法については、スキルにAmazon Pollyの音声を使用するためのユーザーエクスペリエンスガイドラインを参照してください。

この表はAlexaでサポートされるAmazon Pollyの音声の一覧です。

アトリビュート 使用できる値

name

以下の音声は、それぞれに対応する言語でサポートされています。

  • 英語、米国(en-US): IvyJoannaJoeyJustinKendraKimberlyMatthewSalli
  • 英語、オーストラリア(en-AU): NicoleRussell
  • 英語、イギリス(en-GB): AmyBrianEmma
  • 英語、インド(en-IN): AditiRaveena
  • ドイツ語(de-DE): HansMarleneVicki
  • スペイン語、カスティリャ(es-es): ConchitaEnrique
  • イタリア語(it-IT): CarlaGiorgio
  • 日本語(ja-JP): MizukiTakumi
  • フランス語(fr-FR): CélineLéaMathieu

サンプル–標準のAlexa音声と指定したAmazon Pollyの音声

この例では、「Kendra」はen-USの音声でlangタグが不要なため、このサンプルがen-USのスキルからのものであると想定しています。このサンプルがen-USロケールのないスキルからのものだった場合、langタグを追加してen-USに設定する必要があります。

<speak>
    I want to tell you a secret.
    <voice name="Kendra">I am not a real human.</voice>.
    Can you believe it?
</speak>

サンプル–ダイアログで2種類の音声を使用する

この例は、英語(米国)の音声と英語(英国)の音声の間のダイアログです。たとえば、2人の異なるキャラクターが登場する物語が読まれる場合などに使えます。標準のAlexa音声(ロケールによって異なる)は最初と最後の文を読み上げます。

<speak>
    Here's a surprise you did not expect. 
    <voice name="Kendra"><lang xml:lang="en-US">I want to tell you a secret.</lang></voice>
    <voice name="Brian"><lang xml:lang="en-GB">Your secret is safe with me!</lang></voice>	
    <voice name="Kendra"><lang xml:lang="en-US">I am not a real human.</lang></voice>.
    Can you believe it?
</speak>

以下の例では、デフォルトのAlexa音声が英語(米国)のスキルに使われます。スキルが英語(英国)向けの場合、デフォルトのAlexa音声はそれに対応したものになります。

サンプル–英語のスキルでフランス語のコンテンツを使用する

この例では、このスキルのロケールが英語を話す地域向けであると想定しています。「Celine」はフランス語(フランス)の音声であり、Celineのコンテンツはフランス語で話してほしいと考えているため、langタグは「fr-FR」に指定する必要があります。

<speak>
    Welcome to Car-Fu. <voice name="Celine"><lang xml:lang="fr-FR">Bienvenue à Car-Fu</lang></voice>
    You can order a ride, or request a fare estimate.
    Which will it be?
</speak> 

Amazon Pollyの音声を使う場合のヒント

Amazon Pollyの音声はすべて、ほぼ同じ音量を使用していますが、一部Alexaの音声よりも大きく聞こえるものも、小さく聞こえるものもあります。選択した音声の音量、速さ、高さを変更するには、prosodyタグを使用します。Alexaでサポートされる他のSSMLタグも、音声出力を変更するのに使用できます。

開発者は、デフォルトのAlexa音声に加えて1つ以上のAmazon Pollyの音声を含む応答でスキルを強化したり、特定の応答に特定の音声を選択したりすることができます。スキルでAmazon Pollyの音声を使用する場合のガイドラインについては、スキルにAmazon Pollyの音声を使用するためのユーザーエクスペリエンスガイドラインを参照してください。

Alexaの開発者は、Amazon Pollyの音声を無料で使用できます。

スキルのロケールは地域と言語の組み合わせを表し、すべてのAmazon Pollyの音声はロケールにタグ付けされています。たとえば、「en-AU」ロケールはオーストラリアの英語を表し、「en-IN」はインドの英語を表します。スキルのロケールは最初にスキルを作成するときに選択します。

スキルで指定したのと異なるロケールの音声を選択する場合、最適な結果を得るには、その音声を再生するコンテンツの言語をlangタグを使って指定します。詳細については、langタグを参照してください。

スキルの応答で別のロケールの音声を組み合わせて使う場合は、ユーザーエクスペリエンスに細心の注意を払ってください。

voiceタグのNode.jsサンプルコード

Node.jsスキルを作成する場合、voiceタグで音声出力を囲んで特定の音声を取得するために、このswitchVoice関数を使用できます。Alexa Skills Kit SDK for Node.jsを使用する場合はSDKによって処理されるため、音声出力を<speak>タグで囲む必要はありません。

function switchVoice(text,voice_name) {
  if (text){
    return "<voice name='" + voice_name + "'>" + text + "</voice>"
  }
}

以下は、switchVoice関数で複数の音声を使うスキルの音声出力サンプルです。

const speechOutput = "私はアレクサです。" + switchVoice("I am Matthew.","Matthew") + switchVoice("I am Kendra.","Kendra") + switchVoice("and I am Ivy.","Ivy") + "すばらしいチームでしょう?"

スキルの応答すべてを特定の音声で言うようにしたい場合、スキルのすべての音声出力をSSMLで指定し、適切なvoiceタグで囲むようにしてください。

w

このタグは、<say-as>と類似した働きをし、単語の品詞を指定することによって単語の発音をカスタマイズします。

アトリビュート 使用できる値

role

次のいずれかに設定します

  • amazon:VB 単語を動詞(現在形)と解釈します。
  • amazon:VBD 単語を過去分詞として解釈します。
  • amazon:NN 単語を名詞として解釈します。
  • amazon:SENSE_1 単語をデフォルト以外の意味で使用します。たとえば、「bass」という名詞は、意味に応じて発音が異なります。この単語の「デフォルト」の意味は、音楽の最も低い音域のパートです。別の意味は(これも名詞)は、淡水魚の一種です。<speak><w role="amazon:SENSE_1">bass</w>"</speak>と指定すると、デフォルト以外の発音(淡水魚)が適用されます。
<speak>
    <say-as interpret-as="characters">read</say-as>という単語は、 
    単数現在形の<w role="amazon:VB">read</w>、
    または過去分詞形の<w role="amazon:VBD">read</w>のいずれかとして解釈されます。
</speak> 

ここで取り上げたタグは、以前は、アトリビュート名でivonaネームスペースを使用していたことにご注意ください。タグには後方互換性があるため、ivonaネームスペースを使用して記述された既存のSSMLも引き続き機能します。

SSMLのその他のリファレンス

すべてのSSMLタグ:

  • 音声合成マークアップ言語(SSML)のリファレンス(このドキュメント)

Speechcon(感嘆詞):

サウンドライブラリ: