PRIVATE AUDIO SYSTEMLOCAL / 127.0.0.1
PIPELINE STATUS READY

LOCAL VOICE LAB / 01

AI VOICE训练工作台

把一段获授权的声音,变成可整理、可训练、可试听的角色语音包。

FASTAPIGRADIOGPT-SOVITS
LOCAL / PRIVATE / TRACEABLE

LOCAL VOICE LAB / 01

AI VOICE训练工作台

LIVE SIGNAL
VOICE
16 kHzMONOPCM WAV
CASE 01 / 2026
01

PROJECT OVERVIEW

项目经历 / CASE FILE

WHY THIS EXISTS

先做好数据,
再训练声音。

把一段获授权的声音,变成可整理、可训练、可试听的角色语音包。

FastAPI 管线负责数据,Voicebox 负责生成体验。

06完整工作阶段
06情绪标签
02推理后端
05自动化流程测试
VOICEBOX / LOCAL GENERATION

以本机 Voicebox 作为生成体验层,使用合成角色数据重绘

voicebox

wayopp

角色语音 · 合成示例

zh
⇩□♧

Narrator

角色语音 · 合成示例

zh
⇩□♧

Echo

角色语音 · 合成示例

en
⇩□♧

Studio A

角色语音 · 合成示例

zh
⇩□♧
使用 wayopp 生成语音…
Chinese⌄Qwen3-TTS 1.7B⌄无效果⌄

wayoppzh  Qwen 1.7B  0:04刚刚

欢迎来到 AI 语音训练工作台。
☆
···

wayoppzh  Qwen 1.7B  0:06刚刚

这段声音由本地模型生成。
☆
···

Narratorzh  Qwen 1.7B  0:03刚刚

语料已完成清洗与标注。
☆
···

Echozh  Qwen 1.7B  0:05刚刚

Ready for local inference.
☆
···

Studio Azh  Qwen 1.7B  0:02刚刚

试听文件已保存。
☆
···

REAL MODEL OUTPUT / 04 TAKES

同一句话,
四种情绪。

点击试听「欢迎来到工作站」
来自用户提供的真实生成录屏

选择一种情绪开始试听

01 Voicebox 负责声音选择与本地生成体验

02 训练工作台负责授权、清洗、标注与导出

03 展示内容均为合成示例,不公开私人录音

02

END-TO-END PIPELINE

完整工作流 / 6 STAGES

FROM CONSENT TO EXPORT

六步,把声音
变成资产。

01

CONSENT GATE

确认授权

来源明确,才能进入管线。

↘
02

WAV / LOCAL

导入语料

PCM WAV 留在本地。

↘
04

HUMAN REVIEW

人工标注

文本、情绪、语速逐段确认。

↘
06

EVALUATE / EXPORT

试听导出

评测后打包为声音资产。

↘
03

MODEL ADAPTERS

系统结构 / LOCAL FIRST

MODULAR BY DESIGN

模型会变,
管线保持稳定。

六个适配器围绕统一 API 工作,运行环境一眼可见。

VoiceboxFastAPIGradioGPT-SoVITSPydantic

00 / WORKBENCH CORE

为什么先做统一 API

设计思路

模型会换,但项目、语料、切片和试听这些对象不应该跟着重写。我先把稳定流程放进 FastAPI。

真正难点

开发机器可能只有 CPU,也可能有 MPS 或 CUDA;重型依赖没装齐时,整条流程不能直接瘫掉。

我的处理

保留 demo 后端跑通业务流程,再用环境报告暴露加速器、命令、模型和授权状态。真实后端准备好后直接切换。

01 / INTEGRATION NOTE

UVR源分离与降噪

设计思路

我不想让转写和克隆去补救一段底噪很重的原始录音,所以把清理放在最前面。

真正难点

UVR 不只是装一个命令,还依赖单独的音频环境和指定 ONNX 权重;少一个文件,界面却显示可用,会让排查很痛苦。

我的处理

环境报告同时检查音频 Python 和 UVR-MDX-NET 权重。条件不齐就明确标成 unavailable,不做假成功。

02 / INTEGRATION NOTE

pyannote说话人分离

设计思路

多人录音不能直接当成一个角色的数据。我给说话人分离留了独立入口,避免不同音色混进同一份语料。

真正难点

模型受 Hugging Face 条款约束,只有文件存在还不够,用户必须自己接受许可并提供令牌。

我的处理

运行报告把 available 和 authorized 分开显示。我宁愿让缺少授权直接暴露,也不在代码里绕过许可。

03 / INTEGRATION NOTE

Silero VAD语音区间切片

设计思路

先找出真正说话的区间,再送去转写。这样长静音不会拖慢后面步骤,切片也更容易人工校对。

真正难点

当前 MVP 还没把真实 VAD 接进主流程,但界面和数据结构已经需要为时间区间留位置。

我的处理

先固定 segment 的起止时间与批准状态,再用独立音频环境做可用性检查,后续替换实现不用改上层接口。

04 / INTEGRATION NOTE

FunASR中文转写与时间戳

设计思路

中文转写必须和切片时间绑定,否则后面改一句文本时,很难找回对应音频。

真正难点

FunASR 实际要同时依赖识别、VAD 和标点三个模型,第一次部署经常出现只下载了一部分的情况。

我的处理

我把它放进独立环境,并在启动时逐一检查三组模型文件。只有全部到位才把集成标为可用。

05 / INTEGRATION NOTE

GPT-SoVITS音色克隆与推理

设计思路

训练数据和推理服务分开。工作台只准备可靠的参考音频、文本和参数,再通过本地 API 发起生成。

真正难点

参考音频路径、四组权重和返回格式都可能出错;接口返回 200 也不代表拿到的真是 WAV。

我的处理

本机服务使用相对路径,启动前检查四组权重,生成后再验证 RIFF/WAVE 头。参考音频只从已批准切片中选择。

06 / INTEGRATION NOTE

nuwa-skill角色与台词风格

设计思路

音色之外还需要角色怎么说话。我把角色设定和台词风格留在独立 Skill,而不是散落在接口参数里。

真正难点

风格描述很容易变成一次性提示词,换角色后就无法复用,也很难确认当前到底用了哪套规则。

我的处理

环境报告直接检查 Skill 文件,角色配置保留 style prompt。现在先把边界固定,后续再接自动生成。