Actions on Google(Google Home)で使用できるSSMLタグのまとめ

Alexa編はこちらです。SSMLであることは一緒なのでAlexaとあまり変わりませんが、使えるタグの種類に違いがありますので(Actions on Googleの方が使えるタグが少ない)Actions on Google編も書いてみました。
まずはAlexa編と同様にSSMLの説明から。  

SSML

SSML(Speech Synthesis Markup Language)は、人工的に人間の音声を作りだす 音声合成 のためのマークアップ言語で、XMLでテキストの読み上げ内容を詳細に定義できます。2010年にバージョン1.1がW3C勧告されています。
Amazon Alexa(Amazon Echo)やActions on Google(Google Home)でも採用されていて、端末からユーザーへのレスポンスをSSMLで定義することができます。

Actions on Google(Google Home)で使用できるSSMLタグ

公式のこちらのページを参考にしています。

speak

SSMLのルートタグです。すべてのSSMLはこのタグで囲まれます。

break

読み上げを停止する時間を設定します。strengthtimeで停止時間を設定します。

属性名
strength ・none
 停止時間を無くします。デフォルトだとピリオドのあとに停止時間があるのですが、その時間もなくします。
・x-weak
・weak
・medium(default)
・strong
・x-strong
time 停止時間を指定します。秒(s)orミリ秒(ms)での指定が可能で、最大10秒になっています。
  • タグ使用例
<speak>
    There is a three second pause here <break time="3s"/> 
    then the speech continues.
</speak> 

say-as

タグで囲まれた文字がGoogle Assistantにどう解釈してほしいかを伝えるためのタグです。例えば「20170707」という文字を

<say-as interpret-as="date">20170707</say-as>

というようにsay-asタグでこれは日付ですよとGoogle Assistantに伝えることで、Google Assistantは日付に適した発声を行ってくれます。
say-asで囲まなくてもGoogle Assistantがある程度は自動で認識を行いますが、明示的に指定することでより最適化された発声を行うようになります。

属性名
interpret-as ・characters
 それぞれの文字をそのまま読みあげるための指定です。
・cardinal
 基数表記(one, two, threeなど)であることを伝えます。
・ordinal
 序数表記(first, second, thirdなど)であることを伝えます。
・digit
 数字をそれぞれの文字ごとに読み上げるための指定です。
・date
 日付表記であることを伝えます。フォーマットはformat属性で指定します。
・time
 時刻表記であることを伝えます。フォーマットはformat属性で指定します。
・telephone
 電話番号表記であることを伝えます。
format interpret-asでdateが指定された場合に、日付フォーマットを指定します。

audio

Google Assistantの発声機能で読み上げる代わりに音声ファイルを流すためのタグです。

使用する音声ファイルにはいくつかの条件があります。
◯ MP3 (MPEG v2)
・ サンプルレートが24kHzであること
・ ビットレートが24〜96KB/sで、固定レートであること

◯ Ogg Opus
・ サンプルレートが24kHzであること
・ ビットレートが24〜96KB/sで、固定レートであること

◯ WAV (RIFF)【Deprecated】
・ サンプルレートが24kHzであること
・ PCM 16bit signed リトルエンディアンであること

◯全フォーマット共通
・ モノラルが好ましいが、ステレオも可能
  ・ インターネット上でホスティングされた HTTPSエンドポイントで提供されていること。
  ・ 120秒以内であること
  ・ サイズが5MB以内であること
  ・ ユーザーエージェントが「Google-Speech-Actions」であるリクエストを受け付けること

属性名
src MP3ファイルのURLを指定します
  • タグ使用例
<speak>
    Welcome to Car-Fu. 
    <audio src="https://carfu.com/audio/carfu-welcome.mp3" />
    You can order a ride, or request a fare estimate. 
    Which will it be?
</speak> 

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>    

s

センテンスを表現するためのタグです。

  • タグ使用例
<speak>
    <s>This is a sentence</s>
    <s>There should be a short pause before this second sentence</s> 
    This sentence ends with a period and should have the same pause.
</speak>

sub

このタグで囲まれた単語や文章は alias属性で指定された内容に置き換えられて発声されます。

属性名
alias タグで囲まれた内容を置き換える単語・文章です。
  • タグ使用例
<speak>
    My favorite chemical element is <sub alias="aluminum">Al</sub>,
    but Al prefers <sub alias="magnesium">Mg</sub>. 
</speak>