AudioCraft开源地址
开源地址:https://github.com/facebookresearch/audiocraft
注意,该框架开源,但是三个模型开源不可商用哦~~
AudioGen模型地址:
https://www.datalearner.com/ai-models/pretrained-models/AudioGen
MusicGen模型地址:
https://www.datalearner.com/ai-models/pretrained-models/MusicGen
AudioCraft简介
AudioCraft支持的模型
AudioCraft由三个模型组成:MusicGen、AudioGen和EnCodec。MusicGen使用Meta拥有和特别许可的音乐进行训练,从文本输入生成音乐,而AudioGen则使用公开的音效进行训练,从文本输入生成音频。此外,还有改进版的EnCodec解码器,它可以生成更高质量的音乐,减少了人工制作的痕迹。
简单来说,MusicGen就是文本生成音乐的模型:
https://www.datalearner.com/ai-models/pretrained-models/MusicGen
另外的EnCodec是指利用神经网络的实时、高保真音频编解码器。
下图是官方演示的AudioGen和MusicGen的实际案例:

可以看到,对于AudioGen模型,只需要给一段文字即可生成音乐,第一个例子是让模型生成一段带有风声的口哨,结果很好。注意,我这里是图片不能实际测试,大家可以去官方看真实效果。
而MusicGen模型则是一个描述即可生成音乐,虽然我不懂的,但是我觉得还挺好听的。
AudioCraft使用
AudioCraft依赖Python3.9和PyTorch2.0,所以需要先确保你的系统环境满足,可以通过如下命令安装升级:
# Best to make sure you have torch installed first, in particular before installing xformers.
# Don't run this if you already have PyTorch installed.
pip install 'torch>=2.0'
# Then proceed to one of the following
pip install -U audiocraft # stable release
pip install -U git+https://git@github.com/facebookresearch/audiocraft#egg=audiocraft # bleeding edge
pip install -e .# or if you cloned the repo locally (mandatory if you want to train). 官方也推荐在系统中安装ffmpeg:
sudo apt-get install ffmpeg 如果你有anaconda,也可以如下命令安装:
conda install 'ffmpeg<5'-c conda-forge 安装完之后使用很简单:
import torchaudio
from audiocraft.models importAudioGen
from audiocraft.data.audio import audio_write
model =AudioGen.get_pretrained('facebook/audiogen-medium')
model.set_generation_params(duration=5)# generate 8 seconds.
wav = model.generate_unconditional(4)# generates 4 unconditional audio samples
descriptions =['dog barking','sirene of an emergency vehicule','footsteps in a corridor']
wav = model.generate(descriptions)# generates 3 samples.
for idx, one_wav in enumerate(wav):
# Will save under {idx}.wav, with loudness normalization at -14 db LUFS.
audio_write(f'{idx}', one_wav.cpu(), model.sample_rate, strategy="loudness", loudness_compressor=True) 