我在使用curl调整IBM Watson的TTS服务中的韵律语速时遇到问题。这是我尝试过的代码,它确实合成了音频,但完全忽略了我插入的--header "prosody rate: +50%" ^
行,这是意料之中的,因为我不确定如何实现这一点,只是即兴创作。有人知道我怎样才能让它按预期工作吗?我想把速度提高50%,但在这种请求格式方面,我在文档中找不到任何帮助。
谢谢!
curl -X POST -u "apikey:apikey" ^
--header "Content-Type: application/json" ^
--header "Accept: audio/wav" ^
--header "prosody rate: +50%" ^
--data "{"text":"Adult capybaras are one meter long."}" ^
--output hello_world.wav ^
"URL/v1/synthesize?voice=en-US_HenryV3Voice"
prosody
是一个SSML选项,所以我希望它能被用作合成文本周围的标签。
--data "{"text":"<prosody rate = "fast">Adult capybaras are one meter long.</prosody>"}"
下面是一个使用POST
调用的工作示例
curl -X POST -u "apikey:{API_KEY}"
--header "Accept: audio/wav"
--header "Content-Type: application/json"
--data '{"text": "<p><s><prosody rate="+50%">This is the first sentence of the paragraph.</prosody></s><s>Here is another sentence.</s><s>Finally, this is the last sentence.</s></p>"}'
--output result.wav
"{URL}/v1/synthesize" -v
在Windows命令提示符(cmd(上,
使用以下命令创建一个JSON文件input.json
echo {"text": "<p><s><prosody rate='+50%'>This is the first sentence of the paragraph.</prosody></s><s>Here is another sentence.</s><s>Finally, this is the last sentence.</s></p>"} > input.json
然后cURL查看结果.wav文件
curl -X POST -u "apikey:{API_KEY}" ^
--header "Accept: audio/wav" ^
--header "Content-Type: application/json" ^
--data @input.json ^
--output result.wav ^
"{URL}/v1/synthesize" -v
对于问题中的句子,请将上面的JSON替换为您的
{"text":"<prosody rate='fast'>Adult capybaras are one meter long.</prosody>"}
以下是我创建此代码示例时使用的一些有用链接,这些链接将帮助您理解SSML属性。此外,检查下方链接中<prosody>
的限制
- https://cloud.ibm.com/docs/text-to-speech?topic=text-到使用HTTP的语音#使用HTTP
- https://cloud.ibm.com/docs/text-to-speech?topic=text-到语音元素#break_element
- https://text-to-speech-demo.ng.bluemix.net