Diffusers 文件
Dance Diffusion
加入 Hugging Face 社群
並獲得增強的文件體驗
開始使用
Dance Diffusion
Dance Diffusion 由 Zach Evans 製作。
Dance Diffusion 是 Harmonai 釋出的用於製作人和音樂家的生成音訊工具套件中的第一個。
DanceDiffusionPipeline
類 diffusers.DanceDiffusionPipeline
< 原始碼 >( unet: UNet1DModel scheduler: SchedulerMixin )
引數
- unet (UNet1DModel) — 用於對編碼音訊進行去噪的
UNet1DModel
。 - scheduler (SchedulerMixin) — 與
unet
結合使用的排程器,用於對編碼音訊的潛在表示進行去噪。可以是 IPNDMScheduler 之一。
用於音訊生成的管道。
此模型繼承自 DiffusionPipeline。有關所有管道實現的通用方法(下載、儲存、在特定裝置上執行等),請檢視超類文件。
__call__
< 原始碼 >( batch_size: int = 1 num_inference_steps: int = 100 generator: typing.Union[torch._C.Generator, typing.List[torch._C.Generator], NoneType] = None audio_length_in_s: typing.Optional[float] = None return_dict: bool = True ) → AudioPipelineOutput 或 tuple
引數
- batch_size (
int
, 可選, 預設為 1) — 要生成的音訊樣本數量。 - num_inference_steps (
int
, 可選, 預設為 50) — 去噪步數。更多的去噪步數通常會帶來更高質量的音訊樣本,但推理速度會變慢。 - generator (
torch.Generator
, 可選) — 一個torch.Generator
,用於使生成過程確定。 - audio_length_in_s (
float
, 可選, 預設為self.unet.config.sample_size/self.unet.config.sample_rate
) — 生成音訊樣本的長度(秒)。 - return_dict (
bool
, 可選, 預設為True
) — 是否返回 AudioPipelineOutput 而不是普通的元組。
返回
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 display in google colab
import IPython.display as ipd
for audio in audios:
display(ipd.Audio(audio, rate=pipe.unet.sample_rate))
AudioPipelineOutput
類 diffusers.AudioPipelineOutput
< 原始碼 >( audios: ndarray )
音訊流水線的輸出類。