2026/9/14 12:25:12

edge-tts 免费语音合成教程:5 分钟让文字开口说话

edge-tts 免费语音合成教程:5 分钟让文字开口说话 edge-tts 免费语音合成教程5 分钟让文字开口说话【免费下载链接】edge-ttsUse Microsoft Edges 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上次给 200 条字幕逐句配语音你卡在第几条如果一想到配音就头疼可以停下手头的活看 5 分钟——edge-tts是一个 Python 工具直接调用微软 Edge 内置的在线语音合成服务不用申请 API 密钥、不依赖 Windows把文本变成自然流畅的 MP3一分钱不花。 它能替你搞定什么免费调用微软级语音合成— 不订阅、不要密钥、不用装 Edge 浏览器浏览器大声朗读背后那套神经网络语音引擎直接拿来用。上百种语言、多种音色— 普通话、英语、法语、阿拉伯语……每种语言都有好几个男声女声列表里还标了每个音色的性格特点。音频和字幕一次出齐— 生成 MP3 的同时顺手产出带时间轴的 SRT 字幕不用在剪辑软件里逐句对轨。命令行和代码两个入口— 用edge-tts命令快速出音频或在代码里 importedge_tts模块看你顺手用哪个。 从零到跑通1. 装好 edge-tts一条命令半分钟的事pip install edge-tts跑完没报错就算装好了。如果你只打算用命令、不写代码pipx install edge-tts更干净会装在独立环境里。2. 生成第一句语音装完别急着写代码先让它开口edge-tts --text 你好这是你的第一句合成语音 --write-media hello.mp3跑完会在当前目录生成hello.mp3用任意播放器打开是一段挺自然的默认英文女声。3. 列出所有语音挑一个喜欢的默认音色是英文的中文用户得先换人edge-tts --list-voices输出一张表音色名、性别、适用场景、性格。搜zh-找普通话zh-CN-XiaoxiaoNeural甜美女声和zh-CN-YunxiNeural男声用得最多。4. 加参数一次出音频加字幕edge-tts --voice zh-CN-XiaoxiaoNeural --text 今天讲 Python 入门 \ --write-media lesson.mp3 --write-subtitles lesson.srt跑完得到两个文件音频和 SRT 字幕时间点由服务自动对齐不用手动调。一句话总结到这里你只敲了四条命令就拥有了文字 → 人声 字幕的完整产线。 三个真实场景直接抄作业场景一电子书章节转有声书痛点一章五万字的书人工读出来不现实。 解法用--file把整个文本文件喂给命令长文本会被自动切块合成顺手用--rate调快一点更像播客。edge-tts --file chapter1.txt --voice zh-CN-XiaoxiaoNeural \ --rate10% --write-media chapter1.mp3 --write-subtitles chapter1.srt效果一章变成一份 mp3 加一份 srt直接拖进播放器或剪辑软件就是成品。场景二批量给短视频配音痛点一个短剧拆出 20 个字幕文件逐个生成音频太慢。 解法命令天然适合 shell 循环一个 for 循环扫完整个文件夹。mkdir -p aud for f in subs/*.txt; do edge-tts --file $f --write-media aud/$(basename ${f%.txt}).mp3 done效果跑一遍aud/目录里音频和字幕文件一一对应直接进剪辑软件铺轨。场景三终端里直接听效果痛点每次换音色都要先生成文件再播放反馈回路太长。 解法用配套的edge-playback命令边合成边播放等价于打字即发声。edge-playback --text 外卖已送达请开门效果话音立刻从扬声器出来。注意非 Windows 系统要先装 mpv 播放器。 写进你的项目代码集成如果你只需要在 Flask 或 FastAPI 接口里返回一个 mp3 文件下面这段同步写法就够import edge_tts def make_speech(text: str, voice: str zh-CN-XiaoxiaoNeural) - str: 生成语音返回本地 mp3 路径 out speech.mp3 communicate edge_tts.Communicate(text, voice, rate10%) communicate.save_sync(out) # 第二个参数可传字幕 json 路径 return out生产环境注意调用外面包一层重试指数退避并设置connect_timeout/receive_timeout防止网络抖动时长时间挂住。批量任务给Communicate传入共享的aiohttpconnector复用连接并发控制在 4~8避免触发服务限流。长文本不用手动切库会按 4096 字节、优先在换行/空格处自动切块并清掉控制字符比如 OCR 出来的竖制表符。 踩坑速查 调优手册踩坑报NoAudioReceived或 403→ 服务端拒绝了请求通常是请求签名过期或系统时钟不准。解法先pip install -U edge-tts升到最新版再确认系统时间开了自动同步。--rate -30%不生效或报错→ 负值被当成了新的命令行选项。写成等号形式edge-tts --rate-30% --text ...。edge-playback在 Linux/macOS 没声音→ 缺 mpv。brew install mpv或sudo apt install mpv不做实时播放可以无视这条。调优用--list-voices的输出当素材按语言 性别过滤候选批量试听再定稿。rate和volume用百分比、pitch用 Hz教学片-30%降速沉稳感用-20Hz降调。长文本一律走--file参数绕开终端引号转义的坑。字幕粒度可在Communicate构造函数里设boundary支持词级和句级两种。 接下来去哪儿完整示例代码在 examples/ 目录更多 CLI 参数看 README.md想深入原理就翻 src/edge_tts/ 下的communicate.py和voices.py。基于它做二次开发时建议 fork 一份或写独立脚本不要直接改仓库里的源码。以前需要付费 API 才能搞定的语音合成现在离你只差一条 pip 命令。打开终端输入pip install edge-tts30 秒后你会听到第一句合成语音。【免费下载链接】edge-ttsUse Microsoft Edges 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),仅供参考