Web API リファレンス|Tropo Web API

{"say":} オブジェクト

   

ユーザーに対して何かを言います。askとは異なり、ユーザーからの応答を待つ機能はありません。

 

sayは音声合成(TTS)を使用または音声ファイルとしてのURLを再生することで、テキストの文字列を再生することができます。 Tropoのプラットフォームが対応しているサウンド形式(および適切なファイル拡張子)は以下のとおりです。

  • 8kHz, 8bit u-law (wav or raw) (*.wav or *.ulaw)
  • 8kHz, 8bit a-law (wav or raw) (*.wav or *.alaw)
  • 8kHz, 8bit pcm (wav) (*.wav)
  • 8khz, 16bit pcm (wav or raw) (*.wav or *.pcm)
  • MS-GSM (wav) (*.wav)
  • GSM 6.10 (raw) (*.gsm)
 

MP3のようなここに記載されていないフォーマットも使用できますが、電話方式の規格の制限に従い、自動的にダウンサンプリングしますので、 最初から8kHzのU-law形式、8ビットでファイルを使用した方がいいでしょう。
音声にTTSを利用する場合は、文字コードは必ずUTF-8を指定してください。

 

フィールド

value
データの種類:String型 デフォルト:なし 必須
このパラメータに、TTSに喋らせたい内容を入力します。 スクリプトに直接文章を書き込んだり、 オーディオファイル(mp3及びwav)を再生することができます。
allowSignals
データの種類:String型またはArray型 デフォルト:*(任意の信号) 任意
このパラメータを使用すると、この関数にシグナルを割り当てることができます。一致するシグナル名を持つTropo REST APIからのイベントは、この関数を中断します。 すでにこの関数が実行され完了していた場合、中断の要求は無視されます。 この関数がまだ実行されていない場合、中断の要求は実行されるまでジョブキューに並びます。 デフォルトでは、allowSignalsはどんなシグナルも有効なものとして認識します。 allowSignalsを定めなかった場合、その関数は「中断なし」として定義されます。 配列を使うこともできます。配列にある名前のいずれかに一致するシグナルを受信した際に、この関数を中断します。
as
データの種類:String型 デフォルト:なし 任意
ここで話されるデータの種類を定めておくと、TTSエンジンが正しく解釈します。 使用可能な値には、「DATE」、「DIGITS」、「NUMBER」があります。
name
データの種類:String型 デフォルト:なし 必須
これが、作業の結果を識別するのに使われるキーです。こうして、複数の結果を区別できます。 例えば、あなたがユーザに好みの色を質問するとします。ネーム値を 'color(色)'と設定しても、戻ってくる値が 'blue(青)'かもしれません。 1つの結果しか戻ってこない場合には、それほど役立たないかもしれませんが、結果が複数ある場合には、 これが、どの結果がどの作業に属するかを決定する助けとなります。
required
データの種類:Boolean型 デフォルト:true 任意
これにより、Tropoが次の動詞に移動すべきかどうかを決めます。もし、要求が「true」と設定されて、 現在の作業が完全に成功していれば、Tropoは次の動詞に移動します。

サンプル

 

TTSとオーディオの再生例

{
   "tropo":[
      {
         "say":[
            {
               "value":"どうですか? http://www.phono.com/audio/troporocks.mp3"
            }
         ]
      }
   ]
}

単一オブジェクトとしての例

{
   "tropo":[{"say":{"value":"アカウント番号を入力してください。"}}]
}
 

イベントトリガーと組み合わせた例

{
   "tropo":[
      {
         "say":[
            {
               "value":"成功しました。"
            }
         ]
      },
      {
         "on":{
            "next":"document2.json",
            "event":"continue"
         }
      }
   ]
}
 

SSMLを含む例

{
    "tropo": [
        {
            "say": [
                {
                    "value": "<?xml version='1.0'?><speak><say-as interpret-as=\"vxml:currency\">USD51.33</say-as></speak>"
                } 
            ] 
        },
        {
            "say": [
                {
                    "value": "<?xml version='1.0'?><speak><say-as interpret-as=\"vxml:digits\">20314253</say-as></speak>"
                } 
            ] 
        },
        {
            "say": [
                {
                    "value": "<?xml version='1.0'?><speak><say-as interpret-as=\"vxml:number\">2031.435</say-as></speak>"
                } 
            ] 
        },
        {
            "say": [
                {
                    "value": "<?xml version='1.0'?><speak><say-as interpret-as=\"vxml:phone\">4075551212</say-as></speak>"
                } 
            ] 
        },
        {
            "say": [
                {
                    "value": "<?xml version='1.0'?><speak><say-as interpret-as=\"vxml:date\">20090226</say-as></speak>"
                } 
            ] 
        },
        {
            "say": [
                {
                    "value": "<?xml version='1.0'?><speak><say-as interpret-as=\"vxml:time\">0515a</say-as></speak>"
                } 
            ] 
        } 
    ]
}
   
reject session