edge-tts:一条命令生成免费文字转语音的开源工具
2026/9/14 7:19: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 浏览器的在线 TTS 服务。它不需要安装 Edge、不需要 Windows 系统,也不需要注册或申请 API Key。pip install edge-tts之后,你同时得到一条edge-tts命令和一套 Python 语音合成库,一段文字即可变成 MP3 音频和 SRT 字幕文件。

项目速览

这个项目把微软网页端"朗读"功能做成了命令行工具和 Python 模块,核心逻辑集中在 src/edge_tts/ 目录,通过 WebSocket 与微软服务通信,音频按流式分块返回。

  • 免费文字转语音,无需密钥
  • 支持数百种多语言发音人
  • 可调节语速、音量、音调
  • 一次输出 MP3 和 SRT 字幕
  • 提供命令行与 Python API 两种入口

一条命令完成安装,再跑通首次合成

第一步,安装:

pip install edge-tts

如果只用命令行、不写 Python 代码,用pipx install edge-tts也可以。

第二步,用一条命令合成第一个音频文件,同时生成字幕:

edge-tts --text "番茄炒蛋:先把蛋液打散,热锅冷油再下锅。" \ --write-media cooking.mp3 \ --write-subtitles cooking.srt

第三步,确认产物。cooking.mp3是 48kbps 的单声道音频,cooking.srt是带时间轴的字幕,可直接挂到播放器或视频上。想跳过文件直接听,可以改用edge-playback --text "...",它在 Windows 外需要本机装有 mpv 播放器。

常用参数一览表

合成质量主要由四个选项控制,都是命令行参数和Communicate构造函数的直接映射:

选项取值格式说明
--voice发音人名称先用edge-tts --list-voices查看全部可选语音
--rate+10%/-20%调节语速,默认+0%
--pitch+5Hz/-10Hz调节音调,默认+0Hz
--write-subtitlesSRT 文件路径合成时同步输出字幕文件

音量可用--volume单独调节,格式与语速相同。

命令行与 Python 两种调用方式

命令行方式:适合一次性任务

需要更快语速、更高音调的会议提醒,把参数带上即可:

edge-tts --voice zh-CN-XiaoxiaoNeural \ --rate=+10% --pitch=+5Hz \ --text "各位,评审会议提前到九点半,请准时参加。" \ --write-media meeting.mp3 \ --write-subtitles meeting.srt

注意负号参数的写法:必须写成--rate=-20%而不是--rate -20%,否则减号会被当成新选项解析。

Python 脚本方式:适合批量生成

模块入口是Communicate类,同步场景用save_sync一行落盘:

import edge_tts text = "第一章 雨停之后,小镇恢复了往日的安静。" communicate = edge_tts.Communicate(text, "zh-CN-XiaoxiaoNeural") communicate.save_sync("chapter1.mp3")

更完整的写法(含流式读取和字幕合成)可以直接参考 examples/sync_audio_streaming_with_predefined_voice_subtitles.py。

容易踩的坑与限制

  • 强依赖在线服务:每次合成都要实时连接微软服务器,断网即不可用;网络受限时可在命令行或构造函数中传--proxy
  • 非官方接口:它复用的是 Edge 浏览器自己的私有通道,微软没有承诺其长期可用,服务变动时需要升级 edge-tts 版本。
  • 不支持自定义 SSML:微软限制了只能使用 Edge 生成的标记,能调的参数就是语速、音量、音调这几项。
  • edge-playback 的依赖:除 Windows 外,即时播放命令依赖 mpv,装不上就无法试听,只能先写文件再播。

三个落地场景

  • 有声内容制作:长文按章节循环调用,每章产出 MP3 加时间轴字幕,直接导入剪映或 obsidian 等工具。
  • 内部通知语音化:把会议变更、发布通告等短文本批量转成语音,推送给无法看屏幕的场景,如车载与对讲终端。
  • 智能家居集成:Home Assistant 社区有基于本模块的 edge_tts 集成,可让自动化流程用语音播报传感器事件。

edge-tts 把免费 TTS 从浏览器功能变成了可安装的 Python 语音合成能力,装完即用。参考:README.md、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),仅供参考

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

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

立即咨询