用 edge-tts 把文字变成语音(含可用语音库与交互脚本)
在打服务外包的时候,看到不少 edge-tts 的教程,但要么只给了最基础指令,要么语音清单/参数不全,实际动手总要四处拼资料。
这篇文章尝试一次性把常用指令、参数说明、可用语音名称、以及可交互的示例脚本汇总在一起:复制即可用、需要时再按需扩展,减少你搭建 TTS 工作流的来回查找成本。
目标:快速把任意文本合成自然语音,支持多语言、男女声、语速、音量、音调与部分情绪风格。
1⃣️ edge-tts 是什么
edge-tts 是基于微软 Edge/SSML 的文本转语音 Python 库与命令行工具。它的特点:
- 支持多语言和地区方言(普通话、粤语、英语、法语、阿拉伯语等)
- 可调参数:语言/声音、性别、语速
rate、音量volume、音调pitch - 部分声音支持情绪/风格(如 激情、活泼、温柔等)
- 纯本地调用云端服务,无需自行搭建推理引擎
项目地址:https://github.com/rany2/edge-tts
2⃣️ 安装
1 | pip install edge-tts |
如需命令行使用,安装上面这一条即可。
3⃣️ 最小可用示例
1 | import asyncio |
4⃣️ 命令行(无需写代码)
1 | edge-tts --voice zh-CN-XiaoxiaoNeural --text "你好,这是命令行合成" --write-media out.mp3 |
列出可用声音:
1 | edge-tts --list-voices |
5⃣️ 交互式多语言脚本(含风格/情绪选择)
下面是按需求重构的标准语音库与交互脚本。直接复制运行即可(运行前先 pip install edge-tts)。脚本支持:选择语言/方言、性别、风格,并调节 pitch / rate / volume,自动命名输出文件。
1 | import asyncio |
其中selected_voice为表格文档第二列内容(【金山文档 | WPS云文档】 Language Name
https://www.kdocs.cn/l/co8YliHtxxvF),部分如图:

将上面的 output_dir 改成你自己的存放目录即可。
6⃣️ 参数说明
--voice/selected_voice:选择具体说话人,例如zh-CN-XiaoxiaoNeural--rate/rate:语速,+10%更快,-20%更慢--volume/volume:音量,+0%到+100%或-xx%--pitch/pitch:音调,+20Hz更尖,-20Hz更低- 风格:部分声音支持情绪/风格(如 激情、活泼、温柔、稚嫩等),此能力与具体 voice 绑定
7⃣️ 语音清单
你可以直接用命令列出所有官方可用 voice:
1 | edge-tts --list-voices > voices.json |
也可以把整理好的 Excel 表作为速查表。
8⃣️ 常见问题
- 报错
SSLError:检查网络或代理,或稍后再试 - 输出空文件:确认
await tts.save("xx.mp3")写入路径存在 - 部分风格不生效:该 voice 不支持对应风格,换支持的 voice
- 想生成 WAV:把输出文件后缀改为
.wav即可
9⃣️ 参考
https://github.com/rany2/edge-tts
https://blog.csdn.net/weixin_62828995/article/details/136722656
https://blog.csdn.net/2303_80346267/article/details/145040588
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 沉汐 DevLog!