# AutoencoderKLMiniMaxH3Audio

MiniMax tarafından geliştirilen [MiniMax-H3](https://huggingface.co/MiniMaxAI)'te kullanılan ses otoenkoderı. Girişi ve çıkışı dalga formudur; mel ön ucu veya ayrı bir vokoder yoktur: DAC soyundan gelen, adım atmalı konvolüsyonlu bir enkoder, difüzyon gizli genişliğine doğru nedensel dikkat projeksiyonu ve bir BigVGAN dekoderı.

Encoder, 32 kHz'de 800 örnek atlar, yani saniyede 40 latent üretir; bu nedenle `800 * n` örneklik bir dalga formu `n` latente kodlanır. Tam sayı atlamaya eşit olmayan dalga formları sağdan doldurulur.

Nedensel dikkat projeksiyonu, dikkat yönlendiricisinden geçer, bu nedenle `set_attention_backend` buna uygulanır; maskesi `is_causal=True`'dir ve bu, `_native_npu` hariç tüm backend'ler tarafından desteklenir; `_native_npu`'nin çekirdeği nedensel bir bayrak kabul etmez.

Autoencoder **mono**dur ve skaler bir `scaling_factor` yerine latensleri kanal başına `latents_mean` / `latents_std` ile normalize eder. MiniMax-H3, stereo'yu iki *batch* öğesi olarak taşır ve her zaman posterior ortalama değerini (`latent_dist.mode()`) kullanır, asla bir örneklem kullanmaz.

```python
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[[diffusers.AutoencoderKLMiniMaxH3Audio]]

#### diffusers.AutoencoderKLMiniMaxH3Audio[[diffusers.AutoencoderKLMiniMaxH3Audio]]

```python
diffusers.AutoencoderKLMiniMaxH3Audio(encoder_dim: int = 64, encoder_rates: tuple = (2, 4, 4, 5, 5), latent_dim: int = 2048, latent_channels: int = 32, num_attention_heads: int = 8, decoder_dim: int = 1024, decoder_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 = 32000, latents_mean: list[float] | None = None, latents_std: list[float] | None = None)
```

[Kaynak](https://github.com/huggingface/diffusers/blob/main/src/diffusers/models/autoencoders/autoencoder_kl_minimax_h3_audio.py#L489)

**Parametreler:**

encoder_dim (`int`, varsayılan `64`) : Kodlayıcının ilk konvolüsyonunun kanal genişliği; her alt örnekleme aşamasında iki katına çıkar.

encoder_rates (`tuple[int]`, varsayılan `(2, 4, 4, 5, 5)`) : Kodlayıcı adımları. Çarpımları (`800`), 32 kHz'de 40 latent/sn'ye karşılık gelen atlama uzunluğudur.

latent_dim (`int`, varsayılan `2048`) : Latent projeksiyonlardan önce/sonra, kodlayıcı gövdesinin ve çözücü girdisinin genişliği.

latent_channels (`int`, varsayılan `32`) : Difüzyon latentinin genişliği, yani `mean_proj` / `logs_proj` çıktı kanalları.

num_attention_heads (`int`, varsayılan `8`) : `pre_block` içindeki nedensel dikkat projeksiyonundaki baş sayısı.

decoder_dim (`int`, varsayılan `1024`) : BigVGAN başlangıç kanal sayısı; her örnekleme artırma aşamasında yarıya iner.

decoder_rates (`tuple[int]`, varsayılan `(5, 5, 2, 2, 2, 2, 2)`) : BigVGAN örnekleme hızları. Çarpımları `prod(encoder_rates)`'e eşit olmalıdır.

decoder_kernel_sizes (`tuple[int]`, varsayılan `(9, 9, 4, 4, 4, 4, 4)`) : Her örnekleme (upsampling) aşaması için transpoze konvolüsyon çekirdek boyutu.

resblock_kernel_sizes (`tuple[int]`, varsayılan `(3, 7, 11)`) : Her örnekleme aşamasında paralel AMP artımsal bloklarının çekirdek boyutları.

resblock_dilation_sizes (`tuple[tuple[int]]`, varsayılan `((1, 3, 5), (1, 3, 5), (1, 3, 5))`) : AMP bloğu başına genişlemeler.

sampling_rate (`int`, varsayılan `32000`) : Dalga formu örneklem hızı.

latents_mean (`list[float]`, *isteğe bağlı*) : Pipeline'ın latentleri normalize / denormalize etmek için kullandığı kanal başına latent ortalama.

latents_std (`list[float]`, *isteğe bağlı*) : Pipeline'ın latentleri normalize / denormalize etmek için kullandığı kanal başına latent standart sapma.

[MiniMax-H3](https://huggingface.co/MiniMaxAI) tarafından kullanılan ses otoenkoderi: DAC soyundan gelen konvolüsyonel bir kodlayıcı ve BigVGAN çözücü, doğrudan mono 32 kHz dalga formları üzerinde çalışır.

Bu model [ModelMixin](/docs/diffusers/main/tr/api/models/overview#diffusers.ModelMixin) sınıfından devralır. Kütüphanenin tüm modeller için uyguladığı genel yöntemler (indirme veya kaydetme gibi) için üst sınıf belgelendirmesine bakın.

#### encode[[diffusers.AutoencoderKLMiniMaxH3Audio.encode]]

```python
encode(sample: Tensor, return_dict: bool = True)
```

[Kaynak](https://github.com/huggingface/diffusers/blob/main/src/diffusers/models/autoencoders/autoencoder_kl_minimax_h3_audio.py#L583)

**Parametreler:**

sample (`torch.Tensor`) : `[batch_size, 1, samples]` biçiminde mono dalga formu. MiniMax-H3, referans kliğin iki stereo kanalını `batch_size = 2` olarak iletir.

return_dict (`bool`, varsayılan `True`) : Düz bir tuple yerine `MiniMaxH3AudioEncoderOutput` döndürülüp döndürülmediğini belirtir.

**Dönüş:** `MiniMaxH3AudioEncoderOutput` veya `tuple`

`[batch_size, latent_channels, samples / 800]` üzerindeki gizli posterior.

Bir dalga formunu ses latent posterior'ına kodlayın.

Dalga formu, önce `hop_length`'in (800 örnek) katına sağdan dolgu yapılır. MiniMax-H3, referans hattında asla değerlendirilmeyen `logs_proj` başlığına bakmaksızın, posterior **ortalama** değerini (`latent_dist.mode()`) tüketir.

#### decode[[diffusers.AutoencoderKLMiniMaxH3Audio.decode]]

```python
decode(latents: Tensor, return_dict: bool = True)
```

[Kaynak](https://github.com/huggingface/diffusers/blob/main/src/diffusers/models/autoencoders/autoencoder_kl_minimax_h3_audio.py#L623)

**Parametreler:**

latents (`torch.Tensor`) : `[batch_size, latent_channels, num_frames]` biçiminde normalleştirilmemiş latentler. MiniMax-H3, iki stereo kanalını `batch_size = 2` olarak iletir.

return_dict (`bool`, varsayılan `True`) : Düz bir tuple yerine [DecoderOutput](/docs/diffusers/main/tr/api/models/autoencoderkl_qwenimage#diffusers.models.autoencoders.vae.DecoderOutput) döndürülüp döndürülmemesi.

**Dönüş:** [DecoderOutput](/docs/diffusers/main/tr/api/models/autoencoderkl_qwenimage#diffusers.models.autoencoders.vae.DecoderOutput) veya `tuple`

`[batch_size, 1, num_frames * 800]` biçiminde, `[-1, 1]` aralığına sınırlanmış dalga formu.

Ses latentlerini bir dalga formuna çözümlen.

#### forward[[diffusers.AutoencoderKLMiniMaxH3Audio.forward]]

```python
forward(sample: Tensor, sample_posterior: bool = False, return_dict: bool = True, generator: typing.Optional[torch.Generator] = None)
```

[Kaynak](https://github.com/huggingface/diffusers/blob/main/src/diffusers/models/autoencoders/autoencoder_kl_minimax_h3_audio.py#L653)

**Parametreler:**

sample (`torch.Tensor`) : `[batch_size, 1, samples]` biçiminde mono dalga formu.

sample_posterior (`bool`, varsayılan `False`) : Modu almak yerine posteriorun örneklenip örneklenmeyeceğini belirtir. MiniMax-H3 modu kullanır.

return_dict (`bool`, varsayılan `True`) : Düz bir tuple yerine [DecoderOutput](/docs/diffusers/main/tr/api/models/autoencoderkl_qwenimage#diffusers.models.autoencoders.vae.DecoderOutput) döndürülüp döndürülmemesi.

generator (`torch.Generator`, *isteğe bağlı*) : `sample_posterior=True` olduğunda kullanılan Generator.

**Dönüş:** [DecoderOutput](/docs/diffusers/main/tr/api/models/autoencoderkl_qwenimage#diffusers.models.autoencoders.vae.DecoderOutput) veya `tuple`

`[batch_size, 1, num_frames * 800]` biçiminde, `[-1, 1]` aralığına sınırlanmış gidiş-dönüş dalgası formu.

Bir dalga formunu kodlayın ardından çözümlen.

