基于Edge-TTS的OpenAI兼容文本转语音API实战指南
项目简介
在文本转语音(TTS)技术领域,OpenAI、Azure等平台提供了强大的API服务,但它们通常需要付费或面临使用限制。
今天,我们将介绍一个开源项目 openai-edge-tts,它通过微软Edge浏览器的在线TTS服务,提供了一个完全免费且兼容OpenAI接口的本地化解决方案。
该项目的核心目标是:
- 完全兼容OpenAI API:直接替换原有调用逻辑,使用
/v1/audio/speech
端点 - 零成本部署:基于微软Edge的免费TTS服务
- 灵活配置:支持多语言、多音色和播放速度调节
核心功能特性
1. 开箱即用的OpenAI兼容接口
- 无缝迁移:直接使用OpenAI原有的API调用方式
- 请求结构一致:参数设置与OpenAI API完全兼容
- 响应格式统一:返回与OpenAI相同的音频二进制流
2. 丰富的多语言语音库
支持的多语言语音库:
- en-US-AvaMultilingualNeural
- en-US-AndrewMultilingualNeural
- en-US-EmmaMultilingualNeural
- en-US-BrianMultilingualNeural
- fr-FR-VivienneMultilingualNeural
- de-DE-SeraphinaMultilingualNeural
3. 多格式音频支持
支持主流音频格式的直接输出:
mp3 | opus | aac | flac | wav | pcm
4. 播放速度调节
通过speed
参数实现:
{
"speed": 1.0 # 范围:0.25x ~ 4.0x
}
5. 自定义音色扩展
支持直接指定Edge-TTS的完整音色名称:
# 示例:使用特定音色
curl -X POST "http://localhost:5050/v1/audio/speech" \
-H "Authorization: Bearer $API_KEY" \
-d '{"text":"Hello World","voice":"en-GB-SoniaNeural"}'
快速上手指南
部署步骤
- 克隆项目仓库
git clone https://github.com/travisvn/openai-edge-tts.git
cd openai-edge-tts
- 配置环境变量
# 复制示例配置
cp .env.example .env
# 主要配置项说明:
# API_KEY=your_api_key_here # 推荐设置安全密钥
# DEFAULT_VOICE=en-US-AvaNeural # 默认音色
# DEFAULT_RESPONSE_FORMAT=mp3 # 默认输出格式
- 启动服务
# 前台运行
docker compose up --build
# 后台运行(推荐)
docker compose up -d
API调用示例
curl -X POST http://localhost:5050/v1/audio/speech \
-H "Content-Type: application/json" \
-H "Authorization: Bearer sk-123456" \
-d '{
"model": "tts-1",
"input": "你好,这是基于Edge-TTS的文本转语音演示",
"voice": "zh-CN-XiaoxiaoNeural"
}' \
--output speech.mp3
使用注意事项
- 网络依赖:Edge-TTS需要访问微软在线服务,确保网络通畅
- 音色选择:通过Edge-TTS官方文档查看完整音色列表
- 性能优化:高并发场景建议使用Docker部署以获得更好的资源管理
GitHub项目地址:https://github.com/travisvn/openai-edge-tts