2016-09-28 6 views
1

私は Text to Speech APIを呼び出すためにPHP shell_execを使用しています。私のコードはSSMLというタグを付けて2番目のコードのように呼び出す以外はうまくいきます。Bluemix SSML with PHP

同じデータクエリでテキストとSSMLを使用するにはどうすればよいですか?

  $result = shell_exec("/usr/bin/curl -k -u 'XXX':'XXX' -X POST \ 
      --header 'Content-Type: application/json' \ 
      --header 'Accept: audio/wav' \ 
      --max-time 90000 \ 
      --output 'public/uploads/audios/padrao_bomdia.wav' \ 
      --data '{\"text\":\"Hello! This is an test.\", \"voice\":\"pt-BR_IsabelaVoice\"}' \ 
      'https://stream.watsonplatform.net/text-to-speech/api/v1/synthesize?voice=pt-BR_IsabelaVoice'"); 

      $result = shell_exec("/usr/bin/curl -k -u 'XXX':'XXX' -X POST \ 
      --header 'Content-Type: application/json' \ 
      --header 'Accept: audio/wav' \ 
      --max-time 90000 \ 
      --output 'public/uploads/audios/padrao_bomdia.wav' \ 
      --data '{\"text\":\"Hello! <say-as interpret-as="letters">Hello</say-as> This is an test.\", \"voice\":\"pt-BR_IsabelaVoice\"}' \ 
      'https://stream.watsonplatform.net/text-to-speech/api/v1/synthesize?voice=pt-BR_IsabelaVoice'"); 

答えて

0

say-asはinterpret-as = "letters"ですか?Helloフラグメントは 'letters'の周りにエスケープスラッシュが必要ですか?

+0

はい!私はそれなしで使用しようとしましたが、動作しませんでした。戻り値はnullです。 – Lavorato

0

残念ながら、US-English Allison音声のみが表現型SSMLをサポートしています。 PT-BR音声であるIsabelaはSSMLをサポートしていません。そういうわけではないのです。

Reference

現在、サービスは、(エンUS_AllisonVoice)米国英語 アリソンの声のための表現をサポートしています。他の 音声でこの要素を使用すると、エラーが返されます。