文本转语音(TTS)技术已经成为现代应用程序中的重要组成部分,从语音助手到有声读物,TTS的应用无处不在。
然而,许多高质量的TTS服务(如OpenAI、Azure、ElevenLabs)都需要付费,这对于个人开发者和中小企业来说可能是一个负担。
那么,有没有一种既高质量又免费的替代方案呢?答案是肯定有的。
就是我们今天的主角:openai-edge-tts。
它利用微软Edge的在线语音服务,提供与这些付费服务相媲美的功能和语音质量,让用户无需为TTS服务花费一分钱。
OpenAI-Edge-TTS 是一个开源的免费文本转语音API接口,托管在GitHub上。
它通过调用微软 Edge 的在线语音服务,为用户提供免费且高质量的语音生成功能。
不仅支持多种语音和语言选择,还允许用户自由调整播放速度和音频格式,真正实现了个性化的语音体验,使其成为一个灵活且功能强大的TTS解决方案。
使用 openai-edge-tts 非常简单,即使是初学者也能快速部署和使用。
① 克隆项目到本地
git clone https://github.com/travisvn/openai-edge-tts.gitcd openai-edge-tts
② 配置环境变量,在根目录中创建一个.env文件,包含以下变量:
API_KEY=your_api_key_herePORT=5050DEFAULT_VOICE=en-US-AndrewNeuralDEFAULT_RESPONSE_FORMAT=mp3DEFAULT_SPEED=1.2DEFAULT_LANGUAGE=en-USREQUIRE_API_KEY=TrueREMOVE_FILTER=FalseEXPAND_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
上可用,直接访问即可使用。
前两步,跟Docker部署一样,需要额外做的是创建Python虚拟环境:
# For macOS/Linuxpython3 -m venv venvsource venv/bin/activate# For Windowspython -m venv venvvenv\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个字符)。
可选参数:
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