免费开源 · 无需 API 密钥

用 Python 访问
Edge 语音合成

基于 Microsoft Edge 在线文本转语音服务的 Python 模块,无需安装 Edge 浏览器、Windows 系统或任何 API 密钥,即可将文本转换为高质量语音。

快速安装 GitHub
无需 API Key
无需 Windows
命令行 + Python 双模式
支持 400+ 语音

安装

只需一行命令,即可在你的项目中使用 edge-tts。

pip 安装

标准方式,安装后可直接在 Python 代码中导入使用。

Terminal
$ pip install edge-tts

pipx 安装

仅使用命令行工具的推荐方式,隔离环境更干净。

Terminal
$ pipx install edge-tts

基本用法

使用 edge-tts 命令行工具,将任意文本转换为语音文件和字幕文件。

文本转语音

Terminal
$ edge-tts --text "Hello, world!" --write-media hello.mp3 --write-subtitles hello.srt

即时播放

Terminal
$ edge-playback --text "Hello, world!"

注意:除 Windows 系统外,edge-playback 需要安装 mpv 播放器

调整语速、音量和音高

通过命令行参数精确控制语音输出效果。使用负值时请写成 --rate=-50% 的形式。

--rate
调整语音语速
--rate=-50%
--volume
调整语音音量
--volume=-50%
--pitch
调整语音音高
--pitch=-50Hz
Terminal
# 降低语速
$ edge-tts --rate=-50% --text "Hello, world!" --write-media slow.mp3 --write-subtitles slow.srt

# 降低音量
$ edge-tts --volume=-50% --text "Hello, world!" --write-media quiet.mp3 --write-subtitles quiet.srt

# 降低音高
$ edge-tts --pitch=-50Hz --text "Hello, world!" --write-media low.mp3 --write-subtitles low.srt

关于自定义 SSML

自定义 SSML 支持已被移除,因为 Microsoft 会阻止使用任何非 Edge 自身生成的 SSML。该服务仅允许一个 <voice> 标签内包含一个 <prosody> 标签,相关自定义选项已全部在本库的命令行参数中提供。

丰富的语音库

支持 400 多种语音,覆盖 75+ 种语言和地区,使用 --list-voices 查看完整列表。

语音示例

以下列出部分可用语音。使用 --voice 参数指定语音。

语音名称 语言 性别 风格
af-ZA-AdriNeural 南非荷兰语 友好, 积极
ar-EG-SalmaNeural 阿拉伯语 (埃及) 友好, 积极
ar-AE-HamdanNeural 阿拉伯语 (阿联酋) 友好, 积极
am-ET-AmehaNeural 阿姆哈拉语 友好, 积极

查看全部语音

运行以下命令获取完整的语音列表,包括名称、性别、内容类别和语音风格。

Terminal
$ edge-tts --list-voices

输出包含语音名称、性别、内容类别和语音个性特征等详细信息。

多语言示例

选择不同语言和地区的语音,轻松生成本地化内容。

输出格式

支持输出 MP3 音频和 SRT 字幕文件,方便集成到各类项目中。

Terminal
# 使用阿拉伯语 (埃及) 语音生成音频
$ edge-tts --voice ar-EG-SalmaNeural --text "مرحبا كيف حالك؟" --write-media hello_arabic.mp3 --write-subtitles hello_arabic.srt

Python 模块集成

除了命令行工具,你还可以直接在 Python 代码中导入和使用 edge-tts 模块,实现更灵活的集成。

官方示例

项目自带的示例代码,涵盖常见的使用场景。

查看示例

工具模块

内置的工具函数模块,简化常见操作。

查看 util.py

使用 edge-tts 的项目