点击上方“蓝色字体”关注我,每天推送“实用有趣的项目”!
文本转语音(TTS)技术已经成为现代应用程序中的重要组成部分,从语音助手到有声读物,TTS的应用无处不在。
然而,许多高质量的TTS服务(如OpenAI、Azure、ElevenLabs)都需要付费,这对于个人开发者和中小企业来说可能是一个负担。
那么,有没有一种既高质量又免费的替代方案呢?答案是肯定有的。
就是我们今天的主角:openai-edge-tts。
它利用微软Edge的在线语音服务,提供与这些付费服务相媲美的功能和语音质量,让用户无需为TTS服务花费一分钱。
项目简介
OpenAI-Edge-TTS 是一个开源的免费文本转语音API接口,托管在GitHub上。
它通过调用微软 Edge 的在线语音服务,为用户提供免费且高质量的语音生成功能。
不仅支持多种语音和语言选择,还允许用户自由调整播放速度和音频格式,真正实现了个性化的语音体验,使其成为一个灵活且功能强大的TTS解决方案。
主要特点
-
• 高质量免费语音服务:借助微软 Edge 在线语音服务,OpenAI-Edge-TTS提供了高质量的语音输出,而不需要用户支付任何费用。
-
• 多种语音和语言选项:用户可以选择多种语音和语言,为不同的应用场景提供合适的语音输出。
-
• 灵活的播放速度:支持调节播放速度,用户可以根据需要自由设置语音的快慢,增强听觉体验。
-
• 多种音频格式支持:OpenAI-Edge-TTS支持包括mp3、aac、flac、wav等多种音频格式,方便用户在不同设备和平台上使用。
-
• 兼容OpenAI结构:/v1/audio/speech,具有类似请求结构和行为。
-
• 易于部署:提供Docker一键部署方式,让用户可以快速上手体验,无需繁琐的安装和配置。
安装使用方法
使用 openai-edge-tts 非常简单,即使是初学者也能快速部署和使用。
Docker 部署
① 克隆项目到本地
git clone https://github.com/travisvn/openai-edge-tts.git
cd openai-edge-tts
② 配置环境变量,在根目录中创建一个.env文件,包含以下变量:
API_KEY=your_api_key_here
PORT=5050
DEFAULT_VOICE=en-US-AndrewNeural
DEFAULT_RESPONSE_FORMAT=mp3
DEFAULT_SPEED=1.2
DEFAULT_LANGUAGE=en-US
REQUIRE_API_KEY=True
REMOVE_FILTER=False
EXPAND_API=True
或者,复制默认的.env.example。
cp .env.example .env
③ 使用Docker Compose运行
docker compose up --build
当然也可以直接使用Docker运行:
docker build -t openai-edge-tts .
docker run -p 5050:5050 --env-file .env openai-edge-tts
要在后台运行容器,请在docker run命令后添加-d:
docker run -d -p 5050:5050 --env-file .env openai-edge-tts
④ 访问 API
服务将在 http://localhost:5050
上可用,直接访问即可使用。
Python环境部署
前两步,跟Docker部署一样,需要额外做的是创建Python虚拟环境:
# For macOS/Linux
python3 -m venv venv
source venv/bin/activate
# For Windows
python -m venv venv
venv\Scripts\activate
安装Python依赖三方库
pip install -r requirements.txt
最后,执行Python服务,开启 http://localhost:5050
服务。
python app/server.py
然后就可以测试API了,比如:在 http://localhost:5050/v1/audio/speech 和其他可用的端点上与 API 交互。
WebUI 界面:
用法:
端点: /v1/audio/speech,从输入文本生成音频。
必选参数:
输入 (字符串): 要转换为音频的文本(最多4096个字符)。
可选参数:
-
•
model (string)
: 设置为 “tts-1” 或 “tts-1-hd”(默认:”tts-1″)。 -
•
voice (string)
: 一个与OpenAI兼容的语音(alloy, echo, fable, onyx, nova, shimmer)或任何有效的edge-tts语音(默认:”en-US-AndrewNeural”)。 -
•
response_format (string)
: 音频格式,选项:mp3、opus、aac、flac、wav、pcm(默认:mp3)。 -
•
speed (number)
: 播放速度(0.25 到 4.0),默认值为 1.2。
API 示例:
curl -X POST http://localhost:5050/v1/audio/speech \
-H "Content-Type: application/json" \
-H "Authorization: Bearer your_api_key_here" \
-d '{
"model": "tts-1",
"input": "じゃあ、行く。電車の時間、調べておくよ。",
"voice": "ja-JP-KeitaNeural"
}' \
--output speech.mp3
写在最后
OpenAI-Edge-TTS 的出现,真正降低了高质量文本转语音服务的门槛,为用户提供了一种免费的替代方案。
它不仅拥有强大的功能,还非常易于使用和部署,是那些寻求高质量但又希望节省成本的用户的理想选择。
GitHub 项目地址:https://github.com/travisvn/openai-edge-tts
● 一款改变你视频下载体验的神器:MediaGo
● 新一代开源语音库CoQui TTS冲到了GitHub 20.5k Star
● 最新最全 VSCODE 插件推荐(2023版)
● Star 50.3k!超棒的国产远程桌面开源应用火了!
● 超牛的AI物理引擎项目,刚开源不到一天,就飙升到超9K Star!突破物理仿真极限!
(文:开源星探)