免费使用 Microsoft Edge

项目地址:https://github.com/rany2/edge-tts

1 功能

语音合成支持各种主流语言,并可调节合成速度、音量和音高。我测试了一下,中文 300 字的合成时间约为 3 秒,600 字约为 6 秒。

从效果来看,语气和情感表达比传统技术(相对旧版讯飞)更好,清晰度和准确率也很高。虽然不能定制,但一般用户无需定制,只要合成效果不出戏即可。

2 原理

模拟 edge 浏览器行为,远程调用 microsoft 语音合成服务。

3 安装

1
$ pip install edge-tts

4 查看支持的语言和声音

1
edge-tts --list-voices

5 合成中文

5.1 命令行调用

1
$ edge-tts --text "我正在测试" --write-media hello.mp3 --voice zh-CN-YunxiNeural

5.2 Python 程序调用

1
2
3
4
5
6
7
8
import edge_tts

TEXT = "我正在测试"
VOICE = "zh-CN-YunxiNeural"
OUTPUT_FILE = "test.mp3"

communicate = edge_tts.Communicate(TEXT, VOICE)
communicate.save_sync(OUTPUT_FILE)

6 代码分析

  • 代码:Python,854 行
  • 核心代码:edge-tts/src/edge_tts/communicate.py,500+ 行,主要实现通讯