📌 关键要点
TTS(Text-To-Speech)是AI语音技术的核心分支,将文字转化为自然流畅的语音。从机械合成到端到端神经网络,TTS已实现接近真人的合成效果。
- 技术演进:拼接合成 → 参数合成 → 深度学习 → 端到端神经TTS
- 主流方案:微软Edge TTS、阿里云CosyVoice、Google WaveNet等
- 应用场景:有声书、智能助手、无障碍阅读、播客制作
TTS (Text-To-Speech) = 文字转语音,让计算机将文本朗读出来的技术。
它是AI语音技术的三大方向之一:
AI语音技术体系
├── ASR (语音识别) - 语音 → 文字
├── TTS (语音合成) - 文字 → 语音 ← 本文重点
└── 语音克隆 - 模仿特定人声
| 服务 | 优点 | 缺点 | 适用场景 |
|---|---|---|---|
| 微软Edge TTS | 免费、高质量中文、无需API Key | 需联网 | 批量生成、个人项目 |
| 百度语音 | 中文支持好、有离线SDK | 免费额度有限 | 移动应用 |
| 服务 | 特色 | 价格 | 适用场景 |
|---|---|---|---|
| 阿里云CosyVoice | 声音克隆、超自然效果 | 按量付费 | 企业级应用 |
| Google WaveNet | 多语言最强 | 按量付费 | 国际化产品 |
| Amazon Polly | AWS生态集成 | 按量付费 | 云原生应用 |
| Azure Speech | 稳定性最高 | 按量付费 | 企业级服务 |
| 项目 | 特点 | 部署难度 |
|---|---|---|
| Coqui TTS | 支持多种模型 | 中等 |
| VITS | 端到端高质量 | 较高 |
| PaddleSpeech | 百度开源,中文优化 | 中等 |
文本输入
↓
文本分析(分词、词性标注)
↓
音素转换(Grapheme-to-Phoneme)
↓
韵律预测(语调、停顿、重音)
↓
声学模型(生成频谱特征)
↓
声码器(频谱→波形)
↓
音频输出
文本输入
↓
编码器(文本→隐藏表示)
↓
注意力机制(对齐文本与音频)
↓
解码器(生成频谱)
↓
声码器(如HiFi-GAN)
↓
音频输出
1. 声学模型 - Tacotron 2:序列到序列模型 - FastSpeech:非自回归,速度更快 - VITS:变分推断端到端训练
2. 声码器(Vocoder) - WaveNet:自回归,质量高但慢 - WaveGlow:流模型,实时生成 - HiFi-GAN:对抗训练,速度快质量好
3. 韵律建模 - 预测语调起伏 - 控制停顿位置 - 模拟情感表达
Edge TTS 不是调用本地Edge浏览器,而是:
Python edge_tts库
↓ HTTPS请求
微软云端TTS API(Azure Speech Service)
↓ 返回音频数据
本地保存MP3文件
import edge_tts
import asyncio
async def generate_speech():
communicate = edge_tts.Communicate(
"您好!欢迎收听语音笔记。",
"zh-CN-YunxiNeural", # 云希(男声)
rate="-5%", # 语速稍慢
volume="+10%" # 音量提升
)
await communicate.save("output.mp3")
asyncio.run(generate_speech())
| 语音ID | 名称 | 性别 | 风格 | 适用 |
|---|---|---|---|---|
| zh-CN-YunxiNeural | 云希 | 男 | 沉稳专业 | 技术讲解 ✅ |
| zh-CN-XiaoxiaoNeural | 晓晓 | 女 | 温柔亲切 | 教育内容 |
| zh-CN-YunyangNeural | 云扬 | 男 | 新闻播音 | 正式内容 |
| zh-CN-XiaoyiNeural | 晓艺 | 女 | 活泼可爱 | 轻松话题 |
Markdown笔记
↓ LLM归纳
播报稿(口语化)
↓ Edge TTS
MP3音频文件
↓ 前端播放器
用户收听 🎧
extern/attachments/audio/voice_notes/batch_config.yaml 配置笔记列表--step script--step audio| 需求 | 推荐方案 | 原因 |
|---|---|---|
| 个人项目/零成本 | Edge TTS | 免费且质量好 |
| 离线部署 | Coqui TTS | 开源可本地运行 |
| 声音克隆 | 阿里云CosyVoice | 克隆效果最佳 |
| 多语言产品 | Google TTS | 语种覆盖最全 |
| 企业级服务 | Azure Speech | 稳定性与SLA保障 |
核心原因:TTS 是 I/O 密集型操作,需要联网等待服务器响应。
# Edge TTS 的异步设计(必须)
import asyncio
import edge_tts
async def generate():
communicate = edge_tts.Communicate(text, voice)
await communicate.save(output_file)
asyncio.run(generate())
场景1:Web 服务器并发处理
# 多个用户同时请求语音笔记
# 异步可以同时处理所有请求,而不是排队等待
async def handle_multiple_requests():
task1 = generate_voice_note("笔记A")
task2 = generate_voice_note("笔记B")
task3 = generate_voice_note("笔记C")
await asyncio.gather(task1, task2, task3) # 并发执行
场景2:批量生成语音笔记
# 批量生成 10 篇语音笔记
# 同步:30秒(10 × 3秒)
# 异步:3-5秒(并发执行)
方案1:使用 pyttsx3(离线、同步、简单)
import pyttsx3
# 完全同步,代码简单
engine = pyttsx3.init()
engine.say("你好!欢迎体验语音合成。")
engine.save_to_file("你好!欢迎体验语音合成。", "output.mp3")
engine.runAndWait()
print("✅ 完成!")
方案2:包装 Edge TTS 为同步函数
import asyncio
import edge_tts
def sync_tts(text, voice, output):
"""将异步包装成同步,调用者无需关心异步"""
async def _generate():
communicate = edge_tts.Communicate(text, voice)
await communicate.save(output)
asyncio.run(_generate())
# 使用:像普通函数一样简单
sync_tts("你好", "zh-CN-YunxiNeural", "output.mp3")
| 特性 | pyttsx3 | Edge TTS |
|---|---|---|
| 音质 | ⭐⭐ 机械感,像机器人 | ⭐⭐⭐⭐⭐ 接近真人 |
| 联网 | ❌ 不需要(离线) | ✅ 必须联网 |
| 执行方式 | 同步(简单) | 异步(稍复杂) |
| 代码复杂度 | ⭐ 简单 | ⭐⭐ 中等 |
| 音色选择 | 少(系统自带) | 多(云端高质量) |
| 生成速度 | 快(本地) | 稍慢(网络延迟) |
| 适用场景 | 学习、测试、离线 | 语音笔记、产品 |
pyttsx3 生成的语音: - ❌ 发音生硬,机械感明显 - ❌ 语调平淡,没有感情 - ❌ 中文发音质量尤其差 - ✅ 优点:不需要联网,代码简单
Edge TTS 生成的语音: - ✅ 自然流畅,接近真人 - ✅ 有语调和情感 - ✅ 多种高质量音色可选 - ⚠️ 缺点:必须联网,代码稍复杂
# pyttsx3(需要系统依赖 espeak-ng)
# Ubuntu/Debian:
apt-get install -y espeak-ng
pip install pyttsx3
# Docker 容器内:
pip install --break-system-packages pyttsx3
# Edge TTS(无需额外依赖)
pip install edge-tts
| 你的需求 | 推荐方案 | 原因 |
|---|---|---|
| 学习 TTS 原理 | pyttsx3 | 代码简单,易于理解 |
| 语音笔记项目 | Edge TTS | 音质好,用户体验佳 |
| 离线环境 | pyttsx3 | 不需要联网 |
| 多音色需求 | Edge TTS | 云端多种高质量音色 |
| 快速原型测试 | pyttsx3 | 安装即用,无需配置 |
项目实践:BYPsNotes 选择 Edge TTS,因为语音笔记需要高质量音频,用户体验至关重要。
清理特殊符号
python
text = text.replace('\n', '。') # 换行变句号
text = re.sub(r'["""]', '', text) # 移除引号
智能分段
避免在半句处切断
控制语速
📖 资料来源: - Microsoft Edge Read Aloud Documentation - Coqui TTS GitHub - 阿里云CosyVoice技术文档 - TTS技术综述论文
📝 创建:2026-05-17
🔄 标签:AI、语音技术、TTS、语音合成、深度学习