舞蹈扩散
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
。
返回
AudioPipelineOutput 或 tuple
如果 return_dict
为 True
,则返回 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 )
音频管道的输出类。