Google Cloud Text-to-Speech - 时间点 returns 一个空数组
Google Cloud Text-to-Speech - Timepoint returns an empty array
我正在使用 Google TTS API 并且想使用时间点以便在正确的时间显示句子中的单词。 (如字幕)。不幸的是,我无法让它工作。
HTTP请求
POST https://texttospeech.googleapis.com/v1beta1/text:synthesize
请求正文
"input": {
"ssml": "<speak>Hello World</speak>"
},
"voice": {
"languageCode": "nl-NL",
"name": "nl-NL-Wavenet-E",
"ssmlGender": "FEMALE"
},
"audioConfig": {
"audioEncoding": "MP3"
},
"enableTimePointing": [
"SSML_MARK"
]
}
响应正文
{
"audioContent": "base64"
"timepoints": [],
"audioConfig": {
"audioEncoding": "MP3",
"speakingRate": 1,
"pitch": 0,
"volumeGainDb": 0,
"sampleRateHertz": 24000,
"effectsProfileId": []
}
}
我希望在 return 中有一个时间点对象,但如您所见,它 return 是一个空数组。
要获取时间点,您只需在输入中添加 <mark>
。这是使用您的请求正文的示例。
请求正文:
{
"input": {
"ssml": "<speak><mark name=\"1st\"/>Hello <mark name=\"2nd\"/>world</speak>"
},
"voice": {
"languageCode": "nl-NL",
"name": "nl-NL-Wavenet-E",
"ssmlGender": "FEMALE"
},
"audioConfig": {
"audioEncoding": "MP3"
},
"enableTimePointing": [
"SSML_MARK"
]
}
我添加了 <mark name=\"1st\"/>
和 <mark name=\"2nd\"/>
来创建 2 个标记,只是为了展示如何添加多个标记。如果您只需要一个标记,只需删除第二个标记,响应也应该只显示一个标记。
响应(我刚刚包含了 base64 的片段):
我正在使用 Google TTS API 并且想使用时间点以便在正确的时间显示句子中的单词。 (如字幕)。不幸的是,我无法让它工作。
HTTP请求
POST https://texttospeech.googleapis.com/v1beta1/text:synthesize
请求正文
"input": {
"ssml": "<speak>Hello World</speak>"
},
"voice": {
"languageCode": "nl-NL",
"name": "nl-NL-Wavenet-E",
"ssmlGender": "FEMALE"
},
"audioConfig": {
"audioEncoding": "MP3"
},
"enableTimePointing": [
"SSML_MARK"
]
}
响应正文
{
"audioContent": "base64"
"timepoints": [],
"audioConfig": {
"audioEncoding": "MP3",
"speakingRate": 1,
"pitch": 0,
"volumeGainDb": 0,
"sampleRateHertz": 24000,
"effectsProfileId": []
}
}
我希望在 return 中有一个时间点对象,但如您所见,它 return 是一个空数组。
要获取时间点,您只需在输入中添加 <mark>
。这是使用您的请求正文的示例。
请求正文:
{
"input": {
"ssml": "<speak><mark name=\"1st\"/>Hello <mark name=\"2nd\"/>world</speak>"
},
"voice": {
"languageCode": "nl-NL",
"name": "nl-NL-Wavenet-E",
"ssmlGender": "FEMALE"
},
"audioConfig": {
"audioEncoding": "MP3"
},
"enableTimePointing": [
"SSML_MARK"
]
}
我添加了 <mark name=\"1st\"/>
和 <mark name=\"2nd\"/>
来创建 2 个标记,只是为了展示如何添加多个标记。如果您只需要一个标记,只需删除第二个标记,响应也应该只显示一个标记。
响应(我刚刚包含了 base64 的片段):