Diffusers documentation

AutoencoderKLMiniMaxH3Audio

You are viewing main version, which requires installation from source. If you'd like regular pip install, checkout the latest stable version (v0.42.1).
Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

AutoencoderKLMiniMaxH3Audio

Autoencoder audio yang digunakan dalam MiniMax-H3 oleh MiniMax. Input dan outputnya berupa waveform, tanpa front-end mel dan tanpa vocoder terpisah: encoder konvolusi strided dari garis keturunan DAC, proyeksi attention kausal ke lebar laten difusi, dan decoder BigVGAN.

Encoder melompat 800 sampel pada 32 kHz, yaitu 40 latens per detik, sehingga waveform dengan 800 * n sampel akan dienkod menjadi n latens. Waveform yang bukan kelipatan bulat dari jumlah lompatan akan di-pad di sisi kanan.

Proyeksi atensi kausal melewati dispatcher atensi, sehingga set_attention_backend berlaku untuknya; mask-nya adalah is_causal=True, yang dihormati oleh semua backend kecuali _native_npu, yang kernelnya tidak menerima flag kausal.

Autoencoder bersifat mono, dan menormalisasi latents per channel dengan latents_mean / latents_std alih-alih skalar scaling_factor. MiniMax-H3 membawa stereo sebagai dua item batch, dan selalu mengonsumsi posterior mean (latent_dist.mode()), bukan sampel.

import torch
from diffusers import AutoencoderKLMiniMaxH3Audio

audio_vae = AutoencoderKLMiniMaxH3Audio.from_pretrained(
    "MiniMaxAI/MiniMax-H3", subfolder="audio_vae", dtype=torch.float32
).to("cuda")  # or "mps", "xpu", "cpu"

AutoencoderKLMiniMaxH3Audio

kelas diffusers.AutoencoderKLMiniMaxH3Audio

< >

( encoder_dim: int = 64encoder_rates: tuple = (2, 4, 4, 5, 5)latent_dim: int = 2048latent_channels: int = 32num_attention_heads: int = 8decoder_dim: int = 1024decoder_rates: tuple = (5, 5, 2, 2, 2, 2, 2)decoder_kernel_sizes: tuple = (9, 9, 4, 4, 4, 4, 4)resblock_kernel_sizes: tuple = (3, 7, 11)resblock_dilation_sizes: tuple = ((1, 3, 5), (1, 3, 5), (1, 3, 5))sampling_rate: int = 32000latents_mean: list[float] | None = Nonelatents_std: list[float] | None = None )

Parameter

  • encoder_dim (int, defaultnya 64) — Lebar channel dari konvolusi pertama encoder; digandakan di setiap tahap downsampling.
  • encoder_rates (tuple[int], defaultnya (2, 4, 4, 5, 5)) — Strides encoder. Hasil perkaliannya (800) adalah panjang hop, yaitu 40 latens/detik pada 32 kHz.
  • latent_dim (int, defaultnya 2048) — Lebar dari batang encoder dan input decoder, sebelum/setelah proyeksi laten.
  • latent_channels (int, defaultnya 32) — Lebar dari latent difusi, yaitu saluran keluaran dari mean_proj / logs_proj.
  • num_attention_heads (int, defaultnya 8) — Jumlah head dalam proyeksi perhatian kausal pre_block.
  • decoder_dim (int, defaultnya 1024) — Jumlah channel awal BigVGAN; dibagi dua di setiap tahap upsampling.
  • decoder_rates (tuple[int], default (5, 5, 2, 2, 2, 2, 2)) — Rasio upsampling BigVGAN. Hasil perkalian nilai-nilainya harus sama dengan prod(encoder_rates).
  • decoder_kernel_sizes (tuple[int], defaultnya (9, 9, 4, 4, 4, 4, 4)) — Ukuran kernel transposed-convolution per tahap upsampling.
  • resblock_kernel_sizes (tuple[int], defaultnya (3, 7, 11)) — Ukuran kernel dari blok residual AMP paralel di setiap tahap upsampling.
  • resblock_dilation_sizes (tuple[tuple[int]], defaultnya ((1, 3, 5), (1, 3, 5), (1, 3, 5))) — Dilasi per blok AMP.
  • sampling_rate (int, defaultnya 32000) — Laju sampling waveform.
  • latents_mean (list[float], opsional) — Rata-rata laten per kanal yang digunakan pipeline untuk menormalisasi / mendenormalisasi laten.
  • latents_std (list[float], opsional) — Standar deviasi laten per kanal yang digunakan pipeline untuk menormalisasi / mendenormalisasi laten.

Autoencoder audio yang digunakan oleh MiniMax-H3: encoder konvolusional berwarisan DAC dan decoder BigVGAN, yang beroperasi langsung pada waveform mono 32 kHz.

Model ini mewarisi dari ModelMixin. Periksa dokumentasi kelas induk untuk metode generik yang diimplementasikan oleh pustaka untuk semua model (seperti mengunduh atau menyimpan).

encode

< >

( sample: Tensorreturn_dict: bool = True ) → MiniMaxH3AudioEncoderOutput or tuple

Parameter

  • sample (torch.Tensor) — Gelombang mono dengan bentuk [batch_size, 1, samples]. MiniMax-H3 meneruskan dua kanal stereo dari klip referensi sebagai batch_size = 2.
  • return_dict (bool, defaultnya True) — Apakah akan mengembalikan MiniMaxH3AudioEncoderOutput alih-alih tuple biasa.

Mengembalikan

MiniMaxH3AudioEncoderOutput atau tuple

Posterior laten atas [batch_size, latent_channels, samples / 800].

Enkodekan gelombang suara ke posterior laten audio.

Gelombang suara di-*pad* ke kanan hingga menjadi kelipatan dari hop_length (800 sampel) terlebih dahulu. MiniMax-H3 selalu mengonsumsi mean posterior (latent_dist.mode()) — kepala logs_proj tidak pernah dievaluasi oleh pipeline referensi.

decode

< >

( latents: Tensorreturn_dict: bool = True ) → DecoderOutput or tuple

Parameter

  • latents (torch.Tensor) — Latents yang tidak dinormalisasi dengan bentuk [batch_size, latent_channels, num_frames]. MiniMax-H3 meneruskan dua kanal stereo sebagai batch_size = 2.
  • return_dict (bool, defaultnya True) — Apakah akan mengembalikan DecoderOutput alih-alih tuple biasa.

Mengembalikan

DecoderOutput atau tuple

Bentuk gelombang [batch_size, 1, num_frames * 800], dibatasi pada [-1, 1].

Decode latens audio menjadi waveform.

forward

< >

( sample: Tensorsample_posterior: bool = Falsereturn_dict: bool = Truegenerator: typing.Optional[torch.Generator] = None ) → DecoderOutput or tuple

Parameter

  • sample (torch.Tensor) — Gelombang mono dengan bentuk [batch_size, 1, samples].
  • sample_posterior (bool, defaultnya False) — Apakah akan mengambil sampel posterior alih-alih mengambil modusnya. MiniMax-H3 menggunakan mode.
  • return_dict (bool, defaultnya True) — Apakah akan mengembalikan DecoderOutput alih-alih tuple biasa.
  • generator (torch.Generator, opsional) — Generator yang digunakan saat sample_posterior=True.

Mengembalikan

DecoderOutput atau tuple

Gelombang yang telah diproses bolak-balik dengan bentuk [batch_size, 1, num_frames * 800], dibatasi pada [-1, 1].

Enkodekan lalu dekodekan gelombang suara.

Update on GitHub