关键要点
- openai-edge-tts(github.com/travisvn/openai-edge-tts)是免费开源的自托管 API 服务器——不是本地语音模型
- 由开发者 travisvn 创建;仓库创建于 2024 年 10 月 9 日
- GPL-3.0 许可,已通过 GitHub 仓库的许可字段确认
- 暴露
/v1/audio/speech,匹配 OpenAI 文本转语音 API 的请求/响应格式,现有的 OpenAI-TTS 客户端代码只需改动基础 URL 即可指向它 - 合成通过
edge-ttsPython 库代理到 Microsoft Edge 免费的在线"朗读"语音——你的硬件上不运行任何本地语音模型 - 截至本评测,GitHub 星标超过 2,100,分支数 316
📍 简单一句话
openai-edge-tts 是由开发者 travisvn 创建的免费开源(GPL-3.0)API 服务器,暴露兼容 OpenAI 的 /v1/audio/speech 端点,但它不运行本地语音模型,而是通过 edge-tts 库将每个请求代理到 Microsoft Edge 的免费在线语音,截至本评测已有超过 2,100 个 GitHub 星标。
💬 简单来说
它是一个你自己运行的小型服务器(通常在 Docker 中),让为 OpenAI API 打造的文本转语音工具改用一个免费的语音来源——但实际的"发声"发生在 Microsoft 的服务器上,而不是你的机器上。如果你在意文本对 Microsoft 的隐私性,这个工具无法提供;如果你要解决的是 OpenAI/Azure/ElevenLabs TTS API 的成本问题,它确实能解决。
📌注: 本评测基于 openai-edge-tts 自己的 GitHub 仓库、README 和发布说明。并不代表 PromptQuorum 已对其底层的 Microsoft Edge 语音进行过实测延迟或质量基准测试。
openai-edge-tts 是什么?
openai-edge-tts 是一个自托管的 API 服务器,模拟 OpenAI 的文本转语音 API,让为调用 OpenAI、Azure AI Speech 或 ElevenLabs 打造的工具可以改指向它——而无需按请求付费。 它通过封装 edge-tts 库实现这一点,而该库本身通过互联网与 Microsoft Edge 免费的、基于浏览器的"朗读"语音服务通信。
- 产品类型:自托管 API 服务器(Docker 或 Python),不是可下载的终端用户应用,也不是本地语音模型
- 创建者:独立开发者 travisvn;GitHub 仓库托管在 github.com/travisvn/openai-edge-tts
- 根据 GitHub 的仓库元数据,仓库创建于 2024 年 10 月 9 日
- 许可:GPL-3.0,已通过 GitHub 仓库的许可元数据确认;README 还指出企业/商业部署应直接联系作者
- 本地性:是混合方式,而非本地 ——服务器进程本身是自托管的,但实际的文本转语音合成被转发给 Microsoft Edge 的在线语音服务,并非在你自己的硬件上计算
- 规模:截至本评测,GitHub 星标超过 2,100,分支数 316
项目历史与版本里程碑
GitHub 仓库创建于 2024 年 10 月 9 日,其最重要的公开发布里程碑是 v2.0.0,于 2024 年 12 月 28 日发布,增加了 Markdown 过滤、ElevenLabs/Azure AI Speech 端点的 Beta 兼容,以及简化的设置流程。
- 12024 年 10 月 9 日:仓库创建
Why it matters: 根据 GitHub 的仓库元数据,标志着项目的起点。 - 2v2.0.0 — 2024 年 12 月 28 日:Markdown 过滤、扩展的 API 支持、简化的设置
Why it matters: 根据官方 GitHub 发布说明,增加了对输出文本的可选 Markdown 过滤、除现有 OpenAI 格式端点外对 ElevenLabs 和 Azure AI Speech 端点的 Beta 直接兼容,并使 `/v1` 路由前缀变为可选。
openai-edge-tts 到底做什么?
openai-edge-tts 接收 OpenAI API 格式的文本转语音请求,将所请求的语音和设置映射到对应的 Microsoft Edge 语音,通过 edge-tts 库从 Microsoft 的在线服务获取合成音频,再以客户端期望的格式返回。
- 兼容 OpenAI 的端点:
/v1/audio/speech(自 v2.0.0 起/v1前缀可选),匹配 OpenAI 的 TTS 请求/响应格式,现有客户端代码只需修改基础 URL - 语音映射:默认情况下,OpenAI 的语音名称(alloy、echo、fable、onyx、nova、shimmer)会映射到特定的 edge-tts 语音;README 还说明了如何绕过 OpenAI 名称映射,直接选择任意 edge-tts 语音
- Beta 兼容层:除主要的 OpenAI 格式端点外,v2.0.0 引入了模拟 ElevenLabs 和 Azure AI Speech API 的直接兼容端点
- 音频格式:根据 README,支持 mp3、opus、aac、flac、wav 和 pcm 输出
- 流式传输:支持带 base64 编码音频块的 Server-Sent Events(SSE)流式传输,适合希望增量获取音频而非等待完整文件的客户端
- 速度控制:可调节播放速度,范围为 0.25 倍到 4.0 倍
- 可选的 Markdown 过滤:默认在合成前从输入文本中剥离 Markdown 语法,因为源文本(例如来自 LLM 的响应)通常包含不应被逐字朗读的 Markdown;可通过
REMOVE_FILTER环境变量禁用 - 配置:通过
.env文件设置 API 密钥、端口(默认 5050)、默认语音、默认速度和默认语言
使用示例:两种使用 openai-edge-tts 的方式
以下是基于上述项目已文档化功能构建的具体工作流程。
安装 openai-edge-tts
openai-edge-tts 可通过 Docker(推荐)或直接用 Python 免费安装,其源代码托管在 GitHub 上。
来源 | 链接 |
|---|---|
| Docker 镜像(Docker Hub) | travisvn/openai-edge-tts |
| GitHub 仓库(源代码,GPL-3.0) | github.com/travisvn/openai-edge-tts |
| 语音样本/项目网站 | tts.travisvn.com |
Docker 快速开始:docker run -d -p 5050:5050 -e API_KEY=your_api_key_here -e PORT=5050 travisvn/openai-edge-tts:latest。README 中还记录了带可选 FFmpeg 支持的 docker-compose 配置,以及直接的 Python/pip 安装方式——运行前请在 GitHub 上核实当前命令,因为安装说明可能会随版本变化。
平台、价格与许可
平台
- openai-edge-tts 的说明:
- 自托管 API 服务器(Docker 或 Python)——没有图形界面,没有可下载的终端用户应用;可在任何能运行 Docker 或 Python 的主机上运行。
费用
- openai-edge-tts 的说明:
- 个人使用免费且开源。README 指出企业/商业部署应直接联系作者(travisvn)。
许可
- openai-edge-tts 的说明:
- GPL-3.0,已通过 GitHub 仓库的许可元数据确认。
安装方式
- openai-edge-tts 的说明:
- Docker(
docker run或 docker-compose)是文档记录的主要方式;也记录了不使用 Docker 时的 Python 虚拟环境 + pip 安装方式。
在组织级规模部署此工具前,请直接在 GitHub 仓库中核实当前的许可和商业使用条款,因为 README 中提到的企业联系方式只是一种表达的意图,并非本评测能独立核实的另行发布的商业许可文本。
openai-edge-tts vs. Piper TTS
openai-edge-tts 和 Piper TTS 以相反的方式解决同一个"免费的兼容 OpenAI TTS 端点"问题:一个代理到免费的云端语音服务,另一个则完全在你自己的硬件上运行真正的神经网络 TTS 模型。 它们经常被拿来比较,因为两者都会出现在同样的"如何给自托管 AI 技术栈加上免费 TTS"搜索结果中。
方面 | openai-edge-tts | Piper TTS |
|---|---|---|
| 合成发生的位置 | Microsoft 的 Edge 语音服务,通过网络 | 完全在自己的 CPU 上,无需网络调用 |
| 本地性 | 混合方式——自托管服务器,依赖云端合成 | 完全本地——下载模型后可离线工作 |
| 语音质量/风格 | Microsoft Edge 的商业级在线语音,覆盖多种语言 | 较小的神经网络语音模型,质量因语音而异,需按语音下载 |
| 依赖风险 | 取决于 Microsoft 是否会持续提供这项免费服务 | 只取决于已下载的模型文件能否持续可用 |
| 许可 | GPL-3.0 | MIT |
如果向 Microsoft 发送文本对你的场景可以接受,并且你想要不产生本地计算成本、种类丰富且质量精良的语音,openai-edge-tts 是更简单的路径。如果合成必须完全留在你掌控的硬件上,正确的选择是 Piper TTS(或其他真正本地的引擎),而不是这个工具。
谁应该使用 openai-edge-tts?
openai-edge-tts 适合那些想在不放弃 OpenAI 形态集成的前提下,消除商用 TTS API 按请求成本的开发者,并且能接受文本被发送到 Microsoft Edge 语音服务这一点。
openai-edge-tts 不适合哪些场景
如果真正本地、离线或隐私敏感的语音合成是硬性要求,openai-edge-tts 就不合适。
- 不支持离线——每次合成请求都需要能连接到 Microsoft Edge 语音服务的可用互联网连接;在物理隔离的机器上无法运行
- 不像本地模型那样私密——用于合成的文本会到达 Microsoft 的服务器,因此这个工具不会把要合成的文本限制在你自己的硬件之内
- 没有正式、有文档记录的 Microsoft API 作为支撑——它依赖的是 Edge 浏览器所使用的同一套免费"朗读"语音机制,Microsoft 可能在不通知的情况下更改或限制它;README 本身也没有为这项依赖记录正式的速率限制或服务条款保证
- 不是声音克隆工具——只提供 Microsoft Edge 现有的预设语音,不支持基于你自己的音频训练或克隆自定义声音
- 默认不带商业许可——README 要求企业/商业部署直接联系作者,而不是假定仅凭 GPL-3.0 条款就足以覆盖这类用途
评估 openai-edge-tts 时的常见误区
关于 openai-edge-tts 的大部分困惑,源于因为它是自托管的就误以为它像本地模型一样运作,或者忽略了其非 OpenAI 端点模式的 Beta 状态。
竞品与替代方案
openai-edge-tts 最常与那些同样暴露兼容 OpenAI 端点的、真正本地/离线的文本转语音引擎进行比较——它的主要差异点是:以牺牲真正的离线隐私为代价,换取零本地计算成本下 Microsoft Edge 更广泛、更精良的语音选择。
工具 | 主要特点 | 链接 |
|---|---|---|
| Piper TTS | 来自 Rhasspy 项目的快速、完全本地、仅 CPU 的神经网络 TTS 引擎 | Piper TTS 评测 |
| Coqui TTS | 支持声音克隆和多语言的开源本地 TTS 工具包 | Coqui TTS 评测 |
| XTTS-v2 | 来自 Coqui 的本地零样本声音克隆 TTS 模型 | XTTS-v2 评测 |
| Bark | 基于 Transformer 的本地 TTS 模型,支持富有表现力的非语音音频生成 | Bark 评测 |
此列表反映了本地/自托管 TTS 领域中常与 openai-edge-tts 比较的工具,并非 PromptQuorum 的独立排名——选择前请核实每个工具当前的功能集和硬件要求。
常见问题
openai-edge-tts 是什么?
openai-edge-tts(github.com/travisvn/openai-edge-tts)是一个免费开源(GPL-3.0)、自托管的 API 服务器,暴露一个匹配 OpenAI 文本转语音 API 的 /v1/audio/speech 端点,背后依托的是 Microsoft Edge 的免费在线语音,而非本地语音模型。
openai-edge-tts 是本地的还是使用云端?
它是混合方式,并非完全本地。服务器本身是自托管的,但每一次文本转语音请求都会通过 edge-tts 库,经互联网代理到 Microsoft Edge 免费的在线"朗读"语音服务。
openai-edge-tts 免费吗?
是的,个人使用免费。它在 GPL-3.0 许可下免费且开源。README 指出企业/商业部署应直接联系作者 travisvn。
openai-edge-tts 能保护我的隐私吗?
不像本地模型那样。由于合成被代理到 Microsoft 的 Edge 语音服务,你发送的文本不会被限制在自己的硬件之内——不要用它来处理你不希望第三方云服务处理的文本。
如何安装 openai-edge-tts?
文档记录的快速开始方式是 Docker:docker run -d -p 5050:5050 -e API_KEY=your_api_key_here -e PORT=5050 travisvn/openai-edge-tts:latest。GitHub 的 README 中还记录了 docker-compose 配置和直接的 Python/pip 安装方式。
openai-edge-tts 支持哪些语音?
默认情况下,它会把 OpenAI 的六个标准语音名称(alloy、echo、fable、onyx、nova、shimmer)映射到对应的 Microsoft Edge 语音,也允许你直接选择任意 edge-tts 语音,覆盖多种语言。
openai-edge-tts 能替代 ElevenLabs 或 Azure AI Speech,而不只是 OpenAI 吗?
该项目在 v2.0.0(2024 年 12 月)中,除了主要的 OpenAI 格式端点外,还添加了针对 ElevenLabs 和 Azure AI Speech 的 Beta 直接兼容端点。在生产环境依赖它之前,请针对你的具体客户端核实当前的行为。
openai-edge-tts 是谁创建的?
一位名为 travisvn 的独立开发者创建并维护 openai-edge-tts。GitHub 仓库创建于 2024 年 10 月 9 日。
openai-edge-tts 支持声音克隆吗?
不支持。它只提供 Microsoft Edge 现有的预设语音;没有基于你自己的音频样本训练或克隆自定义声音的功能。
PromptQuorum 有独立测试过 openai-edge-tts 的宣称吗?
本评测基于该项目自己的 GitHub 仓库、README 和发布说明,而非 PromptQuorum 进行的实测延迟或音质基准测试。