ARTICLE · INTELLIGENCE

战地情报 · 详情页

来自尧图项目组的一线实战观察与深度解析

Shrimply语音合成指南:Qwen3 TTS与IndexTTS如何进入你的视频工作流

Shrimply语音合成指南:Qwen3 TTS与IndexTTS如何进入你的视频工作流

【免费下载链接】shrimply

you're telling me a shrimp made this video?!

项目地址:https://gitcode.com/gh_mirrors/sh/shrimply
点击查看免费下载

Shrimply 语音合成能力基于本地 Compute Server 实现:它在你的 GPU 上运行Qwen3 TTS与IndexTTS 2 / 2.5模型,把文字一键变成可以拖进时间线的语音片段,还支持声音克隆、音色设计和八维情绪控制。本文带你从零启动服务、选对模型,并把 TTS 融入剪辑工作流。

为什么选择 Shrimply 本地语音合成 🎙️

  • 离线生成:合成在本地 GPU 上完成,音频文件不出本机;
  • 工作流内闭环:生成的语音直接落在时间线音频轨道上,支持逐条字幕配音;
  • 模型自由度高:Qwen3 TTS 的内置音色/克隆/音色设计 + IndexTTS 的情绪因子、时长控制、发音词典,几乎覆盖短视频、教学、解说类需求;
  • 能力按需出现:编辑器只展示已连接服务器支持的功能,没装的服务不会干扰界面。

三步启动:部署 Compute Server 并连接 Shrimply ⚡

Shrimply 的 TTS、转写、视频生成等 AI 功能都跑在一个可选的本地计算服务器上(需要 Python 3.14),官方说明见 docs/source/server/index.rst。

方式一:从源码启动

在仓库根目录执行:

make dev-server

或进入server目录运行uv run --locked src/main.py。模型会在你第一次使用时自动下载,请保持服务器运行直到任务结束。

方式二:Docker Compose 启动 🐳

进入server目录执行docker compose up。server/compose.yaml 默认启用 GPU,并通过卷把huggingface缓存持久化到.docker/huggingface,模型下载一次即可长期复用。

连接到编辑器:服务器默认监听http://127.0.0.1:8787。在 Shrimply 中打开Preferences → External,在Inference Servers下选择本地服务器与设备,界面即会出现 TTS 相关选项。

Qwen3 TTS 模型怎么选:0.6B 还是 1.7B?

服务器上内置了 5 个 Qwen3 TTS 变体(模型清单定义在 server/src/api/tts/catalog.py):

模型能力适合场景
Qwen3 TTS 0.6B Custom Voice内置音色轻量快速的多语言解说
Qwen3 TTS 1.7B Custom Voice内置音色 + Instruction 指令用文字描述语气、风格
Qwen3 TTS 0.6B Voice Clone参考音频 + 参考文本用一小段音频克隆音色
Qwen3 TTS 1.7B Voice Clone参考音频 + 参考文本更高保真的声音克隆
Qwen3 TTS 1.7B Voice Design文字描述设计音色没有参考音频,直接"捏"一个声音
  • 语言:支持 Auto 自动检测,以及中、英、日、韩、德、法、俄、葡、西、意共 10 种语言;
  • 内置音色:Vivian、Serena、Uncle Fu、Dylan、Eric、Ryan、Aiden、Ono Anna、Sohee 共 9 位讲者,1.7B 版本还可附加 Instruction 微调语气;
  • Voice Design用一句描述(最长 1024 字符)生成全新音色,适合给动画角色快速定声。

推理入口在 server/src/api/tts/qwen.py,克隆请求的参考音频会走带缓存的 prompt 编码(worker.py),重复使用同一参考音时更快。

IndexTTS 2 / 2.5:声音克隆 + 情绪控制的完全体 🎭

