Ultralytics YOLO27: 加入候补名单。
获取 YOLO 许可
返回 Ultralytics 术语表

Text-to-Speech

文本转语音(TTS)使用神经声学模型、声码器和音频词元模型,将书面文本转换为自然语音,应用于助手和无障碍功能。

文本转语音(TTS),也称语音合成,是将书面文本转换为语音音频的技术。TTS 系统会确定每个词的发音、每个音的时长,以及句子中的音高和重音变化,然后生成波形。早期系统要么拼接录制好的语音片段,要么根据统计模型生成音频,听起来明显像机器合成。深度学习改变了这一切:DeepMind 的 WaveNet 于 2016 年逐个采样点生成原始音频;2017 年,Google 的 Tacotron 2 平均意见分达到 4.53 分(满分 5 分),而专业录音为 4.58 分。如今的系统可以用多种语言、不同音色进行朗读,从几秒钟的音频克隆音色,还能按照语气指令生成语音,为屏幕阅读器、语音助手、有声读物和对话式 AI 提供支持。TTS 是语音转文本的反向过程。

文本转语音的工作原理#

每个系统都从文本前端开始。文本规范化会将数字、日期、货币和缩写展开成文字,因此 “Dr. Lee paid $3.50” 会变成 “Doctor Lee paid three dollars and fifty cents”;字素转音素模块会确定发音,包括像 “read” 这样发音取决于时态的词。许多模型还会预测韵律,即每个音的时长、音高和能量。之后,主要由两类模型生成音频:

  • 声学模型加声码器: 声学模型会预测梅尔频谱图,这是一种紧凑图示,表示能量如何随时间分布在不同频率上;神经声码器则将其转换为波形。Tacotron 2 以自回归方式逐帧预测频谱图。FastSpeech 根据每个音素的时长并行预测频谱图,速度比自回归 Transformer 快 270 倍。HiFi-GAN 声码器在单块 V100 GPU 上合成 22.05 kHz 音频的速度达到实时速度的 167.9 倍。Voicebox 和 F5-TTS 也会使用流匹配以非自回归方式预测梅尔频谱图,再将其传给声码器。
  • 音频 Token 语言模型: Microsoft 的 VALL-E 将语音视为神经音频编解码器生成的离散 Token,并使用 Transformer 语言模型生成这些 Token,方式与 LLM 生成文本相似。给定一段 3 秒的陌生说话者录音作为提示后,它会用该说话者的音色继续说话。

VITS 等端到端模型将声学模型和声码器合并为一个网络,并通过单阶段训练;多模态模型(如 GPT-4o)则会直接在回复中生成语音,无需单独的 TTS 步骤。

  • 语音转文本: 反向过程,即将语音音频转写为文本。语音助手会将两者串联起来:语音转文本负责转写用户的话,大型语言模型负责生成回复,TTS 再将回复转换为语音。
  • 声音克隆: TTS 针对特定人物的声音进行合成,可以使用一段简短的参考音频,也可以基于该说话者的录音进行微调。未经同意使用时,这种技术会生成语音深度伪造内容。
  • 声音转换: 将录制的语音作为输入,在保留文字内容和表达方式的同时更换说话者身份。TTS 则从文本开始。

实际应用#

  • 无障碍: 屏幕阅读器会为盲人和低视力用户朗读界面元素和文档;失去说话能力的人则可以输入消息,再由合成语音替他们朗读。
  • 语音助手和智能体: 客服智能体、车载助手和智能音箱会朗读生成的回复,通常在回复剩余部分还在生成时,就开始流式播放第一句话。
  • 有声读物、配音和在线学习: 出版商和课程创作者可以使用一致的音色,用多种语言为长篇文本配音。
  • 导航:逐向导航可让驾驶员把目光留在道路上。

结合计算机视觉后,TTS 可以朗读周围的物理世界,例如在辅助设备上告诉盲人用户前方有什么。下面的代码会在街景照片上运行 Ultralytics YOLO26目标检测,并通过 gTTS(用于 Google Translate 文本转语音服务的 Python 库)朗读结果:

from collections import Counter

