模型:

cvssp/audioldm

英文

AudioLDM

AudioLDM是一种潜在文本到音频扩散模型,能够根据任何文本输入生成逼真的音频样本。从v0.15.0版本开始,它在? Diffusers库中可用。

模型细节

AudioLDM在Haohe Liu等人的论文 AudioLDM: Text-to-Audio Generation with Latent Diffusion Models 中提出。受到 Stable Diffusion 的启发,AudioLDM是一种文本到音频的潜在扩散模型(LDM),从 CLAP 的潜在表示中学习连续的音频表示。 AudioLDM以文本提示作为输入,并预测相应的音频。它可以生成文本条件的音效、人类语音和音乐。

检查点详细信息

这是AudioLDM模型的原始小型版本,也称为audioldm-s-full。下表总结了四个AudioLDM检查点:

表格1:AudioLDM检查点摘要。

Checkpoint Training Steps Audio conditioning CLAP audio dim UNet dim Params
1238321 1.5M No 768 128 421M
1239321 > 1.5M No 768 128 421M
12310321 1.5M Yes 1024 192 652M
12311321 1.5M No 768 256 975M

模型来源

使用方法

首先,安装所需的软件包:

pip install --upgrade diffusers transformers

文本到音频

对于文本到音频生成,可以使用 AudioLDMPipeline 来加载预训练的权重并生成文本条件的音频输出:

from diffusers import AudioLDMPipeline
import torch

repo_id = "cvssp/audioldm"
pipe = AudioLDMPipeline.from_pretrained(repo_id, torch_dtype=torch.float16)
pipe = pipe.to("cuda")

prompt = "Techno music with a strong, upbeat tempo and high melodic riffs"
audio = pipe(prompt, num_inference_steps=10, audio_length_in_s=5.0).audios[0]

生成的音频输出可以保存为.wav文件:

import scipy

scipy.io.wavfile.write("techno.wav", rate=16000, data=audio)

或在Jupyter Notebook / Google Colab中显示:

from IPython.display import Audio

Audio(audio, rate=16000)
Your browser does not support the audio element.

提示

提示:

  • 描述性提示输入效果最好:您可以使用形容词来描述声音(例如“高质量”或“清晰”),并使提示具有上下文特定性(例如,“森林中的水流”而不是“流动”)。
  • 最好使用一般术语如“猫”或“狗”,而不是模型可能不熟悉的特定名称或抽象对象。

推理:

  • 通过num_inference_steps参数控制预测音频样本的质量:更多的步骤可以得到更高质量的音频,但推理速度较慢。
  • 可以通过变化audio_length_in_s参数来控制预测音频样本的长度。

引文

BibTeX:

@article{liu2023audioldm,
  title={AudioLDM: Text-to-Audio Generation with Latent Diffusion Models},
  author={Liu, Haohe and Chen, Zehua and Yuan, Yi and Mei, Xinhao and Liu, Xubo and Mandic, Danilo and Wang, Wenwu and Plumbley, Mark D},
  journal={arXiv preprint arXiv:2301.12503},
  year={2023}
}