IBM Cloud-如何使用curl POST调整Watson TTS中的语速?

问题描述

我在尝试使用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以查看result.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>的限制