IRCAM RAVE 模型:VST、预训练模型与训练

IRCAM 的 RAVE 是一种实时神经音频模型,能将任意声音转换为训练数据的音色。您可以通过 Neutone FX 或 RAVE VST 在 DAW 中播放预训练的 RAVE 模型,通过 nn~ 将其加载到 Max/MSP 或 Pure Data 中,也可以使用 acids-rave Python 包训练自己的模型。

如何使用 RAVE:快速入门

目标工具所需条件
在 DAW 中播放 RAVE 模型Neutone FX(免费 VST/AU)任意 DAW。预训练模型可在插件内下载。
在 DAW 中播放 RAVE 模型RAVE VST(测试版)从 IRCAM Forum 下载。源代码仓库已于 2023 年 6 月归档,其 Windows 构建仅支持独立运行。
在 Max/MSP 或 Pure Data 中使用 RAVEnn~ 外部对象Max 或 Pd,以及一个 .ts 模型文件
下载预训练模型RAVE 官方模型列表为 nn~ 导出的流式 .ts 文件
训练自己的模型Python 上的 acids-rave一块显存为 5 至 32 GB 的 NVIDIA GPU、几小时音频,以及约 3 天时间

要安装 nn~,请下载最新版本,并将其解压到 Max 的 Documents/Max [your version]/Packages/ 目录,或 Pure Data 的 Documents/Pd/externals/ 目录。将您的 .ts 模型放入 nn_tilde/models 文件夹。

用于实时音频合成的 IRCAM RAVE 是什么?

RAVE 是 Realtime Audio Variational autoEncoder 的缩写,意为实时音频变分自编码器。它由巴黎 IRCAM 的研究人员于 2021 年末发布,学习将声音编码为紧凑的表征,再将其解码回音频。可以把它想象成教计算机为听到的声音画一张草图,再根据草图重绘出对原声的逼真模仿。

它的处理速度足够快,可以在您的 DAW 或现场演出系统中实时运行。

想创建自己的音频神经网络模型吗?
**通过 Neural Analog 在线创建自定义 RAVE、AFTER 和 DDSP 模型。**无需编写代码或准备 GPU。几分钟即可开始训练。

谁在何时开发了 RAVE?

RAVE 由现任职于 Google DeepMind 的 Antoine Caillon 和巴黎 IRCAM ACIDS 团队的 Philippe Esling 开发。

该团队此前研究过 Google 的 DDSP(Differentiable Digital Signal Processing,即可微分数字信号处理)模型,并于 2021 年 3 月进行了展示,但他们希望开发一种更灵活的模型,能处理任何类型的声音,而不局限于乐器。

他们的目标是让模型在普通硬件上运行,同时提供录音室级音质。他们在 2021 年的论文《RAVE:用于快速、高质量神经音频合成的变分自编码器》中介绍了这项工作。

RAVE 架构:这种变分自编码器如何工作

RAVE 是一种自编码器:这种神经网络学习将数据压缩到紧凑的“潜在空间”,再将其解压还原。

RAVE:两阶段训练

本阶段参与训练固定或冻结

阶段 1:表征学习

输入音频
PQMF 分析
编码器
潜在编码
解码器
PQMF 合成
重建音频
多频带频谱损失

阶段 2:对抗微调

输入音频
PQMF 分析
编码器
潜在编码
停止梯度传播
解码器
PQMF 合成
重建音频
判别器

训练示意图改编自 RAVE 原始论文。阶段 1 使用多频带频谱损失训练编码器和解码器。阶段 2 冻结编码器,阻止梯度通过潜在编码传播,并训练解码器和判别器。PQMF 分析和合成滤波器组保持固定。

RAVE 论文,图 1

原始图示: RAVE:两阶段训练

原始图示: RAVE:两阶段训练。

RAVE 的两阶段训练如何进行

可以把它想象成分两个阶段培养一位音乐家:

  1. 阶段 1:学习聆听(表征学习)

    • 编码器学习将音频压缩成一组紧凑的数字,即潜在空间中的表征
    • 解码器学习根据这些数字重建音频
    • 训练使用频谱损失,比较原始音频与重建音频的频率成分
  2. 阶段 2:学习即兴演奏(对抗微调)

    • 冻结编码器,因为它已经学会如何聆听
    • 添加一个“判别器”网络,像评论家一样判断重建音频听起来是否真实
    • 解码器根据这些反馈学习,生成更令人信服的音频