IndexTTS 系列是 Shrimply TTS 中的"重炮",参数面板非常丰富(输入定义见 catalog.py):

  • 声音参考:提供一段参考音频即可克隆音色;
  • 情绪来源四选一(Emotion source):
    • Speaker audio:情绪直接取自说话人参考音;
    • Emotion audio:单独提供一段带情绪的参考音频;
    • Emotion factors:用 Happy、Angry、Sad、Afraid、Disgusted、Melancholic、Surprised、Calm 八维因子精确调节,并可设置 Emotion strength 总强度;
    • Emotion text:用文字描述想要的情绪。
  • 时长控制(Timing control):可选 Speed factor(倍速)或Duration 精确时长——这是给字幕配音的关键能力;
  • 采样与解码:Top-p(默认 0.8)、Top-k(默认 30)、Temperature、Beams、Repetition penalty 等均可调;
  • 发音词典(Pronunciation glossary):以表格形式为专有名词指定中文/英文读法,专治"多音字"和英文缩写乱读;
  • 语言:IndexTTS 2.5 支持中、英、日、西、阿拉伯语 5 种语言。

⚠️ 合规提示:IndexTTS 采用 bilibili Model Use License Agreement 授权,下载模型前请先阅读该协议(见 text-to-speech.rst)。

编辑器里的两种语音合成玩法 ✂️

玩法一:在音频轨道上创建语音片段

  1. 打开音频轨道的Add菜单,选择Text to Speech;
  2. 选中新建的片段,在右侧检查器中输入文字;
  3. 在Model下拉框选择 Qwen3 TTS 或 IndexTTS,面板会按模型动态生成对应的输入项;
  4. 点击Generate。状态栏会实时显示Connecting to server… → Ready → Sending request… → Generated,过程中可随时点击Cancel取消。

该检查器的完整实现可参考 crates/ui/tts/tts-gtk/src/lib.rs:Generate 按钮在模型列表就绪前保持禁用,服务端错误(如Compute server connection failed)会连同详情直接显示在状态栏。

玩法二:批量为字幕生成配音 📝

  • 选中字幕片段,在时间线右键菜单中选择Generate Speech(对整条字幕轨道执行则会读取所有有文字的字幕);
  • 每条字幕都会按它当前的时长朗读,音频自动落到不与现有片段重叠的音频轨道上;
  • 前提:所选模型必须支持时长控制(Duration),即 IndexTTS 系列。编辑器会自动过滤掉不支持的模型,字幕模式下的 TTS 配置逻辑见 crates/ui/tts/tts-gtk/src/lib.rs。

这意味着你可以先剪好字幕节奏,再一键让配音"踩点"。

性能调优与常见问题 🛠️

  • 精度选择(Precision):可选 Automatic / BF16 / FP16 / FP32。默认 Automatic 会按显卡能力选择,显存吃紧时建议 FP16;
  • 更快的 IndexTTS 运行时:仓库自带基准脚本 server/scripts/benchmark_index_tts.py,可对比 stable(PyTorch)与 beta(Triton + CUDA Graph)两套运行时,并做波形一致性校验;
  • 首次请求很慢?正常现象——第一次请求会等待模型下载。Docker 部署下模型缓存在.docker/huggingface,后续启动即热;
  • Compute server connection failed?回到Preferences → External检查选中的服务器与设备;确认服务器进程仍在运行(首次下载模型期间不要关闭)。

延伸阅读与源码索引 📚

  • 官方文档:docs/source/server/text-to-speech.rst、docs/source/server/index.rst
  • TTS 协议与请求定义:crates/media/audio/tts/src/lib.rs、crates/ui/inspector/inspector-core/src/tts.rs
  • 服务端合成主流程:server/src/api/tts/worker.py
  • IndexTTS 2.0 / 2.5 推理实现:server/src/api/tts/index_tts_2_0/、server/src/api/tts/index_tts_2_5/
  • HTTP 入口(msgpack 协议、65 MiB 请求上限):server/src/api/tts/http.py

启动服务器、连好 Shrimply,你的字幕就离"开口说话"只差一次 Generate 了 🚀

【免费下载链接】shrimply

you're telling me a shrimp made this video?!

项目地址:https://gitcode.com/gh_mirrors/sh/shrimply
点击查看免费下载

相关推荐

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

RELATED READING

延伸阅读

更多一线实战笔记与深度复盘,助您持续精进