Diffusers 文档

舞蹈扩散

Hugging Face's logo
加入 Hugging Face 社区

并获得增强文档体验

开始使用

舞蹈扩散

Dance Diffusion 由 Zach Evans 创建。

Dance Diffusion 是 Harmonai 发布的一套面向制作人和音乐家的生成音频工具中的第一个。

请务必查看调度器 指南,了解如何探索调度器速度和质量之间的权衡,并查看 跨管道重用组件 部分,了解如何有效地将相同的组件加载到多个管道中。

DanceDiffusionPipeline

diffusers.DanceDiffusionPipeline

< >

( unet scheduler )

参数

  • unet (UNet1DModel) — 用于对编码音频进行去噪的 UNet1DModel
  • scheduler (SchedulerMixin) — 与 unet 结合使用的调度器,用于对编码音频潜在变量进行去噪。可以是 IPNDMScheduler 之一。

音频生成管道。

此模型继承自 DiffusionPipeline。查看超类文档以了解为所有管道实现的通用方法(下载、保存、在特定设备上运行等)。

__call__

< >

( batch_size: int = 1 num_inference_steps: int = 100 generator: Union = None audio_length_in_s: Optional = None return_dict: bool = True ) AudioPipelineOutput元组

参数

  • batch_size (int, 可选,默认为 1) — 要生成的音频样本数量。
  • num_inference_steps (int, 可选,默认为 50) — 去噪步骤的数量。更多的去噪步骤通常会导致更高质量的音频样本,但推理速度会变慢。
  • generator (torch.Generator, 可选) — 用于使生成确定性的 torch.Generator
  • return_dict (bool, 可选, 默认为 True) — 是否返回 AudioPipelineOutput 而不是普通元组。

返回

AudioPipelineOutputtuple

如果 return_dictTrue,则返回 AudioPipelineOutput,否则返回一个 tuple,其中第一个元素是生成的音频列表。

管道生成调用的函数。

示例

from diffusers import DiffusionPipeline
from scipy.io.wavfile import write

model_id = "harmonai/maestro-150k"
pipe = DiffusionPipeline.from_pretrained(model_id)
pipe = pipe.to("cuda")

audios = pipe(audio_length_in_s=4.0).audios

# To save locally
for i, audio in enumerate(audios):
    write(f"maestro_test_{i}.wav", pipe.unet.sample_rate, audio.transpose())

# To dislay in google colab
import IPython.display as ipd

for audio in audios:
    display(ipd.Audio(audio, rate=pipe.unet.sample_rate))

AudioPipelineOutput

class diffusers.AudioPipelineOutput

< >

( audios: ndarray )

参数

  • audios (np.ndarray) — 形状为 (batch_size, num_channels, sample_rate) 的 NumPy 数组列表,表示去噪后的音频样本。

音频管道的输出类。

< > 在 GitHub 上更新