48570e54a704278b1f2b39ad387edfb5ded6b2f4
- 将tts_server_linux.go重命名为tts_server.go - 更新go.mod中的依赖版本 - 删除不再需要的文档和报告文件 - 修复代码格式和缩进问题 - 优化健康检查端点减少敏感信息暴露
ByteDance TTS to OpenAI API Adapter - Linux部署指南
快速开始
这是为Linux环境优化的TTS服务器版本,可以将字节跳动TTS服务适配为OpenAI TTS API格式。
文件说明
tts_server_linux.go- Linux优化版主程序start_linux.sh- Linux启动脚本fix_crlf.sh- 换行符修复工具go.mod和go.sum- Go模块依赖文件
部署步骤
1. 上传文件到Linux服务器
将本文件夹中的所有文件上传到Linux服务器,建议放在/www/wwwroot/tts-server/目录。
2. 修复换行符(重要!)
在Linux服务器上,执行以下命令修复可能存在的Windows CRLF换行符问题:
cd /www/wwwroot/tts-server
chmod +x fix_crlf.sh
./fix_crlf.sh
3. 安装Go环境(如果未安装)
# 下载Go 1.21.5
cd /tmp
wget https://go.dev/dl/go1.21.5.linux-amd64.tar.gz
# 解压到/usr/local
sudo rm -rf /usr/local/go
sudo tar -C /usr/local -xzf go1.21.5.linux-amd64.tar.gz
# 设置环境变量
echo 'export PATH=$PATH:/usr/local/go/bin' >> ~/.bashrc
echo 'export GOPROXY=https://goproxy.cn,direct' >> ~/.bashrc
source ~/.bashrc
# 验证安装
go version
4. 启动服务
cd /www/wwwroot/tts-server
chmod +x start_linux.sh
./start_linux.sh start
服务管理命令
- 启动服务:
./start_linux.sh start - 停止服务:
./start_linux.sh stop - 重启服务:
./start_linux.sh restart - 查看状态:
./start_linux.sh status - 查看日志:
./start_linux.sh logs
接口使用
- OpenAI TTS API兼容端点:
http://你的服务器IP:8080/v1/audio/speech - 健康检查:
http://你的服务器IP:8080/health
API调用示例
curl -X POST "http://你的服务器IP:8080/v1/audio/speech" \
-H "Authorization: Bearer sk-7IBXpzK1YszwGArEMvLGzSdZe93rXVxg4CFBe5KRlqs4dVJO" \
-H "Content-Type: application/json" \
-d '{"model":"tts-1","input":"你好,这是一个测试文本","voice":"alloy","speed":1.0}' \
-o output.wav
常见问题
端口被占用
如果8080端口被占用,可以通过环境变量修改端口:
export PORT=8081 && ./start_linux.sh start
启动失败
查看日志文件获取详细信息:
cat /www/wwwroot/tts-server/logs/tts-server.log
环境变量配置
服务现在支持通过环境变量配置所有参数,推荐使用这种方式而不是直接修改代码。
必须的环境变量
BYTEDANCE_TTS_APP_ID- 字节跳动TTS应用IDBYTEDANCE_TTS_BEARER_TOKEN- 字节跳动TTS访问令牌BYTEDANCE_TTS_CLUSTER- 字节跳动TTS业务集群BYTEDANCE_TTS_VOICE_TYPE- 字节跳动TTS声音类型
可选的环境变量
BYTEDANCE_TTS_ENDPOINT- 字节跳动TTS服务端点(默认:https://openspeech.bytedance.com/api/v1/tts)BYTEDANCE_TTS_TIMEOUT- 字节跳动TTS请求超时时间(默认:30s,支持Go duration格式,如"60s"、"1m")OPENAI_TTS_API_KEY- OpenAI TTS API密钥(未设置时允许任意key)PORT- 服务监听端口(默认:8080)
环境变量使用示例
# 启动服务时设置环境变量
export BYTEDANCE_TTS_APP_ID=your_app_id
export BYTEDANCE_TTS_BEARER_TOKEN=your_token
export BYTEDANCE_TTS_CLUSTER=your_cluster
export BYTEDANCE_TTS_VOICE_TYPE=your_voice_type
export OPENAI_TTS_API_KEY=sk-your_api_key
export PORT=8081
./start_linux.sh start
注意事项
- 确保Go版本至少为1.19
- 确保服务器有足够的网络权限访问字节跳动TTS服务
- 必须设置所有必需的环境变量,否则服务会使用默认值并显示警告信息
- 可以通过设置环境变量而不是直接修改代码来配置服务
许可证
本项目采用非商业用途许可协议。您可以免费使用本软件用于非商业目的,但禁止用于任何商业活动。详细条款请参阅项目中的 LICENSE 文件。
Releases
6
Languages
Go
64%
HTML
27.5%
CSS
5.9%
JavaScript
2.2%
Dockerfile
0.4%