使用PHP的Bluemix SSML

时间:2016-09-28 19:17:42

标签: php ibm-cloud text-to-speech ibm-watson ssml

我使用PHP shell_exec来调用Bluemix文本到语音API,我的代码运行良好,除非我使用SSML标签调用文本,例如我的第二个代码。

如何在同一数据查询中使用文本和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'");

2 个答案:

答案 0 :(得分:0)

是否说 - 作为interpret-as =“letters”Hello片段需要在'字母'周围使用转义斜杠?

答案 1 :(得分:0)

不幸的是,只有美英英语的Allison语音支持表达式SSML。 PT-BR语音Isabela不支持SSML。这就是它无法正常工作的原因。

Reference

  

目前,该服务仅支持美国英语的表达能力   Allison声音(en-US_AllisonVoice)。使用该元素与任何其他元素   语音返回错误。