☰
Edge-TTS 完整指南:免费文本转语音,一条命令出中文语音
2026/9/29 2:22:16 网站建设 项目流程

Edge-TTS 完整指南:免费文本转语音,一条命令出中文语音

【免费下载链接】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

想给视频配音,却不想为文本转语音服务付费?Edge-TTS 是一个免费的语音合成工具:它直接调用微软 Edge 的在线语音接口,不用装浏览器、不用 Windows、不要 API 密钥,装上就能出声。支持上百种语言音色,命令行和 Python 两种用法。本文按"先出声、再调参、最后接代码"的顺序走一遍,是一份可以直接照着敲的 Edge-TTS 中文教程。

先出声:edge-tts 安装步骤与第一条命令

用 pip 安装适合要在 Python 代码里 import 它的人;用 pipx 安装适合只想用命令行的人,两种都是下面这一行命令,装完立即跑一条最小化命令:

pip install edge-tts edge-tts --text "你好,这是第一条语音" --write-media hello.mp3

你会得到:当前目录下的 hello.mp3。先播放确认服务连通,再继续往下。默认音色是英文多音色的 en-US-EmmaMultilingualNeural,能读中文,但想要标准普通话音,下一节再换。

选音色、调参数:edge-tts 调节语速、音量、音调与生成字幕

先列出全部可用音色:

edge-tts --list-voices

你会得到:一张按 Name / Gender / ContentCategories / VoicePersonalities 分列的表。音色名是"语言地区+人名"格式,比如 zh-CN-XiaoxiaoNeural(中文女声,风格友好)。把选中的名字传给--voice即可。

四个高频参数速查:

参数默认值示例写法效果
--rate+0%--rate=-30%或--rate=+50%edge-tts 调节语速,变慢 / 变快
--volume+0%--volume=-20%音量变小
--pitch+0Hz--pitch=-30Hz音调变低
--write-subtitles不输出--write-subtitles hello.srt额外生成 SRT 字幕

有一个坑要记住:负值必须连等号写成--rate=-30%。写成--rate -30%时,参数解析会把-30%当成新的命令行选项,直接报错。

把音色、语速、字幕合在一起,跑一条完整示例:

edge-tts --voice zh-CN-XiaoxiaoNeural --rate=-50% \ --text "这是一条慢速中文语音" \ --write-media slow.mp3 --write-subtitles slow.srt

你会得到:slow.mp3 和与之时间轴对齐的 slow.srt,语速是默认的一半。

接进 Python 代码:同步与异步示例

核心就一个类:edge_tts.Communicate。脚本里不用 asyncio 时,同步版最短:

import edge_tts communicate = edge_tts.Communicate("你好世界", "zh-CN-XiaoxiaoNeural") communicate.save_sync("hello_sync.mp3")

你会得到:hello_sync.mp3,不需要事件循环,三行出结果。

在 Web 服务或已有 asyncio 的程序里,换成异步的 save:

import asyncio import edge_tts async def main(): communicate = edge_tts.Communicate("异步生成示例", "zh-CN-YunxiNeural") await communicate.save("hello_async.mp3") asyncio.run(main())

你会得到:hello_async.mp3。

两个扩展点。批量场景:为每段文本各建一个 Communicate,把所有 save 任务收集起来,用 asyncio.gather 并发执行,不必顺序等待。错误处理:在线服务偶尔超时,把 save 包进 try/except,失败后 sleep 一两秒再试,并给重试次数设上限即可。更多写法可以翻仓库里的 examples/ 示例目录,里面有带字幕的流式生成写法。

适合用在哪些场景

  • 视频配音:口播稿直接转成 mp3,拖进剪辑时间线
  • 无障碍朗读:把网页、文档内容读给需要语音的用户听
  • 多语言应用:同一套代码换--voice就输出不同语言的提示音
  • 自动化播报:报告生成后自动念出结论,系统通知语音化
  • 教育课件:讲义转语音,附带字幕方便跟读

常见问题速查

Q:pip install edge-tts 报权限错误?改用pip install --user edge-tts,或者建个虚拟环境再装,后者更干净。

Q:edge-playback 在非 Windows 系统上放不出声音?edge-playback 依赖 mpv 播放器,先用系统包管理器装好 mpv;Windows 上则自带播放能力,不用额外装。

Q:长文本合成很慢或中途失败?按段落切开分段生成,或用--file直接读入整个文本文件;仍慢就先排除网络问题再重试。

Q:上百种音色,怎么快速选定?跑--list-voices按前缀过滤,中文找 zh-CN- 开头即可,试听两三个候选再定,不用逐个试。

收尾:从这一条命令开始

Edge-TTS 把微软 Edge 的文本转语音服务包成了一个免 API 密钥的 Python 库:命令行两个参数就能出声,Python 里一个 Communicate 对象就能出声,语速、音量、音调和字幕都按需可调,全程免费。听到第一条声音之后,再决定要换什么音色、怎么接进你的代码:

edge-tts --voice zh-CN-XiaoxiaoNeural --text "你好,世界" \ --write-media hello.mp3 --write-subtitles hello.srt

你会得到:hello.mp3 和逐句对齐的 hello.srt,这就是你语音合成管线的起点。

【免费下载链接】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),仅供参考

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

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

立即咨询