2026-01-29 15:56:00 +08:00
2026-01-29 14:14:24 +08:00
2026-01-29 14:14:24 +08:00
2026-01-29 15:04:54 +08:00
2026-01-29 14:14:24 +08:00

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. 访问服务

部署说明

本项目用于构建和运行 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

基本使用

  1. 确保已安装 Docker 与 Docker Compose

  2. 在仓库根目录执行:

    docker compose -f docker-compose.yml up -d

  3. 根据需要选择其他 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. 内网导入(首次)

  1. 在内网 Gitea 上创建一个新的空仓库(不要勾选初始化 README/gitignore
  2. 在内网机器上执行:
# 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 支持增量更新,但为了简单,每次全量打包也可以):

  1. 外网:再次执行 git bundle create qwen3-tts.bundle --all 并拷贝到内网。
  2. 内网:在项目目录内拉取更新:
git switch --detach

git fetch ..\qwen3-tts.bundle 'refs/*:refs/*'

# 推送到内网 Gitea
git push zcga --all
git push zcga --tags
Description
No description provided
Readme 34 KiB
Languages
Dockerfile 100%