如何从Google Cloud文本语音API获取SSML <mark>时间戳

时间:2019-08-06 18:24:55

标签: markers google-cloud-speech google-text-to-speech ssml

我想通过Google Cloud文本语音API使用SSML markers来请求音频流中这些标记的计时。这些时间戳是必需的,以便为效果,单词/部分突出显示和反馈给用户提供提示。

我发现this question是相关的,尽管问题涉及每个单词的时间戳,而不是SSML <mark>标签。

以下API请求返回OK,但显示缺少所请求的标记数据。这是使用Cloud Text-to-Speech API v1

{
 "voice": {
  "languageCode": "en-US"
 },
 "input": {
  "ssml": "<speak>First, <mark name=\"a\"/> second, <mark name=\"b\"/> third.</speak>"
 },
 "audioConfig": {
  "audioEncoding": "mp3"
 }
} 

响应:

{
 "audioContent":"//NExAAAAANIAAAAABcFAThYGJqMWA..."
}

仅提供合成音频而没有任何上下文信息。

我是否忽略了一个API请求,该请求可以公开有关这些标记的信息,例如IBM WatsonAmazon Polly的情况?

1 个答案:

答案 0 :(得分:3)

Cloud Text-to-Speech API v1beta1https://cloud.google.com/text-to-speech/docs/reference/rest/v1beta1/text/synthesize#TimepointType

支持如下所示

您可以使用https://texttospeech.googleapis.com/v1beta1/text:synthesize。将TimepointType设置为SSML_MARK。如果未设置此字段,则默认情况下不会返回时间点。