Edge-TTS 终极指南:一行命令,让你的代码开口说话
2026年了,你还在为语音合成付费?这款完全免费、开源、零门槛的工具,正在让商业TTS服务瑟瑟发抖。
一、Edge-TTS 到底是什么?
简单来说,Edge-TTS 是一个基于微软 Azure Cognitive Services 的开源文本转语音工具,它直接调用微软 Edge 浏览器内置的在线语音引擎,却不需要你安装 Edge、不需要 Windows 系统、更不需要申请任何 API 密钥。
| 特性 | Edge-TTS | 商业 TTS(如 Google TTS) |
|---|---|---|
| 费用 | ✅ 完全免费 | ❌ 按量付费 |
| API 密钥 | ❌ 不需要 | ✅ 必须申请 |
| 系统要求 | 跨平台(Win/Mac/Linux) | 跨平台 |
| 语言支持 | 40+ 种语言,300+ 种声音 | 200+ 种语言 |
| 语音质量 | ★★★★☆ | ★★★★★ |
| 延迟 | ~200ms | ~150ms |
一句话总结:免费工具中的天花板,性价比之王。
二、安装:一行命令,5秒搞定
打开终端,执行:
pip install edge-tts
如果你只需要命令行工具,强烈推荐用 pipx 隔离安装:
pipx install edge-tts
💡 国内用户如果遇到下载慢,可以加清华镜像源:
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple edge-tts
验证安装成功:
edge-tts --version
三、快速上手:三步生成你的第一段语音
🔥 第一步:最简命令,秒出音频
edge-tts --text "Hello, world!" --write-media hello.mp3
运行完毕,当前目录就会多出一个 hello.mp3 —— 就这么简单。
🔥 第二步:指定中文语音,效果惊艳
edge-tts --voice zh-CN-YunxiNeural --text "大家好,欢迎使用 Edge-TTS 语音合成!" --write-media hello_cn.mp3
zh-CN-YunxiNeural 是微软的"云希"女声,听起来和真人几乎无异。
🔥 第三步:生成带字幕的音频(视频创作者福音)
edge-tts --text "这是一段带字幕的语音示例" --write-media output.mp3 --write-subtitles output.srt
SRT 字幕文件直接丢进剪辑软件,省时省力。
四、语音库探索:从普通话到方言,应有尽有
运行以下命令查看所有可用声音:
edge-tts --list-voices
输出会包含语音名称、性别、语言/地区及风格特点。以下是一些宝藏语音:
| 语音名称 | 语言 | 特色 |
|---|---|---|
zh-CN-XiaoyiNeural |
普通话 | 晓晓,温暖女声 |
zh-CN-YunxiNeural |
普通话 | 云希,新闻播报风 |
zh-CN-YunyangNeural |
普通话 | 云扬,阳光男声 |
zh-CN-shaanxi-XiaoniNeural |
陕西方言 | 小妮,地道陕西话 |
zh-CN-liaoning-XiaobeiNeural |
东北话 | 晓北,东北大碴子味 |
zh-HK-WanLungNeural |
粤语 | 粤语朗读,效果炸裂 |
zh-TW-HsiaoYuNeural |
台湾腔 | 小宇,台湾普通话 |
ar-EG-SalmaNeural |
阿拉伯语 | 女性阿拉伯语 |
en-GB-SoniaNeural |
英式英语 | 优雅英音 |
实战示例——用粤语读《大话西游》经典台词:
edge-tts --voice zh-HK-WanLungNeural \
--text "曾经有一份真诚的爱情放在我面前,我没有珍惜。如果上天能够给我一个再来一次的机会,我会对那个女孩子说三个字:我爱你。" \
--write-media love.mp3
听完你会回来感谢我的。
五、高级玩法:精细控制每一个参数
Edge-TTS 支持通过命令行参数调整语音的语速、音量、音调,让你的语音合成真正做到"千人千面"。
| 参数 | 说明 | 示例 |
|---|---|---|
--rate |
语速(±百分比) | --rate=-50% 减速一半 |
--volume |
音量(±百分比) | --volume=-30% 降低三成 |
--pitch |
音调(±Hz) | --pitch=-50Hz 降低音调 |
组合示例——慢速低语效果:
edge-tts --rate=-40% --volume=-30% --pitch=-20Hz \
--voice zh-CN-YunxiNeural \
--text "这是一段语速较慢、音量较低的神秘语音..." \
--write-media mysterious.mp3
六、Python 集成:开发者的终极武器
Edge-TTS 不仅仅是命令行工具,它更是一个强大的 Python 库,可以无缝集成到你的项目中。
📌 同步生成(最简单)
import edge_tts
communicate = edge_tts.Communicate("你好,世界!", voice="zh-CN-YunxiNeural")
communicate.save_sync("output.mp3")
📌 异步生成(高并发推荐)
import asyncio
import edge_tts
async def generate_speech():
communicate = edge_tts.Communicate("你好,世界!", voice="zh-CN-XiaoyiNeural")
await communicate.save("output.mp3")
asyncio.run(generate_speech())
📌 流式传输(实时场景)
import asyncio
import edge_tts
async def stream_audio():
communicate = edge_tts.Communicate("你好,世界!", voice="zh-CN-YunxiNeural")
with open("stream.mp3", "wb") as f:
async for chunk in communicate.stream():
if chunk["type"] == "audio":
f.write(chunk["data"])
asyncio.run(stream_audio())
📌 动态选择语音(按条件筛选)
import asyncio
from edge_tts import VoicesManager
async def select_voice():
voices = await VoicesManager.create()
# 筛选:女性、中文、普通话
target = next((v for v in voices if v["Gender"] == "Female" and v["Locale"] == "zh-CN"), None)
if target:
communicate = edge_tts.Communicate("你好,世界!", voice=target["Name"])
await communicate.save("selected.mp3")
asyncio.run(select_voice())
📌 生成字幕(视频制作神器)
import asyncio
from edge_tts import Communicate
from edge_tts.submaker import SubMaker
async def generate_with_subs():
tts = Communicate("这是一段带字幕的语音", "zh-CN-YunxiNeural")
submaker = SubMaker()
with open("output.mp3", "wb") as f:
async for chunk in tts.stream():
if chunk["type"] == "audio":
f.write(chunk["data"])
elif chunk["type"] == "WordBoundary":
submaker.create_sub((chunk["offset"], chunk["duration"]), chunk["text"])
with open("output.srt", "w", encoding="utf-8") as f:
f.write(submaker.generate_subs())
asyncio.run(generate_with_subs())
七、实时播放:不保存文件,直接听
edge-playback --text "体验实时语音合成效果"
⚠️ Windows 系统可直接使用;macOS/Linux 需先安装 mpv:
brew install mpv(macOS)或sudo apt install mpv(Ubuntu)
八、实战应用场景
| 场景 | 解决方案 |
|---|---|
| 📚 有声读物制作 | 批量脚本遍历 TXT 文件,自动生成 MP3 |
| 🎙️ 每日新闻播客 | 定时抓取 RSS,自动合成语音推送 |
| ♿ 无障碍辅助 | 为视障用户生成网页/文档语音导航 |
| 🎬 视频配音 | 生成 MP3 + SRT 字幕,直接导入剪辑软件 |
| 🤖 智能客服 | 流式传输 + 多角色对话,实时语音响应 |
| 🌍 多语言内容 | 一键切换 40+ 种语言,全球化零成本 |
九、常见问题排查
| 问题 | 解决方案 |
|---|---|
| 安装失败 | 使用国内镜像源:pip install -i https://pypi.tuna.tsinghua.edu.cn/simple edge-tts |
| 语音选择无效 | 先运行 edge-tts --list-voices 确认语音名称 |
| 429 错误(请求过多) | 实现指数退避重试,或添加代理:--proxy http://your_proxy:port |
| 网络连接失败 | Edge-TTS 依赖微软在线服务,确保网络通畅,必要时使用代理 |
| 快捷键无效 | 确认焦点在网页内,且输入法为英文状态 |
十、写在最后
Edge-TTS 的出现,标志着语音合成技术从"商业服务"走向了"普惠工具"。无需付费、无需密钥、无需特定系统——一行命令,你的代码就能开口说话。
无论你是独立开发者、内容创作者、教育工作者,还是仅仅想给自己的项目加一段语音,Edge-TTS 都是你目前能找到的最优雅的免费方案。
现在就打开终端,输入:
edge-tts --text "你好,世界!" --voice zh-CN-YunxiNeural --write-media hello.mp3
然后按下播放键——你会听到未来的声音。 🎧
项目地址:https://gitcode.com/GitHub_Trending/ed/edge-tts
更多示例代码请查看项目 examples/ 目录 🚀
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐



所有评论(0)