from gtts import gTTS
from ultralytics import YOLO

# Detect objects in a street photo with YOLO26
model = YOLO("yolo26n.pt")
results = model("https://ultralytics.com/images/bus.jpg")
result = results[0]

# Count detections per class and turn them into a sentence
counts = Counter(result.names[int(c)] for c in result.boxes.cls)
sentence = "I can see " + ", ".join(f"{n} {name}" for name, n in counts.items())

# Synthesize the sentence and save it as an MP3 file
gTTS(text=sentence, lang="en").save("detections.mp3")

保存的 detections.mp3 会朗读一句话,其中列出每个检测类别及其数量。gTTS 会将文本发送到 Google 的服务器,因此脚本需要联网。

语音质量的衡量#

  • 平均意见分(MOS): 听众按 1 到 5 分评价自然度,真人录音代表最高水平。
  • 可懂度:语音识别模型会转录合成音频,通过计算转录文本与输入文本之间的词错误率,可以看出词语被错误识别、漏掉或重复的频率。Voicebox 在零样本 TTS 中的词错误率达到 1.9%,而 VALL-E 为 5.9%。
  • 说话者相似度: 对于克隆音色,可以通过生成音频和参考音频的说话者嵌入之间的余弦相似度,衡量音色的匹配程度。
  • 实时率(RTF): 合成时间除以音频时长。F5-TTS 报告的 RTF 为 0.15,也就是用 1.5 秒生成 10 秒语音。

探索解决方案

体育领域的计算机视觉

体育领域的计算机视觉

了解 Ultralytics YOLO 如何通过球员和球追踪、表现分析、教练洞察及运动员康复,推动体育视觉技术的发展。
了解详情
航空影像计算机视觉

航空影像计算机视觉

使用 Ultralytics YOLO 将无人机和航空影像转化为农业、水产养殖、保护工作和地理空间分析的实时洞察。
了解详情
航空航天中的计算机视觉

航空航天中的计算机视觉

使用 Ultralytics YOLO 将计算机视觉应用于航空航天领域,包括飞机检查、跑道 FOD 检测、机场地面作业和复合材料缺陷检测。
了解详情
安防领域的计算机视觉

安防领域的计算机视觉

使用 Ultralytics YOLO 模型守护每个场所。视觉 AI 可用于周界监控、威胁检测、车牌识别和工作场所安全。
了解详情
机器人领域的计算机视觉

机器人领域的计算机视觉

使用 Ultralytics YOLO 模型提升智能机器的能力。机器人领域的视觉 AI 可用于自主导航、感知、目标跟踪和实时控制。
了解详情
物流中的计算机视觉

物流中的计算机视觉

借助 Ultralytics YOLO 模型优化物流流程。视觉 AI 可用于包裹检查、分拣、车辆跟踪和仓库安全实时监控。
了解详情
零售中的计算机视觉

零售中的计算机视觉

借助 Ultralytics YOLO 模型重新构想零售。视觉 AI 可用于库存跟踪、货架监控、排队管理和更深入的客户洞察。
了解详情
医疗领域的计算机视觉

医疗领域的计算机视觉

借助 Ultralytics YOLO 模型构建医疗解决方案。医疗领域的视觉 AI 可加快医学影像处理、优化诊断并监测患者。
了解详情
制造业中的计算机视觉

制造业中的计算机视觉

利用 Ultralytics YOLO 模型优化制造流程。视觉 AI 可用于质量控制、缺陷检测、个人防护装备合规检查和装配线自动化。
了解详情
汽车领域的计算机视觉

汽车领域的计算机视觉

利用 Ultralytics YOLO 模型在汽车领域应用计算机视觉。视觉 AI 可提升道路安全、驾驶辅助和车辆自动化水平,让道路更智能。
了解详情
农业中的计算机视觉

农业中的计算机视觉

借助 Ultralytics YOLO 模型,将视觉 AI 引入智慧农业。为作物监测、牲畜追踪和精准农业提供支持,从而提高产量并实现更智能的生产。
了解详情

让我们携手构建 AI 的未来!

开启你的旅程,迎接机器学习的未来