Edge TTS 无需浏览器,3 步在 Python 里生成高质量语音
2026/9/14 6:37:12 网站建设 项目流程

Edge TTS 无需浏览器,3 步在 Python 里生成高质量语音

【免费下载链接】edge-ttsUse Microsoft Edge's online text-to-speech service from Python WITHOUT needing Microsoft Edge or Windows or an API key项目地址: https://gitcode.com/GitHub_Trending/ed/edge-tts

想给脚本加个"读给我听",是不是每次都得先装个笨重的浏览器、注册账号、再申请 API 密钥?edge-tts 是一个 Python 模块,让你直接调用 Microsoft Edge 的在线文本转语音服务:不装 Edge、不限 Windows、不要 API 密钥。

🚀 项目速览

一句话定位:用 Python 或命令行,拿到和 Edge 浏览器"大声朗读"一样的语音合成,输出 MP3 音频和 SRT 字幕。

  • 免费,用的就是 Edge 浏览器自带的免费语音服务
  • 跨平台,Linux、macOS、Windows 用法完全一致
  • 不依赖浏览器,纯 Python 实现,装上就能跑
  • 语音种类丰富--list-voices一条命令列出全部可用语音

🔧 三步跑起来

先装上,跑通再说:

pip install edge-tts

一条命令装好。如果只想用edge-ttsedge-playback两个命令行工具,把 pip 换成 pipx 即可。

然后做第一次合成:

edge-tts --text "Hello, world!" --write-media hello.mp3

--text指定要读的文字,--write-media指定 MP3 保存位置。

你会发现:命令跑完没有任何报错输出,当前目录里多出一个hello.mp3,播放就是一句标准的英语问候。

📋 常用选项速查表

高频参数都在下面,照着抄就行:

参数作用示例
--text/-t要合成的文字--text "Hello"
--file/-f从文件读取文字-f story.txt
--voice/-v指定语音,默认en-US-EmmaMultilingualNeural--voice ar-EG-SalmaNeural
--rate调节语速--rate=-50%
--volume调节音量--volume=-20%
--pitch调节音调--pitch=-50Hz
--write-media音频写入文件--write-media out.mp3
--write-subtitles字幕写入 SRT 文件--write-subtitles out.srt
--list-voices/-l列出全部可用语音--list-voices
--proxy通过代理连接服务--proxy http://127.0.0.1:7890

注意:--rate--volume--pitch取负值时,一定要写成--rate=-50%这种带等号的形式,否则命令行会把负数当成一个新选项。

💡 三个实战场景

整篇文章批量转语音

长文塞不进--text?直接把文件丢给它:

edge-tts -f chapter1.txt --write-media chapter1.mp3

-f会读入整个文件的内容,长文不用再纠结引号和换行。

即时试听效果

不想存文件,只想马上听到效果?试试这个:

edge-playback --text "这是一个实时播放演示"

edge-playback边合成边播放(非 Windows 系统需要先装好 mpv 播放器)。

换种语言语音并生成字幕

先用--list-voices挑一个语音,再一条命令出结果:

edge-tts --voice ar-EG-SalmaNeural --text "مرحبا كيف حالك؟" --write-media arabic.mp3 --write-subtitles arabic.srt

一次拿到阿拉伯语女声 MP3,外加逐字对齐时间的 SRT 字幕文件。

🔍 原理一句话

最巧妙的是:不启动浏览器,怎么通过微软的校验?答案在 src/edge_tts/drm.py —— 项目用公开的客户端令牌加 5 分钟粒度的时间戳,算出Sec-MS-GEC校验令牌,再带上浏览器风格的请求头,直连微软的 TTS WebSocket 服务。音频以流式返回,流里的逐字边界事件正好被拿来生成同步字幕。

⚖️ 横向对比

维度商业云 TTS APIedge-tts
成本普遍按字符计费免费
门槛注册账号、申请密钥、集成 SDKpip install即用
平台受厂商 SDK 环境限制Linux / macOS / Windows
产出通常只有音频音频 + SRT 同步字幕

❓ 避坑问答

Q:报错说"未知的选项",是哪里错了?A:十有八九是负号问题。写--rate=-50%,不要写成--rate -50%

Q:提示"输出将写入终端"?A:你没传--write-media,音频字节会直接涌进终端。补上保存参数,或按 Ctrl+C 取消。

Q:edge-playback报 "mpv is not installed"?A:非 Windows 系统下它靠 mpv 播放器出声,先装好 mpv 再运行。

Q:网络连不上服务怎么办?A:用--proxy指定代理,如--proxy http://127.0.0.1:7890,列语音列表走的也是同一条通道。

Q:怎么它一直在读英语?A:你还没换语音,默认是美式英语声en-US-EmmaMultilingualNeural。用--list-voices查到你想要的名字,填进--voice即可。

一句话总结:edge-tts 把"浏览器级"的免费语音合成,压缩成了一条命令。想把它接进自己的程序,可以看看 examples/ 里的 Python 示例,里面有流式输出和动态选音的完整写法。

现在就可以打开终端,装上它,三分钟听到自己的第一句合成语音。

【免费下载链接】edge-ttsUse Microsoft Edge's online text-to-speech service from Python WITHOUT needing Microsoft Edge or Windows or an API key项目地址: https://gitcode.com/GitHub_Trending/ed/edge-tts

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询