main
Edge TTS 语音合成服务 v2.0
免费开源的中文 TTS 服务,基于微软 Edge 浏览器语音合成技术,支持背景音乐混音。
特点
- ✅ 完全免费,无调用限制
- ✅ 中文效果优秀,5种语音可选
- ✅ 实时响应,支持流式播放
- ✅ 背景音乐混音(v2.0 新增),睡前故事等场景适用
快速开始
1. 安装依赖
cd tts-server
pip install -r requirements.txt
注意:背景音乐混音功能需要额外安装 FFmpeg
- Windows:
winget install Gyan.FFmpeg- macOS:
brew install ffmpeg- Ubuntu:
sudo apt-get install ffmpeg
2. 启动服务
python tts_server.py
服务启动在 http://localhost:8000
3. 背景音乐文件
将音乐文件(.mp3 / .wav / .ogg)放入 bgm/ 目录,内置提供 lullaby.wav(摇篮曲)。
tts-server/
├── bgm/
│ └── lullaby.wav # 内置摇篮曲
├── tts_server.py
└── requirements.txt
API 接口
POST /tts - 文字转语音(返回 MP3 文件)
{
"text": "要合成的文字",
"voice": "xiaoxiao",
"rate": "+0%",
"volume": "+0%",
"bgm": "lullaby.wav",
"bgm_volume": 0.3
}
| 参数 | 类型 | 默认值 | 说明 |
|---|---|---|---|
| text | string | 必填 | 合成文字(最多5000字) |
| voice | string | xiaoxiao | 语音名称 |
| rate | string | +0% | 语速(如 -10%、+20%) |
| volume | string | +0% | 音量 |
| bgm | string | 空 | 背景音乐文件名(bgm/目录下),留空则不混音 |
| bgm_volume | float | 0.3 | 背景音乐音量(0.0~1.0) |
GET /bgm - 列出可用背景音乐
GET /bgm
GET /voices - 列出可用语音
GET /tts/get - 测试用 GET 接口
GET /tts/get?text=你好&voice=xiaoxiao
可用语音
| 名称 | ID | 特点 |
|---|---|---|
| xiaoxiao | 晓晓 | 女声,温柔自然 |
| xiaoyi | 小艺 | 女声,活泼轻快 |
| yunjian | 云健 | 男声,新闻播报 |
| yunxi | 云希 | 男声,年轻活力 |
| xiaochen | 晓晨 | 女声,成熟稳重 |
使用示例
睡前故事(含摇篮曲背景)
import requests
resp = requests.post("http://localhost:8000/tts", json={
"text": "从前,在一片美丽的大森林里...",
"voice": "xiaoxiao",
"rate": "-5%",
"bgm": "lullaby.wav",
"bgm_volume": 0.25
}, timeout=180)
with open("story.mp3", "wb") as f:
f.write(resp.content)
纯语音(不混音)
resp = requests.post("http://localhost:8000/tts", json={
"text": "你好,世界",
"voice": "xiaoxiao"
})
注意事项
- 依赖微软 Edge 在线服务,需要网络连接
- 单条文本建议不超过 5000 字
- 长文本(600字以上)生成耗时约 60-120 秒,调用方请设置足够长的 timeout(建议 180s+)
- 混音功能依赖 pydub + FFmpeg,FFmpeg 需单独安装
- 商业使用请遵守微软服务条款
Languages
Python
100%