AudioFly 是一款音频生成模型。它能够根据文本描述合成音效。该模型可生成采样率为 44.1 kHz 的高质量音频,且生成的音频与提示文本具有高度的一致性。
AudioFly 采用潜扩散模型(Latent Diffusion Model)架构。模型拥有 10 亿参数,在规模庞大且多样化的语料库上进行训练。训练数据包括开源数据集(如 AudioSet、AudioCaps 和 TUT)以及专有内部数据。该模型在单事件和多事件场景下均表现出色,生成的音频能准确反映描述内容。在 AudioCaps 数据集上,AudioFly 的性能优于以往的音频生成模型。
实验结果在 AudioCaps 数据集上报告。对于基线模型,我们复用了 STABLE AUDIO OPEN 的评估结果。为确保一致性,我们遵循了相同的评估方法。评估结果如下表所示:
| 模型 | FD ↓ | KL ↓ | CLAP ↑ |
|---|---|---|---|
| AudioLDM2-48kHz | 101.11 | 2.04 | 0.37 |
| AudioGen-medium | 186.53 | 1.42 | 0.45 |
| Stable Audio 1.0 | 103.66 | 2.89 | 0.24 |
| Stable Audio 2.0 | 110.62 | 2.70 | 0.23 |
| Stable Audio Open | 78.24 | 2.14 | 0.29 |
| AudioFly | 40.1 | 1.35 | 0.45 |
环境要求
我们建议使用提供的配置文件搭建运行环境,运行命令如下:
pip install -r requirements.txt
# make sure to set the PYTHONPATH to include the AudioFly project root
export PYTHONPATH=/path/to/AudioFly:$PYTHONPATH
cd /path/to/AudioFly快速入门
import yaml
import torch
from ldm.utils.util import instantiate_from_config
configs = yaml.load(open('./config/config.yaml', "r"), Loader=yaml.FullLoader)
model = instantiate_from_config(configs["model"])
checkpoint = torch.load('./models/ldm/model.ckpt')
model.load_state_dict(checkpoint, strict=False)
model.eval()
model = model.cuda()
text = 'Fierce winds howl through the valley'
name = 'result'
savedir = './result'
model.generate_sample(
textlist=[text],
name=name,
cfg=3.5,# Guidance scale (controls how strongly generation follows the text prompt); not recommended to change
ddim_steps=200, # Number of denoising steps in the diffusion process; not recommended to change
outputdir=f"{savedir}")AudioFly 采用 Apache 2.0 许可证。