如何用2张GPU微调出专属音色TTS模型:VoiceStudio本地训练完整实战

发布时间:2026/10/13 2:42:17
如何用2张GPU微调出专属音色TTS模型:VoiceStudio本地训练完整实战
如何用2张GPU微调出专属音色TTS模型VoiceStudio本地训练完整实战【免费下载链接】VoiceStudioVoiceStudio is the open-source, fully-local ElevenLabs alternative — voice cloning, voice design, video dubbing, dictation, transcription audiobook creation in 646 languages.项目地址: https://gitcode.com/GitHub_Trending/om/VoiceStudio输入一句台词扬声器里出来的就是目标声音——这是在 VoiceStudio 里完成 TTS 模型微调后的最终形态。VoiceStudio 是一个开源、完全本地运行的语音合成平台它的 OmniVoice 引擎支持用几小时音频做专属音色训练从数据清单、音频分词到 2 卡微调、客观评估再到检查点接回工作台数据全程不出机器。下面按可复现的顺序走一遍这条链路。零样本语音克隆不够用的3个场景VoiceStudio 自带零样本克隆喂一段参考音频就能说。但实际用起来常见卡点有三个卡点零样本克隆的表现微调后的变化音色是内部资产每次合成都要把参考音频喂给模型音色写进模型参数日常只给文本单条参考不够稳音色发飘、相似度上不去多条数据联合学习稳定性提升实录音带混响杂音噪声和混响容易被一起学走可叠加降噪/噪声增强管线对抗三条里中一条微调的算力成本就值得摊。先根据目标选配置想要的结果脚本GPU总步数峰值学习率权重起点个人专属音色examples/run_finetune.sh250005e-5init_from_checkpoint指向 OmniVoice 预训练检查点多语言/多风格大模型examples/run_emilia.sh83000001e-4从零训练不做预训练初始化嘈杂参考更鲁棒denoise_audio.py/extract_audio_tokens_add_noise.py可选按需按需按需可叠在上面两条路线之上前置准备开工前逐项打勾GPU微调路线至少 2 张卡accelerate 按卡起进程进程数必须与卡数一致Emilia 路线按 8 张准备数据量级几小时干净人声即可微调专属音色大规模训练是另一个量级音频格式wav、flac、mp3 均可分词阶段会统一重采样到 24 kHz无需手工转码磁盘余量分词产出的 tar 分片和训练检查点都落在本地目录提前留足空间数据清单4个字段决定训练输入样本写成 JSONL一行一条{id: s001, audio_path: /data/audio/s001.wav, text: 你好世界, language_id: zh}字段说明字段是否必填含义id必填唯一样本标识用于跨分片匹配audio_path必填音频绝对路径wav/flac/mp3text必填对应转写文本language_id可选语言代码多语言训练时使用训练集与开发集拆成两个文件例如data/my_data_train.jsonl和data/my_data_dev.jsonl。开发集只参与评估不进梯度。完整字段规范见 docs/data_preparation.md。音频分词把 wav 变成8层离散 token分词是一次性预处理入口是omnivoice.scripts.extract_audio_tokens模块python -m omnivoice.scripts.extract_audio_tokens \ --input_jsonl data/my_data_train.jsonl \ --tar_output_pattern data/finetune/tokens/train/audios/shard-%06d.tar \ --jsonl_output_pattern data/finetune/tokens/train/txts/shard-%06d.jsonl \ --tokenizer_path eustlb/higgs-audio-v2-tokenizer每条音频被默认音频分词器 higgs-audio-v2 编码成 8 层离散 token打包进 WebDataset 格式的 tar 分片每个分片配对一份元数据 jsonl目录末尾生成data.lst清单。examples/run_finetune.sh 内置了这一步改好清单路径和 GPU 编号即可直接跑train、dev 两个分割各执行一次。2卡微调启动命令与关键参数微调不从零开始训练配置里init_from_checkpoint指向 OmniVoice 预训练检查点默认k2-fsa/OmniVoice模型继承基础能力只学你的音色。accelerate launch \ --gpu_ids 0,1 \ --num_processes 2 \ -m omnivoice.cli.train \ --train_config config/train_config_finetune.json \ --data_config config/data_config_finetune.json \ --output_dir exp/omnivoice_finetune默认参数examples/config/train_config_finetune.json对几小时数据刚好够用配置项默认值说明steps5000总训练步数learning_rate5e-5峰值学习率batch_tokens8192每卡每 batch 的 token 数mixed_precisionbf16混合精度save_steps500检查点保存间隔eval_steps500开发集评估间隔数据侧配置见 examples/config/data_config_finetune.jsontrain/dev 分别指向各自分词目录下的data.lst。训练中断时把训练配置里的resume_from_checkpoint指向已有检查点即可接续。参数全表与断点续训细节见 docs/training.md。验收3个客观指标判定训练质量损失曲线下降只能算过程信号验收看三个数指标口径方向WER合成语音用 ASR 转写回与原文比对越低越清楚SIM-o参考音频与合成音频的说话人嵌入相似度越高越像本人UTMOS神经网络预测的 MOS越高越自然过程监控日志落在输出目录的tensorboard子目录启动 TensorBoard 指过去即可实时看曲线tensorboard --logdir exp/omnivoice_finetune/tensorboard训练结束后跑项目自带的一键评估脚本覆盖 LibriSpeech-PC、Seed-TTS 等标准测试集比人耳听感更可靠bash examples/run_eval.sh脚本会先下载测试集与评估模型再对每个测试集依次出 WER、SIM-o、UTMOS。评估口径与单独跑某一项指标的方法见 docs/evaluation.md。把微调检查点接入VoiceStudio工作台训练输出目录下的任一检查点比如checkpoint-5000可直接当作推理模型OmniVoice 引擎以进程内方式加载无需单独安装。打开Settings → Engines把这个 checkpoint 目录管理进来并启用语音克隆、配音、有声书等能力就都挂在这张专属音色上。微调完成后的工作台里语音克隆、音色预览等模块都会直接使用这张模型验收动作很具体打开工作台输入一句台词播放——扬声器出来的就是目标声音再对照run_eval.sh产出的 WER、SIM-o、UTMOS 三项数字确认优于微调前基线。两项都过这条链路就算闭环了。进阶选项Emilia大规模训练与噪声增强默认 5000 步、2 卡跑完后若还要更大或更抗噪有两条叠加路线Emilia 大规模训练8 卡。不做预训练初始化从零学起8 卡、300000 步、学习率 1e-4、每卡每 batch 8192 token。做法分三步把 Emilia 原始数据EN、ZH对应的训练/开发 JSONL 清单放进data/emilia/manifests/emilia_en_train、emilia_en_dev、emilia_zh_train、emilia_zh_dev四个文件对四个分割逐一跑同一个分词步骤最后按 8 进程拉起训练。examples/run_emilia.sh 覆盖全程参数细节见 docs/training.md。降噪与噪声增强可选脚本。两个脚本方向相反omnivoice.scripts.denoise_audio用 Sidon 语音增强模型把原始音频的背景噪声先剥掉再进分词omnivoice.scripts.extract_audio_tokens_add_noise则在分词时给参考音频故意掺入环境噪声与房间混响让推理时喂嘈杂参考也能稳住。两者都不强制按需开启也可叠在微调或 Emilia 路线之上详细说明见 docs/data_preparation_advanced.md。【免费下载链接】VoiceStudioVoiceStudio is the open-source, fully-local ElevenLabs alternative — voice cloning, voice design, video dubbing, dictation, transcription audiobook creation in 646 languages.项目地址: https://gitcode.com/GitHub_Trending/om/VoiceStudio创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考