关键技术组件

  • PQMF 滤波器:RAVE 在处理前将音频拆分成多个频率子带,从而提高效率
  • 因果与非因果模式:因果模式以牺牲部分音质为代价,降低现场使用时的延迟
  • 多种配置:从可在 Raspberry Pi 上运行的轻量级“raspberry”,到高音质的“v3”

有关实现细节,请参阅 RAVE 官方 GitHub 仓库,其中包含配置文件和模型定义。

如何用自定义音频数据训练 RAVE 模型?

想训练一个将您的声音变成萨克斯音色的模型吗?训练 RAVE 模型需要 Python 知识和 GPU。RAVE 官方仓库记录了完整流程。

数据集准备要求

训练 RAVE 模型需要:

  • 2 至 3 小时干净的音频,越多越好
  • 录音室级录音,因为 RAVE 会学习其中的所有内容,包括噪声和混响
  • 若希望模型用途广泛,需要多样化的声音

要从完整混音中建立数据集,请先通过高质量 AI 分轨分离出乐器。分离伪影也会被模型学进去,因此应尽量使用最干净的分轨。分轨指南说明了如何在 Neural Analog 中完成这些操作。

想创建自己的音频神经网络模型吗?
**通过 Neural Analog 在线创建自定义 RAVE、AFTER 和 DDSP 模型。**无需编写代码或准备 GPU。几分钟即可开始训练。

安装 RAVE 并准备数据集

先为您的 GPU 安装 PyTorch 和 TorchAudio,再安装 RAVE。您还需要 FFmpeg;若使用 conda 环境,请通过 conda 安装:

pip install acids-rave
conda install ffmpeg

预处理会将音频文件转换成 RAVE 的数据集格式:

rave preprocess --input_path /audio/folder --output_path /dataset/path --channels 1

单声道使用 --channels 1,立体声使用 --channels 2。添加 --lazy 可以直接使用 MP3 等压缩文件进行训练,但训练期间的 CPU 负载会明显增加。所有参数请参阅 RAVE 数据集准备文档。

RAVE 训练流程与配置

使用配置名称启动训练:

rave train --config v2 --db_path /dataset/path --out_path /model/out --name my_model --channels 1

选择适合您 GPU 的配置。最低显存要求来自官方 README:

配置最低 GPU 显存适用场景
raspberry5 GB可在 Raspberry Pi 4 上实时运行的轻量级模型
onnx6 GB用于 ONNX 导出的无噪声 v1 模型
v18 GB原始连续模型
v2_small8 GB稳态声音的音色迁移
v216 GB改进后的连续模型,适合作为默认选择
discrete18 GB类似 SoundStream 或 EnCodec 的离散模型
v332 GB最高音质,支持风格迁移(AdaIN)

您可以将配置与 causal(更低延迟)或 noise 等选项组合使用。如果没有自己的 GPU,README 中链接的社区 RAVEv2 Colab 笔记本可使用 Google 的 GPU 进行训练。

训练期间会发生什么:

  • 阶段 1(约 100 万步):音质一开始较粗糙,随后逐步改善
  • 阶段 2(对抗训练):音质明显提升
  • 总耗时:在 RTX 3080 GPU 上约 3 天

社区贡献的 RAVE 训练笔记本提供了逐步操作说明。

导出用于实时运行的 RAVE 模型

导出方式对实时使用很重要。使用 --streaming 标志启用缓存卷积,以避免咔嗒声伪影:

rave export --run /path/to/your/run --streaming

导出结果是一个可由 nn~ 加载的 TorchScript .ts 文件。导出参数与故障排查请参阅 RAVE 导出文档。

RAVE 模型推理与实时使用方式

不想等 3 天完成训练?您可以通过多种工具试用预训练的 RAVE 模型。这些工具也支持加载您自己训练的模型,而如何在 DAW 中使用已训练模型的 FAQ 列出了各类模型对应的插件。

Neutone FX:用于 RAVE 模型的免费 VST/AU 插件

Neutone FX 是一个可加载 RAVE 模型的免费 VST/AU 插件。它是 2022 年推出的原版 Neutone 插件,目前作为开放平台持续维护。安装后,您可以直接在 DAW(Ableton、Logic、Reaper 等)中加载一系列预训练模型。

