qwen3-tts 项目
当前qwen3-tts 模型各大接口商还没有支持,所以当前使用自己部署Docker的方式来提供支持。
使用说明
1. 加载模型
本地打包会包含 qwen3-tts-base.tar, qwen3-tts-customer.tar, qwen3-tts-design.tar 三个文件。
# 使用docker load 将三个镜像加载到本地
docker load -i qwen3-tts-base.tar
docker load -i qwen3-tts-customer.tar
docker load -i qwen3-tts-design.tar
2. 启动服务
模型类型说明
CustomVoice
用途:直接语音合成 说明:使用官方内置音色,通过指令控制情绪、语气和风格。 特点:开箱即用、稳定、适合大多数 TTS 场景。
VoiceDesign
用途:创建新的声音 说明:通过自然语言描述生成一个全新的声音,无需参考音频。 特点:可快速设计角色音色,但每次生成存在一定随机性。
Base
用途:语音克隆与复用 说明:基于一小段参考音频克隆声音,用于稳定生成同一音色。 特点:声音一致性高,适合长期复用和批量生成。
最佳实践一:VoiceDesign + Base
推荐场景: 需要“原创且稳定”的角色声音(如虚拟人、游戏角色、长内容配音)。
推荐流程
使用 VoiceDesign 根据文字描述生成一段参考语音
将该语音作为参考音频交给 Base 模型
后续所有内容均使用 Base 生成,以保证音色稳定一致
# 启动基础服务
docker compose -f docker-compose-base.yml up -d
# 启动配音设计版服务
docker compose -f docker-compose-design.yml up -d
最佳实践二:Base
推荐场景: 有自己的参考音频,需要制作一个真实人音的语音合成服务。
推荐流程
只启动Base服务即可
# 启动基础服务
docker compose -f docker-compose-base.yml up -d
关闭模型
如果显存紧张的情况下,可以关闭Docker,再要使用的时候重新打开
# 关闭基础服务
docker compose -f docker-compose-base.yml down
# 关闭配音设计版服务
docker compose -f docker-compose-design.yml down
docker compose -f docker-compose-customer.yml down
3. 访问服务
- 基础服务:http://localhost:8000
- 客户版服务:http://localhost:8001
- 配音设计版服务:http://localhost:8002
部署说明
本项目用于构建和运行 qwen3-tts 相关服务,包含多个不同用途的镜像:
- qwen3-tts-base:基础 TTS 服务
- qwen3-tts-customer:面向客户场景的 TTS 服务
- qwen3-tts-design:面向配音设计场景的 TTS 服务
外网打包方式,进入到docker-build目录,执行以下命令
# 构建镜像
docker build -t qwen3-tts-base .
# 导出镜像
docker save -o qwen3-tts-base.tar qwen3-tts-base
# 构建客户版服务镜像
docker build -t qwen3-tts-customer .
# 导出客户版服务镜像
docker save -o qwen3-tts-customer.tar qwen3-tts-customer
# 构建配音设计版服务镜像
docker build -t qwen3-tts-design .
# 导出配音设计版服务镜像
docker save -o qwen3-tts-design.tar qwen3-tts-design
基本使用
-
确保已安装 Docker 与 Docker Compose
-
在仓库根目录执行:
docker compose -f docker-compose.yml up -d
-
根据需要选择其他 docker-compose 文件替换上面的配置文件名称
注意
- 模型目录 qwen3-tts-base、qwen3-tts-customer、qwen3-tts-design 以及生成的 tar 镜像文件已通过 .gitignore 排除,不会被提交到仓库
内网代码迁移与同步指南
由于网络隔离,无法直接 git push 到内网 Gitea。我们推荐使用 Git Bundle 方案,它能将代码和完整历史打包成一个文件,方便拷贝传输并保持版本同步。
1. 外网导出(打包代码)
在本项目根目录执行:
# 将所有分支和标签打包成一个文件 qwen3-tts.bundle
git bundle create qwen3-tts.bundle --all
执行后会生成一个 qwen3-tts.bundle 文件,将此文件拷贝到内网环境。
2. 内网导入(首次)
- 在内网 Gitea 上创建一个新的空仓库(不要勾选初始化 README/gitignore)。
- 在内网机器上执行:
# 1. 从 bundle 文件克隆出代码仓库
git clone qwen3-tts.bundle qwen3-tts
# 2. 进入目录
cd qwen3-tts
# 3. 关联内网 Gitea 仓库地址
git remote add zcga <你的内网Gitea仓库地址>
# 4. 推送所有分支和标签到 Gitea
git push -u zcga --all
git push -u zcga --tags
3. 后续增量同步(协同)
当外网有新代码提交后,重复上述步骤即可(git bundle 支持增量更新,但为了简单,每次全量打包也可以):
- 外网:再次执行
git bundle create qwen3-tts.bundle --all并拷贝到内网。 - 内网:在项目目录内拉取更新:
git switch --detach
git fetch ..\qwen3-tts.bundle 'refs/*:refs/*'
# 推送到内网 Gitea
git push zcga --all
git push zcga --tags