ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

3 条命令完成 TTS 模型训练:VoiceStudio 微调与多卡加速完整指南

3 条命令完成 TTS 模型训练:VoiceStudio 微调与多卡加速完整指南 3 条命令完成 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/VoiceStudioVoiceStudio 是一款开源、完全本地运行的 TTS 语音合成平台覆盖 646 种语言提供语音克隆、声音设计、视频配音与有声书制作等能力。除了零样本克隆它还内置了完整的 OmniVoice 模型训练管线用几小时录音就能完成 TTS 模型微调2 块 GPU 跑 5000 步即可产出专属音色模型全程数据不离开你的机器。如果你只有少量目标音色素材走微调路线即可如果希望模型覆盖更多语言和风格再升级到 Emilia 大规模数据集训练。整条管线由 examples/run_finetune.sh 和 examples/run_emilia.sh 两个脚本封装核心逻辑位于 omnivoice/training/CLI 入口是 omnivoice/cli/train.py。准备训练数据JSONL 清单与音频分词训练数据的起点是一个 JSONL 清单文件每行一条样本包含唯一 ID、音频绝对路径、转写文本和语言代码{id: sample_001, audio_path: /data/audio/001.wav, text: Hello world, language_id: en}音频支持 wav/flac/mp3加载时自动重采样到 24 kHzlanguage_id在多语言场景下才有意义单音色微调可以省略。清单写好后需要分词。分词脚本 omnivoice/scripts/extract_audio_tokens.py 会把每段音频编码成 8 层离散 token即把连续波形变成模型可学习的一串离散符号再打包进 WebDataset tar 分片——WebDataset 是一种把大量小样本塞进单个大 tar 归档的数据集格式训练时顺序读大文件比随机读几千个小音频的磁盘 I/O 压力小得多。默认每个分片装 1000 条样本同时生成一个data.lst文件记录每个分片的条数与总时长训练数据配置就引用这个文件CUDA_VISIBLE_DEVICES0,1 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 \ --nj_per_gpu 3 --shuffle True训练集和开发集各跑一次即可完整字段说明见 docs/data_preparation.md。启动 OmniVoice 微调配置说明与多卡训练命令微调的超参全部放在 JSON 配置里开箱即用的模板是 train_config_finetune.json关键取值如下steps: 5000— 总训练步数小数据微调的默认预算learning_rate: 5e-5— 峰值学习率比从零训练低一个量级batch_tokens: 8192— 每张 GPU 每个 batch 的 token 数init_from_checkpoint: k2-fsa/OmniVoice— 从预训练权重初始化而非随机起步mixed_precision: bf16— bf16 混合精度省显存且数值稳定save_steps: 500— 每 500 步落盘一个检查点对应的数据配置 data_config_finetune.json 只指向分词阶段产出的data.lst。accelerate是 HuggingFace 的分布式训练启动器--num_processes必须与 GPU 数量一致这里 2 卡对应 2 个进程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检查点会写入exp/omnivoice_finetune/checkpoint-5000之类的目录。训练中断后把resume_from_checkpoint: exp/omnivoice/checkpoint-100000写进配置即可断点续训注意它与init_from_checkpoint分工不同——前者恢复优化器状态继续训练后者仅加载权重开新训练更多细节见 docs/training.md。用 Emilia 数据集跑满 8 卡训练要训练覆盖更多语言、风格更强的模型就上 Emilia 数据集。官方脚本 examples/run_emilia.sh 把流程切成三段前两段是前置条件第三段才是训练数据就位Emilia 原始数据含 EN/ZH与训练/开发集 JSONL 清单需自行下载放到data/emilia/manifests/下脚本会逐个校验 4 个分片文件是否齐全分词对emilia_en_train、emilia_en_dev、emilia_zh_train、emilia_zh_dev四个分片分别执行上面的extract_audio_tokens命令训练8 卡启动命令如下accelerate launch \ --gpu_ids 0,1,2,3,4,5,6,7 \ --num_processes 8 \ -m omnivoice.cli.train \ --train_config config/train_config_emilia.json \ --data_config config/data_config_emilia.json \ --output_dir exp/omnivoice_emilia与微调配置相比train_config_emilia.json 是标准的从零训练设置steps30 万步、学习率 1e-4、warmup 3% 步数、每 1 万步保存一次检查点init_from_checkpoint留空。data_config_emilia.json 则按语言分别挂载中英两个分片repeat字段可用于控制语言间的采样平衡。可选鲁棒性增强音频降噪与噪声混合如果录音环境嘈杂可以在分词前用 omnivoice/scripts/denoise_audio.py 跑一遍 Sidon 语音增强去掉背景噪声再进入分词流程。反过来如果你希望模型对带噪声的参考音频更稳定分词时可以改用 omnivoice/scripts/extract_audio_tokens_add_noise.py它在处理提示音频时混入环境噪声和房间混响让推理阶段遇到真实场景录音时不怯场。两个阶段都可选任意组合。完整做法见 docs/data_preparation_advanced.md。TensorBoard 监控与 WER、SIM-o、UTMOS 评估训练过程自动写入 TensorBoard 日志启动面板即可看损失曲线tensorboard --logdir exp/omnivoice_emilia/tensorboard训练结束不代表可以交付需要用标准指标验证质量评测代码位于 omnivoice/eval/方法说明见 docs/evaluation.md评测项衡量内容合格方向WER词错误率合成语音转写回文本的准确度反映可懂度越低越好SIM-o说话人相似度合成音色与目标人声的接近程度越高越好UTMOS预测 MOS无需人耳试听即可估计的自然度分越高越好把微调后的检查点接入 VoiceStudio训练产出的检查点目录本身就是可推理模型例如exp/omnivoice_finetune/checkpoint-5000。在 VoiceStudio 的 Settings → Engines 页面管理你的 TTS 引擎OmniVoice 系列默认进程内加载、无需额外安装依赖换上新检查点后克隆、配音、有声书等入口即可直接使用你的专属音色。整条管线压缩下来就是「JSONL 清单 → 分词 →accelerate多卡训练」三步个人音色微调 2 卡加 5000 步即可交付大规模多语言需求可平滑扩到 8 卡加 Emilia 数据集训练全程本地完成数据与产出的检查点始终在你的磁盘上。【免费下载链接】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),仅供参考
返回列表