项目预览
项目数据
项目介绍
Star 增长趋势
本站每日记录该项目 GitHub 星标变化,观测越久曲线越完整
数据来源:GitHub API 逐日快照 · 收录于 2026-08-09 · 当前星标 ★ 2154
使用教程
环境要求
- Docker(使用 Docker / Docker Compose 方式时必须)
- Python 与 pip(使用 Python 本地运行方式时必须)
- 可访问微软 Edge 在线 TTS 服务的网络(edge-tts 依赖在线服务)
安装与启动步骤
-
1直接启动容器
最快的方式,使用默认配置在 5050 端口启动服务,无需克隆代码。
docker run -d -p 5050:5050 travisvn/openai-edge-tts:latest -
2克隆项目代码
需要自定义配置或本地构建时,先拉取仓库并进入目录。
git clone https://github.com/travisvn/openai-edge-tts.git cd openai-edge-tts -
3生成配置文件
复制默认配置为 .env,再按需修改 API_KEY、PORT、默认声音等。
cp .env.example .env -
4Compose 启动服务
推荐的本地运行方式,加 -d 可后台运行,不占用终端。
docker compose up -d -
5本地构建镜像
不用 Compose 时,先构建镜像再用 --env-file 加载 .env 启动。
docker build -t openai-edge-tts . docker run -d -p 5050:5050 --env-file .env openai-edge-tts -
6启用 ffmpeg 支持
默认镜像不含 ffmpeg,非 MP3 格式转换需开启该构建参数。
INSTALL_FFMPEG_ARG=true docker compose up --build -
7Python 方式运行
建议先建虚拟环境,安装依赖后启动服务,同样监听 5050 端口。
pip install -r requirements.txt python app/server.py
关键配置
| 配置项 | 必填 | 说明 | 示例 |
|---|---|---|---|
API_KEY | 是 | 调用接口时 Bearer 校验用的密钥 | sk-xxxxxxxx |
PORT | 是 | 服务监听端口,默认 5050 | 5050 |
DEFAULT_VOICE | 否 | 默认语音,可填任意 edge-tts 声音名 | en-US-AvaNeural |
DEFAULT_RESPONSE_FORMAT | 否 | 默认输出音频格式,如 mp3、wav | mp3 |
DEFAULT_SPEED | 否 | 默认语速,范围 0.25x 至 4.0x | 1.0 |
REQUIRE_API_KEY | 否 | 是否强制校验请求中的 API Key | True |
如何确认成功
访问 http://localhost:5050 能连通,且 POST /v1/audio/speech 能返回音频即成功。
常见问题
Q:这个服务需要付费或申请密钥吗?
A:不需要。它基于 edge-tts 调用微软 Edge 在线 TTS,完全免费;API_KEY 只是你自己接口的访问口令。
Q:为什么 wav、opus、flac 等格式转换失败?
A:默认镜像未安装 ffmpeg。可用 INSTALL_FFMPEG_ARG=true 本地构建,或改用 latest-ffmpeg 版镜像。
Q:能换端口吗?
A:可以。在 .env 中修改 PORT,并同步调整 docker run 的端口映射与调用地址。
Q:支持哪些声音?
A:内置 alloy、echo、fable、onyx、nova、shimmer 映射,也可直接指定任意 edge-tts 声音名。
Q:如何做流式语音输出?
A:请求时设置 stream_format 为 sse,服务会通过 SSE 分片推送 base64 音频数据。
注意事项
- Windows 与 Linux 均可运行,Docker 方式需要能拉取镜像。
- 不装 ffmpeg 时仅建议使用 MP3 输出格式。
- SSE 流式示例中需把 Authorization 换成你自己的 API_KEY。
- edge-tts 依赖微软在线服务,离线环境不可用。
核心亮点
- 完全免费,无需 API key,直接调用 Edge 的 TTS 引擎,成本为零
- API 兼容 OpenAI 格式,可无缝替换现有 TTS 服务,迁移成本低
- 支持多语言和丰富声音选择,输出音质自然,接近真人
不足之处
- 依赖微软 Edge 服务,可能受网络或地区限制,稳定性不如商业 API
- 文档/社区待观察,项目较新,生态和示例较少
适用场景
- 为聊天机器人或 AI 助手添加语音回复功能,节省 TTS 费用
- 批量生成语音内容,如播客、有声书,无需付费服务
- 在本地或私有化部署中,作为离线 TTS 服务替代云端 API
替代项目
edge-tts、Coqui TTS、Piper TTS
同类项目推荐
web-speech-recommended-voices
开源
一份清单,搞定跨浏览器语音合成选音难题
A list of recommended voices for the Web Speech API
Learn2Sing2.0
开源
让AI模仿你的声音唱歌,用扩散模型实现个性化歌声合成
Diffusion and Mutual Information-Based Target Speaker SVS by Learning from Singing T···
audio-diffusion
开源
像画图一样生成音乐,给段描述就出专属旋律
Apply diffusion models using the new Hugging Face diffusers package to synthesize mu···
ospeak
开源
终端里一句话,文本秒变语音文件
CLI tool for running text through OpenAI Text to speech
Dicy2
开源
在 Max 里用机器学习生成音乐序列,实现交互式创作
"Dicy2 for Max" is a Max package implementing interactive agents using machine-learn···
tts
开源
一句代码调用 AWS Polly,快速实现文字转语音
Tools to convert text to speech :books::speech_balloon:
audiblez
开源
把电子书一键变成有声书,通勤路上用耳朵读书
Generate audiobooks from e-books
bot-whatsapp
开源
用 Node.js 快速搭建 WhatsApp 多功能机器人,但已停止维护
Unmaintained - Multipurpose WhatsApp Bot using open-wa/wa-automate-nodejs library! ···
Qwen3-TTS-GGUF
开源
把 Qwen3-TTS 塞进 llama.cpp,本地语音合成快起来
最极速的Qwen3-TTS推理方案。将 Qwen3-TTS 的 LLM 部分导出为 GGUF,用 llama.cpp 进行加速···
