3分钟从文字到语音: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 是一个免费语音合成工具:在 Python 中调用微软 Edge 浏览器的在线文本转语音服务,把文字变成 MP3。不需要 Windows、不需要 Edge 浏览器、不需要 API 密钥,适合开发者、内容创作者和自动化场景。
它解决什么问题:3个没有录音棚的常见场景
- 视频旁白要配音:做教程、解说类视频时,自己录音耗时间。用 edge-tts 把文案转成音频,同时生成与语音对齐的 SRT 字幕,可直接导入剪辑软件。
- 有声书、播客等多语言内容:同一篇稿件要出多个语言版本时,语音列表覆盖几十种语言,逐个选对应地区的声音即可,不用为每种语言另找配音。
- 应用需要语音反馈:机器人、智能家居、通知系统都要发声。把 Python API 接进现有工程,在进程里拿到音频和字幕流,集成成本很低。
🔊 edge-tts 安装步骤:从安装到第一条语音
第 1 步,安装。如果你要写 Python 代码,用 pip 装:
pip install edge-tts这行命令把 edge_tts 模块装进当前 Python 环境,之后就能import edge_tts。如果只用命令行,建议改用pipx install edge-tts,它把命令装进独立环境,不污染系统 Python。
第 2 步,生成第一条 MP3。
edge-tts --text "Hello, world!" --write-media hello.mp3 --write-subtitles hello.srt这条命令在线合成语音并落盘两个文件:hello.mp3 音频和 hello.srt 字幕。不指定--voice时默认使用 en-US-EmmaMultilingualNeural(英语女声)。
第 3 步,实时试听。
edge-playback --text "这是一个测试语音"edge-playback 会立刻播放合成结果,方便快速对比不同音色。注意非 Windows 系统上需要先装 mpv 播放器。
核心能力:查语音库、指定音色、调语速音调
查语音库。在终端跑edge-tts --list-voices,输出是一张包含名称、性别、内容类别的表,音色名形如zh-CN-XiaoxiaoNeural(普通话女声),选定后通过--voice传入即可,这就是多语言语音合成的全部操作。
调参数。语速、音量、音调分别对应--rate、--volume、--pitch,格式为带符号的百分比或赫兹:
edge-tts --voice zh-CN-XiaoxiaoNeural --rate=-50% --pitch=-10Hz --text "今天天气真好" --write-media weather.mp3这条命令选出中文音色,语速放慢一半、音调压低 10Hz,最终得到 weather.mp3。注意负值必须写成--rate=-50%的等号形式,否则命令行会把它误认为另一个选项。
Python API。在代码里合成用Communicate类,语速音调作为关键字参数传入:
import asyncio import edge_tts async def amain(): communicate = edge_tts.Communicate( "欢迎使用 edge-tts 语音合成服务", "zh-CN-XiaoxiaoNeural", rate="+10%", pitch="+5Hz", ) await communicate.save("welcome.mp3") asyncio.run(amain())运行这段代码会创建一次异步合成任务,结束后当前目录多一个 welcome.mp3。构造函数还支持proxy、connect_timeout等参数,用来控制网络行为。
🛠️ 进阶与避坑指南:批量合成和网络问题
- 批量合成:Python 侧是异步接口,把文本列表循环起来、每段建一个
Communicate,在同一事件循环里跑完;长文稿按段落切分再合成,比整篇一次发出去更稳。 - 网络问题:先确认能否直连微软服务;需要代理时给
Communicate传proxy参数,或给命令行加--proxy;同时保持版本为最新。 - 合成质量:用完整句子并保留标点,让引擎把握停顿;避免极短碎片;音色不合适时先调
--rate、--pitch,再考虑换声音。 - 字幕对齐:写音频时加上
--write-subtitles,产出的 SRT 与语音逐句对齐,能直接挂到视频上。
它适合谁、不适合谁
- 适合:要在 Python 工程里接入文本转语音的开发者,以及想快速产出旁白、有声读物的创作者。免费、无需密钥,装完即用。
- 不适合:需要离线运行或毫秒级实时响应的场景——它依赖在线服务;以及文本内容不便发送到远端服务的敏感场景。
- 结论:只要接受"联网 + 文本上送",edge-tts 是目前做免费语音合成成本最低的路径之一。
现在装一条命令,把第一句 MP3 合成出来。更多细节可以看 README、各种调用方式的 examples/,以及核心实现代码 src/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
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考