IRCAM 的 RAVE VST(测试版,已归档)

IRCAM 也发布了自己的 RAVE VST,提供 VST、AU 和独立运行的构建。它有两种模式:reconstruction 用于处理 DAW 传来的音频,prior 则通过自行在潜在空间中移动来生成声音。其 Model Explorer 可下载预训练模型;如果使用 --stereo true 导出,您也可以导入自己的模型。

rave_vst 仓库已于 2023 年 6 月归档,因此不要期待后续修复。Windows 仅有实验性的独立构建,M1 Mac 用户必须自行构建。开发者建议实时使用时改用 nn~。

通过 nn~ 集成 Max/MSP 与 Pure Data

在现场演出中,nn~ 外部对象可将 RAVE 模型直接加载到 Max/MSP 和 Pure Data。它支持直接操作潜在空间,并通过自适应实例归一化进行风格迁移。它也能在 Raspberry Pi 等嵌入式平台上运行,适合便携式装置。同类开发板还可运行 ToobAmp、Stompbox 等神经吉他音箱插件。如果您的开发板是 NVIDIA Jetson Nano,请注意它没有模拟音频输出:应先添加 Raspiaudio Audio+ 等 I2S 声卡。

RAVE 的性能限制与技术注意事项

在依赖 RAVE 之前,请了解这些限制:

  • 延迟:即使使用因果模式,甚至在高端 Apple Silicon 上,也会有明显延迟。在录音室中通常可以接受,但将 RAVE 作为现场乐器使用前应仔细测试。
  • GPU 加速:模型使用大量小型卷积,其瓶颈在内存访问而非计算,因此不易充分并行化。在实时使用中,除非进行批处理,GPU 的额外开销往往超过其带来的收益。
  • 音质:RAVE 的声音可能令人印象深刻,但保真度未必能达到传统合成或扩散模型等更高端神经模型的水平。
  • 训练难度:训练 RAVE 模型需要机器学习和音频处理专业知识,以及强大的硬件。

RAVE 的后续发展:Neutone Morpho 与 AFTER 模型

Neutone Morpho:RAVE 的商业化演进(2024 年)

2024 年 2 月,Nao Tokui 领导的 Neutone 团队发布了 Morpho,作为其免费 FX 插件的商业后继产品。RAVE 是开源研究引擎。Morpho 将类似技术封装成面向音乐人和制作人的成熟产品,但牺牲了部分灵活性。

AFTER 模型:IRCAM 的扩散式替代方案

同一个 IRCAM ACIDS 团队还发布了 AFTER(Audio Features Transfer and Exploration in Real-time),一种基于扩散的模型。它旨在提供更多“可调性”,让您像操作传统合成器一样实时控制音色。

若想根据文本提示改变整首歌的风格,而非单个声音,AI 重混会保留人声分轨,并使用 Stable Audio 3 重新生成伴奏。

RAVE 常见问题

在哪里可以下载预训练的 RAVE 模型?

IRCAM 在 RAVE 官方模型页面上列出了流式模型。Neutone FX 和 RAVE VST 也可以在插件内下载模型。将模型用于商业发行前,请检查各模型的许可证。

训练 RAVE 需要多少音频?

请准备来自单一声源的 2 至 3 小时干净音频。RAVE 会学习录音中的所有内容,包括噪声和房间混响。DDSP 和 AFTER 的数据量要求,请参阅训练模型需要多少数据。

可以在 Mac 上训练 RAVE 吗?

并不适合。UAL Creative Computing Institute 的 RAVE 指南要求使用支持 CUDA、显存至少为 8 GB 的 NVIDIA GPU,并建议不要使用 macOS。请改用云端 GPU 或社区 Colab 笔记本。

为什么我的 RAVE 模型在 Max 中会发出咔嗒声?

模型导出时未使用 --streaming。请加上该标志重新导出。

该选 RAVE 还是 DDSP?

DDSP只需约 10 分钟音频,但只能建模一次演奏一个音符的有音高乐器。RAVE 可处理任何声音,包括鼓、人声和声音纹理,但需要几小时音频和数天训练时间。

想创建自己的音频神经网络模型吗?
**通过 Neural Analog 在线创建自定义 RAVE、AFTER 和 DDSP 模型。**无需编写代码或准备 GPU。几分钟即可开始训练。