从Volcano-Engine-TTS迁移的原文件,后续将为其适配UI

This commit is contained in:
sun
2026-05-09 17:06:41 +08:00
commit 7c6e6af08a
6 changed files with 1080 additions and 0 deletions
+139
View File
@@ -0,0 +1,139 @@
# 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换行符问题:
```bash
cd /www/wwwroot/tts-server
chmod +x fix_crlf.sh
./fix_crlf.sh
```
### 3. 安装Go环境(如果未安装)
```bash
# 下载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. 启动服务
```bash
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调用示例
```bash
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端口被占用,可以通过环境变量修改端口:
```bash
export PORT=8081 && ./start_linux.sh start
```
### 启动失败
查看日志文件获取详细信息:
```bash
cat /www/wwwroot/tts-server/logs/tts-server.log
```
## 环境变量配置
服务现在支持通过环境变量配置所有参数,推荐使用这种方式而不是直接修改代码。
### 必须的环境变量
- `BYTEDANCE_TTS_APP_ID` - 字节跳动TTS应用ID
- `BYTEDANCE_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)
### 环境变量使用示例
```bash
# 启动服务时设置环境变量
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
```
## 注意事项
1. 确保Go版本至少为1.19
2. 确保服务器有足够的网络权限访问字节跳动TTS服务
3. 必须设置所有必需的环境变量,否则服务会使用默认值并显示警告信息
4. 可以通过设置环境变量而不是直接修改代码来配置服务
## 许可证
本项目采用非商业用途许可协议。您可以免费使用本软件用于非商业目的,但禁止用于任何商业活动。详细条款请参阅项目中的 [LICENSE](LICENSE) 文件。