You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Unity C#:如何获取Google TTS音频的单词时间戳以实现Avatar唇形同步?

获取Google TTS音频的单词/音素时间戳实现Avatar唇形同步

方法1:直接利用Google TTS API的时间戳输出

Google TTS API本身支持返回单词级甚至音素级的时间戳,无需额外分析音频,这是最直接高效的方案:

  • 请求时添加enable_word_time_offsets: true参数,API响应会包含每个单词的开始时间和结束时间(以秒为单位)。
  • 如果需要更精细的音素级时间戳,可以结合SSML的<phoneme>标签定义发音,并在请求中启用音素时间戳输出(部分语言支持,需参考对应语言的API说明)。

方法2:音频分析工具提取时间戳

如果无法通过API直接获取时间戳,可以用语音识别工具从音频中提取:

  • 使用OpenAI的Whisper模型:将Google TTS生成的音频文件传入Whisper,模型会返回识别出的文本,同时附带每个单词的开始/结束时间戳。该工具支持多种语言,精度足够覆盖动态文本的实时处理需求。
  • 配合音频处理库(如pydub)可以对音频做预处理(比如格式转换),确保工具兼容性。

方法3:音素映射与唇形同步落地

拿到时间戳后,需将单词拆解为音素并分配时长:

  • 用CMU词典等工具将单词转换为对应音素,再根据单词的总时长按比例分配每个音素的展示时长;如果能获取音素级时间戳,直接对应即可。
  • 注意匹配Google TTS的实际发音:部分单词的TTS发音可能和标准音素略有差异,建议少量测试调整音素映射规则,保证唇形动作和发音同步。

内容的提问来源于stack exchange,提问作者Philipp Lenssen

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.19 17:45:40