我正在使用谷歌云的文本转语音API生成语音,并希望在播放时突出显示单词。
是否有一种方法可以获取所说单词或句子的时间戳?
我正在使用谷歌云的文本转语音API生成语音,并希望在播放时突出显示单词。
是否有一种方法可以获取所说单词或句子的时间戳?
您可以使用 SSML 和谷歌云的文本转语音API的 v1beta1 版本从而实现此功能:https://cloud.google.com/text-to-speech/docs/reference/rest/v1beta1/text/synthesize#TimepointType
<mark>
SSML 标签(例如,在每个句子结尾处)。SSML_MARK
。如果没有设置此选项,则默认不返回时间戳。在撰写本文时,Google的语音合成API已经支持v1beta1
版本。
举个例子,在Python中,您需要更改导入方式:
from google.cloud import texttospeech as tts
to:
from google.cloud import texttospeech_v1beta1 as tts
<mark>
标记。enable_time_pointing
标志。在Python中,它看起来像这样: response = client.synthesize_speech(
request=tts.SynthesizeSpeechRequest(
...
enable_time_pointing=[
tts.SynthesizeSpeechRequest.TimepointType.SSML_MARK]
)
)
要运行的示例,请查看我在此问题上的答案。
silencedetect
过滤器完成。然后您可以使用适当的间隔连接音频文件。在句子内可以线性插值近似词时间戳。