训练你自己的音频水印模型:AudioSeal基于AudioCraft的完整训练与检查点转换教程

训练你自己的音频水印模型:AudioSeal基于AudioCraft的完整训练与检查点转换教程
训练你自己的音频水印模型AudioSeal基于AudioCraft的完整训练与检查点转换教程【免费下载链接】audiosealLocalized watermarking for AI-generated speech audios, with SOTA on robustness and very fast detector项目地址: https://gitcode.com/gh_mirrors/au/audiosealAudioSeal 是一个用于 AI 生成语音的高效音频水印方案具有最先进的鲁棒性和极快的检测速度。本文带你从零开始学习如何基于 AudioCraft 训练一个属于自己的 AudioSeal 音频水印模型并完成检查点转换把训练产物变成可直接调用的水印生成器与检测器。 为什么需要自己训练音频水印模型官方已提供开箱即用的 16 比特水印模型但如果你想换用自己的语音数据集比如特定语种、特定场景的音频调整水印比特数嵌入 16 比特之外的秘密消息复现论文结果或微调鲁棒性超参数就需要走一遍完整的音频水印训练流程。AudioSeal 的训练流水线构建在 AudioCraft 之上配合 Dora 实验管理工具整套流程可以本地单机运行也能提交到 SLURM 集群。 官方训练文档docs/TRAINING.md示例 Notebookexamples/BuildingCustomRecipe_ExampleNotebook.ipynb 训练流程总览整个 AudioSeal 水印模型训练分为 5 步步骤内容关键工具1️⃣安装 AudioCraft 与 ffmpegpip / apt / conda2️⃣准备数据集与清单文件audiocraft.data.audio_dataset3️⃣用 Dora 启动训练dora run4️⃣评估训练出的检查点dora runevaluate 模式5️⃣检查点转换为生成器 检测器src/scripts/checkpoints.py其中第 5 步最容易忽略训练产出的检查点同时包含生成器和检测器不能直接喂给 AudioSeal API必须先用转换脚本拆分。第一步安装 AudioCraft 与 ffmpeg环境准备训练要求AudioCraft ≥ 0.1.4官方建议直接安装源码以便修改数据集配方并在 PyTorch 2.1.0 / torchaudio 2.1.0 上验证过。pip install -e .⚠️关键坑位必须安装版本小于 5.0 的 ffmpeg因为训练循环中的 AAC 压缩增强步骤依赖它否则训练会直接失败。sudo apt-get install ffmpeg # 或使用 Anaconda / Miniconda conda install ffmpeg5 -c conda-forge同时先克隆 AudioSeal 源码安装成可编辑模式git clone https://gitcode.com/gh_mirrors/au/audioseal cd audioseal pip install -e .第二步准备数据集与 AudioCraft 清单文件训练数据需要按 AudioCraft 的数据格式组织论文中使用的是 Voxpopuli400k 子集但你完全可以换成 Librispeech 等任意语音数据集。1. 下载并切分音频得到目录[ROOT]。2. 用 AudioCraft 的数据工具生成清单文件python -m audiocraft.data.audio_dataset [ROOT] egs/my_dataset/data.jsonl.gz3. 在 AudioCraft 的configs/dset/audio/下新建数据源 YAML指向刚生成的清单# package __global__ datasource: max_sample_rate: 16000 max_channels: 1 train: egs/my_dataset valid: egs/my_dataset evaluate: egs/my_dataset generate: egs/my_dataset这样训练时就可以用dsetaudio/my_dataset引用你的数据集。第三步用 Dora 启动 AudioSeal 水印训练任务训练流水线使用 Dora 组织实验并支持网格搜索调参。建议先熟悉dora run、dora grid等概念。先在本地小规模试跑确认流水线通畅dora run solverwatermark/robustness dsetaudio/example默认情况下检查点和实验文件会存到/tmp/audiocraft_$USER/outputs。要自定义输出目录或提交到 SLURM 集群写一份my_config.yamldefault: dora_dir: [你的DORA路径] partitions: global: your_slurm_partitions team: your_slurm_partitions reference_dir: /tmp然后正式开训换成你的数据集AUDIOCRAFT_CONFIGmy_config.yaml dora run solverwatermark/robustness dsetaudio/voxpopuli第四步评估训练出的检查点训练成功后检查点会保存在 Dora 目录下的实验文件夹中路径形如[DORA_PATH]/xps/[HASH-ID]/checkpoint_XXX.thHASH-ID会在dora run的运行日志里打印。你可以用不同的nbits设置评估多个检查点挑选损失最低的那个AUDIOCRAFT_CONFIGmy_config.yaml dora run solverwatermark/robustness \ execute_onlyevaluate dsetaudio/voxpopuli \ continue_from[检查点路径] dummy_watermarker.nbits16 \ seanet.detector.output_dim32第五步检查点转换——拆分成生成器与检测器 ️这是使用自有模型前必不可少的一步。由于训练检查点是生成器 检测器联合训练的产物不能直接用于 AudioSeal API。运行 AudioSeal 自带的转换脚本src/scripts/checkpoints.pypython [AudioSeal路径]/src/scripts/checkpoints.py \ --checkpoint[检查点路径] --outdir[输出目录] --suffix[新模型名]脚本内部逻辑很直观见 checkpoints.py它会遍历检查点中的权重把detector.前缀的层拆给检测器、其余层拆给生成器最后导出两个文件generator_[suffix].pthdetector_[suffix].pth转换完成后就可以像加载官方模型一样加载你自己的音频水印模型model AudioSeal.load_generator([输出目录]/generator_[suffix].pth, nbits16) detector AudioSeal.load_detector([输出目录]/detector_[suffix].pth, nbits16) 提示AudioSeal.load_generator/AudioSeal.load_detector的加载逻辑定义在 loader.py支持本地检查点路径和模型卡片名两种方式。官方模型卡片可参考src/audioseal/cards/目录下的 YAML 文件。 想完整复现官方模型项目同时提供了训练 HuggingFace 版 AudioSeal 模型的完整超参数网格即 ICML 论文结果的训练配方定义在 AudioCraft 的 watermarking grid 中。只需一条命令即可拉起复现实验AUDIOCRAFT_CONFIGmy_config.yaml AUDIOCRAFT_DSETaudio/voxpopuli \ dora grid watermarking.1315_kbits_seeds 常见问题排错症状原因与解决办法Linux 上报Unsupported formatsffmpeg 未正确安装或被其他后端覆盖。显式指定库路径例如LD_LIBRARY_PATH$CONDA_PREFIX/lib:$LD_LIBRARY_PATH后再运行 dora 命令AAC 增强步骤报错检查 ffmpeg 版本是否 5.0本地测试跑不通先用dsetaudio/example小规模验证流水线再换大数据集 总结用 AudioSeal 训练自己的音频水印模型本质上就是一条五步流水线装好 AudioCraft 老版本 ffmpeg → 准备数据集与清单 → Dora 启动训练 → 评估检查点 → 用转换脚本拆分生成器与检测器。其中检查点转换是新手最容易踩的坑务必使用src/scripts/checkpoints.py完成拆分之后就能无缝接入 AudioSeal API 进行水印嵌入与检测了。跟着 docs/TRAINING.md 和示例 Notebook examples/BuildingCustomRecipe_ExampleNotebook.ipynb 逐步操作你很快就能拥有第一个训练好的专属音频水印模型【免费下载链接】audiosealLocalized watermarking for AI-generated speech audios, with SOTA on robustness and very fast detector项目地址: https://gitcode.com/gh_mirrors/au/audioseal创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

最新新闻

日新闻

周新闻

月新闻