# AutoencoderKLKVAEAudio

Um autoencoder variacional (VAE) de convolução 1D com perda KL para áudio, introduzido pela equipe Kandinsky Lab em [KVAE-Audio](https://huggingface.co/kandinskylab/KVAE-Audio). Ele comprime formas de onda brutas de banda completa (48 kHz) em latentes contínuos compactos e as reconstrói com alta fidelidade em fala, música e áudio geral.

O modelo pode ser carregado com o seguinte trecho de código.

```python
import torch
from diffusers import AutoencoderKLKVAEAudio

vae = AutoencoderKLKVAEAudio.from_pretrained("kandinskylab/KVAE-Audio", subfolder="diffusers", dtype=torch.float32)
```

## AutoencoderKLKVAEAudio[[diffusers.AutoencoderKLKVAEAudio]]

#### diffusers.AutoencoderKLKVAEAudio[[diffusers.AutoencoderKLKVAEAudio]]

```python
diffusers.AutoencoderKLKVAEAudio(encoder_dim: int = 64, encoder_rates: list[int] = [2, 3, 4, 5, 8], latent_dim: int = 2048, codebook_dim: int = 64, decoder_dim: int = 1536, decoder_rates: list[int] = [8, 5, 4, 3, 2], sample_rate: int = 48000, num_channels: int = 1, attn_num_heads: int = 8)
```

[Fonte](https://github.com/huggingface/diffusers/blob/v0.43.0/src/diffusers/models/autoencoders/autoencoder_kl_kvae_audio.py#L249)

**Parâmetros:**

encoder_dim (`int`, *opcional*, padrão 64) : Dimensão base do canal para o codificador; duplicada em cada etapa de subamostragem.

encoder_rates (`list[int]`, *opcional*, padrão `[2, 3, 4, 5, 8]`) : Passos para o downsampling no encoder.

latent_dim (`int`, *opcional*, padrão 2048) : Dimensão do canal da saída do codificador (antes do gargalo `in_proj`).

codebook_dim (`int`, *opcional*, padrão 64) : Dimensão do canal do espaço latente da distribuição posterior (após o gargalo `in_proj`).

decoder_dim (`int`, *opcional*, padrão 1536) : Dimensão base de canais para o decodificador; reduzida pela metade em cada etapa de amostragem ascendente.

decoder_rates (`list[int]`, *opcional*, padrão `[8, 5, 4, 3, 2]`) : Passos para o upsampling no decodificador.

sample_rate (`int`, *opcional*, padrão 48000) : A taxa de amostragem, em Hz, na qual o modelo foi treinado.

num_channels (`int`, *opcional*, padrão 1) : Número de canais nos dados de áudio (1 para mono).

attn_num_heads (`int`, *opcional*, padrão 8) : Número de cabeças no bloco de autoatenção aplicado à saída do codificador.

Um autoencoder convolucional 1D para codificar formas de onda de áudio bruto em latentes contínuos e decodificá-las de volta em formas de onda. Introduzido em [KVAE-Audio](https://huggingface.co/kandinskylab/KVAE-Audio).

Este modelo herda de [ModelMixin](/docs/diffusers/v0.43.0/pt/api/models/overview#diffusers.ModelMixin). Consulte a documentação da superclasse para seus métodos genéricos implementados para todos os modelos (como download ou salvamento).

#### decode[[diffusers.AutoencoderKLKVAEAudio.decode]]

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

[Fonte](https://github.com/huggingface/diffusers/blob/v0.43.0/src/diffusers/models/autoencoders/autoencoder_kl_kvae_audio.py#L354)

**Parâmetros:**

z (`torch.Tensor`) : Lote de entrada de vetores latentes.

return_dict (`bool`, *opcional*, padrão `True`) : Se deve retornar um [DecoderOutput](/docs/diffusers/v0.43.0/pt/api/models/autoencoderkl_qwenimage#diffusers.models.autoencoders.vae.DecoderOutput) em vez de uma tupla simples.

**Retorna:** [DecoderOutput](/docs/diffusers/v0.43.0/pt/api/models/autoencoderkl_qwenimage#diffusers.models.autoencoders.vae.DecoderOutput) ou `tuple`

Se return_dict for True, um [DecoderOutput](/docs/diffusers/v0.43.0/pt/api/models/autoencoderkl_qwenimage#diffusers.models.autoencoders.vae.DecoderOutput) é retornado; caso contrário, uma `tuple` simples é retornada.

Decodifica um lote de latentes em formas de onda de áudio.

#### encode[[diffusers.AutoencoderKLKVAEAudio.encode]]

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

[Fonte](https://github.com/huggingface/diffusers/blob/v0.43.0/src/diffusers/models/autoencoders/autoencoder_kl_kvae_audio.py#L321)

**Parâmetros:**

audio_data (`torch.Tensor` de forma `(batch_size, num_channels, num_samples)`) : Lote de entrada de formas de onda de áudio bruto.

return_dict (`bool`, *opcional*, padrão `True`) : Se deve retornar um `~models.autoencoder_kl.AutoencoderKLOutput` em vez de uma tupla simples.

**Retorna:**

As representações latentes do áudio codificado. Se `return_dict` for True, um `~models.autoencoder_kl.AutoencoderKLOutput` é retornado; caso contrário, uma `tuple` simples é retornada.

Codifica um lote de formas de onda de áudio em latentes.

#### forward[[diffusers.AutoencoderKLKVAEAudio.forward]]

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

[Fonte](https://github.com/huggingface/diffusers/blob/v0.43.0/src/diffusers/models/autoencoders/autoencoder_kl_kvae_audio.py#L379)

**Parâmetros:**

sample (`torch.Tensor` de forma `(batch_size, num_channels, num_samples)`) : Lote de entrada de formas de onda de áudio bruto.

sample_posterior (`bool`, *opcional*, padrão `False`) : Se deve amostrar da posterior.

return_dict (`bool`, *opcional*, padrão `True`) : Se deve ou não retornar um [DecoderOutput](/docs/diffusers/v0.43.0/pt/api/models/autoencoderkl_qwenimage#diffusers.models.autoencoders.vae.DecoderOutput) em vez de uma tupla simples.

generator (`torch.Generator`, *opcional*) : Um [`torch.Generator`](https://pytorch.org/docs/stable/generated/torch.Generator.html) para tornar a amostragem determinística.

**Retorna:** [DecoderOutput](/docs/diffusers/v0.43.0/pt/api/models/autoencoderkl_qwenimage#diffusers.models.autoencoders.vae.DecoderOutput) ou `tuple`

Se `return_dict` for True, um [DecoderOutput](/docs/diffusers/v0.43.0/pt/api/models/autoencoderkl_qwenimage#diffusers.models.autoencoders.vae.DecoderOutput) é retornado; caso contrário, uma `tuple` simples é retornada.

