# VibeVoice Acoustic Tokenizer

## Ikhtisar

[VibeVoice](https://huggingface.co/papers/2508.19205) adalah kerangka kerja baru untuk mensintesis ucapan berdurasi panjang dengan fidelitas tinggi yang melibatkan beberapa pembicara, dengan menggunakan pendekatan next-token diffusion di dalam struktur Large Language Model (LLM). Kerangka ini dirancang untuk menangkap “vibe” percakapan yang autentik dan sangat cocok untuk menghasilkan konten audio seperti podcast dan buku audio dengan banyak peserta.

Salah satu fitur utama VibeVoice adalah penggunaan dua tokenizer audio kontinu, satu untuk mengekstrak fitur akustik dan yang lain untuk fitur semantik.

Checkpoint model tersedia di [microsoft/VibeVoice-AcousticTokenizer](https://huggingface.co/microsoft/VibeVoice-AcousticTokenizer)

Model ini disumbangkan oleh [Eric Bezzam](https://huggingface.co/bezzam).

## Arsitektur

Arsitekturnya adalah struktur encoder-decoder yang simetris cermin. Encoder menggunakan desain hierarkis dengan 7 tahap blok mirip ConvNeXt, yang memakai konvolusi kausal depth-wise 1D untuk pemrosesan streaming yang efisien. Enam lapisan downsampling mencapai tingkat downsampling kumulatif 3200X dari input 24kHz, menghasilkan 7,5 token/frame per detik. Setiap komponen encoder/decoder memiliki sekitar 340M parameter, sehingga totalnya sekitar 680M parameter. Tujuan pelatihan mengikuti [DAC](./dac), termasuk desain diskriminator dan loss-nya.

Acoustic Tokenizer mengadopsi prinsip dari Variational Autoencoder (VAE). Encoder memetakan audio input ke parameter dari distribusi laten, yaitu mean. Bersama dengan standar deviasi yang tetap, vektor laten kemudian disampelkan menggunakan reparameterization trick. Silakan merujuk ke [laporan teknis](https://huggingface.co/papers/2508.19205) untuk detail lebih lanjut.

## Penggunaan

Berikut adalah contoh penggunaan untuk mengodekan dan mendekodekan audio:

```python
import torch
from scipy.io import wavfile

from transformers import AutoFeatureExtractor, VibeVoiceAcousticTokenizerModel
from transformers.audio_utils import load_audio_librosa

model_id = "microsoft/VibeVoice-AcousticTokenizer"

# load model
feature_extractor = AutoFeatureExtractor.from_pretrained(model_id)
model = VibeVoiceAcousticTokenizerModel.from_pretrained(model_id, device_map="auto")
print("Model loaded on device:", model.device)
print("Model dtype:", model.dtype)

# load audio
audio = load_audio_librosa(
    "https://huggingface.co/datasets/bezzam/vibevoice_samples/resolve/main/voices/en-Alice_woman.wav",
    sampling_rate=feature_extractor.sampling_rate,
)

# preprocess audio
inputs = feature_extractor(
    audio,
    sampling_rate=feature_extractor.sampling_rate,
    pad_to_multiple_of=3200,
).to(model.device, model.dtype)
print("Input audio shape:", inputs.input_values.shape)
# Input audio shape: torch.Size([1, 1, 224000])

with torch.no_grad():
    # set VAE sampling to False for deterministic output
    encoded_outputs = model.encode(inputs.input_values, sample=False)
    print("Latent shape:", encoded_outputs.latents.shape)
    # Latent shape: torch.Size([1, 70, 64])

    decoded_outputs = model.decode(**encoded_outputs)
    print("Reconstructed audio shape:", decoded_outputs.audio.shape)
    # Reconstructed audio shape: torch.Size([1, 1, 224000])

# Save audio
output_fp = "vibevoice_acoustic_tokenizer_reconstructed.wav"
wavfile.write(output_fp, feature_extractor.sampling_rate, decoded_outputs.audio.squeeze().float().cpu().numpy())
print(f"Reconstructed audio saved to : {output_fp}")
```

## Streaming

Untuk streaming ASR atau TTS, di mana status cache perlu dilacak, parameter `use_cache` dapat digunakan saat meng-encode atau meng-decode audio:

```python
import torch
from scipy.io import wavfile

from transformers import AutoFeatureExtractor, VibeVoiceAcousticTokenizerModel
from transformers.audio_utils import load_audio_librosa

model_id = "microsoft/VibeVoice-AcousticTokenizer"

# load model
feature_extractor = AutoFeatureExtractor.from_pretrained(model_id)
model = VibeVoiceAcousticTokenizerModel.from_pretrained(model_id, device_map="auto")
print("Model loaded on device:", model.device)
print("Model dtype:", model.dtype)

# load audio
audio = load_audio_librosa(
    "https://huggingface.co/datasets/bezzam/vibevoice_samples/resolve/main/voices/en-Alice_woman.wav",
    sampling_rate=feature_extractor.sampling_rate,
)

# preprocess audio
inputs = feature_extractor(
    audio,
    sampling_rate=feature_extractor.sampling_rate,
    pad_to_multiple_of=3200,
).to(model.device, model.dtype)
print("Input audio shape:", inputs.input_values.shape)
# Input audio shape: torch.Size([1, 1, 224000])

# cache will be initialized after a first pass
encoder_cache = None
decoder_cache = None
with torch.no_grad():
    # set VAE sampling to False for deterministic output
    encoded_outputs = model.encode(inputs.input_values, sample=False, padding_cache=encoder_cache, use_cache=True)
    print("Latent shape:", encoded_outputs.latents.shape)
    # Latent shape: torch.Size([1, 70, 64])

    decoded_outputs = model.decode(encoded_outputs.latents, padding_cache=decoder_cache, use_cache=True)
    print("Reconstructed audio shape:", decoded_outputs.audio.shape)
    # Reconstructed audio shape: torch.Size([1, 1, 224000])

    # `padding_cache` can be extracted from the outputs for subsequent passes
    encoder_cache = encoded_outputs.padding_cache
    print("Number of cached encoder layers:", len(encoder_cache.per_layer_in_channels))
    # Number of cached encoder layers: 34
    decoder_cache = decoded_outputs.padding_cache
    print("Number of cached decoder layers:", len(decoder_cache.per_layer_in_channels))
    # Number of cached decoder layers: 34

# Save audio
output_fp = "vibevoice_acoustic_tokenizer_reconstructed.wav"
wavfile.write(output_fp, feature_extractor.sampling_rate, decoded_outputs.audio.squeeze().float().cpu().numpy())
print(f"Reconstructed audio saved to : {output_fp}")
```

## VibeVoiceAcousticTokenizerConfig[[transformers.VibeVoiceAcousticTokenizerConfig]]

#### transformers.VibeVoiceAcousticTokenizerConfig[[transformers.VibeVoiceAcousticTokenizerConfig]]

```python
transformers.VibeVoiceAcousticTokenizerConfig(transformers_version: str | None = None, architectures: list[str] | None = None, output_hidden_states: bool | None = False, return_dict: bool | None = True, dtype: str | torch.dtype | None = None, chunk_size_feed_forward: int = 0, is_encoder_decoder: bool = False, id2label: dict[int, str] | dict[str, str] | None = None, label2id: dict[str, int] | dict[str, str] | None = None, problem_type: Literal['regression', 'single_label_classification', 'multi_label_classification'] | None = None, channels: int = 1, hidden_size: int = 64, kernel_size: int = 7, rms_norm_eps: float = 1e-05, layer_scale_init_value: float = 1e-06, initializer_range: float = 0.01, num_filters: int = 32, downsampling_ratios: list[int] | tuple[int, ...] = (2, 2, 4, 5, 5, 8), depths: list[int] | tuple[int, ...] = (3, 3, 3, 3, 3, 3, 8), hidden_act: str = 'gelu', ffn_expansion: int = 4, vae_std: float = 0.625)
```

[Sumber](https://github.com/huggingface/transformers/blob/main/src/transformers/models/vibevoice_acoustic_tokenizer/configuration_vibevoice_acoustic_tokenizer.py#L26)

**Parameter:**

channels (`int`, *opsional*, default 1) : Jumlah saluran input.

hidden_size (`int`, *opsional*, defaultnya 64) : Dimensi dari representasi laten.

kernel_size (`int`, *opsional*, defaultnya 7) : Ukuran kernel untuk lapisan konvolusional.

rms_norm_eps (`float`, *opsional*, defaultnya `1e-05`) : epsilon yang digunakan oleh lapisan normalisasi rms.

layer_scale_init_value (`float`, *opsional*, default `1e-06`) : Skala yang digunakan pada lapisan self-attention. 0.1 untuk base, 1e-6 untuk large. Setel 0 untuk menonaktifkan layer scale.

initializer_range (`float`, *opsional*, defaultnya `0.01`) : Deviasi standar dari truncated_normal_initializer untuk menginisialisasi semua matriks bobot.

num_filters (`int`, *opsional*, default 32) : Jumlah filter pada lapisan konvolusional awal, dan digandakan setelah setiap downsampling.

downsampling_ratios (`List[int]`, *opsional*, defaultnya `[2, 2, 4, 5, 5, 8]`) : Rasio downsampling untuk setiap layer.

depths (`List[int]`, *opsional*, defaultnya `[3, 3, 3, 3, 3, 3, 8]`) : Jumlah blok ConvNeXt di setiap tahap.

hidden_act (`str`, *opsional*, defaultnya `gelu`) : Fungsi aktivasi non-linear (fungsi atau string) di decoder. Misalnya, `"gelu"`, `"relu"`, `"silu"`, dan sebagainya.

ffn_expansion (`int`, *opsional*, default 4) : Faktor ekspansi untuk jaringan feed-forward.

vae_std (`float`, *opsional*, default 0.625) : Standar deviasi dari distribusi Gaussian tempat skala noise per sampel diambil saat noise ditambahkan ke latens encoder (`sample=True`).

Ini adalah kelas konfigurasi untuk menyimpan konfigurasi dari VibeVoiceAcousticTokenizerModel. Kelas ini digunakan untuk membuat instans model Vibevoice Acoustic Tokenizer sesuai dengan argumen yang ditentukan, yang mendefinisikan arsitektur model. Membuat instans konfigurasi dengan nilai bawaan akan menghasilkan konfigurasi yang serupa dengan konfigurasi dari [microsoft/VibeVoice-1.5B](https://huggingface.co/microsoft/VibeVoice-1.5B)

Objek konfigurasi mewarisi dari [PreTrainedConfig](/docs/transformers/main/id/main_classes/configuration#transformers.PreTrainedConfig) dan dapat digunakan untuk mengontrol keluaran model. Baca dokumentasi dari [PreTrainedConfig](/docs/transformers/main/id/main_classes/configuration#transformers.PreTrainedConfig) untuk informasi lebih lanjut.

Contoh:

```python
>>> from transformers import VibeVoiceAcousticTokenizerModel, VibeVoiceAcousticTokenizerConfig

>>> # Initializing a VibeVoice Acoustic Tokenizer configuration
>>> configuration = VibeVoiceAcousticTokenizerConfig()

>>> # Initializing a model (with random weights)
>>> model = VibeVoiceAcousticTokenizerModel(configuration)

>>> # Accessing the model configuration
>>> configuration = model.config
```

## VibeVoiceAcousticTokenizerEncoderConfig[[transformers.VibeVoiceAcousticTokenizerEncoderConfig]]

#### transformers.VibeVoiceAcousticTokenizerEncoderConfig[[transformers.VibeVoiceAcousticTokenizerEncoderConfig]]

```python
transformers.VibeVoiceAcousticTokenizerEncoderConfig(transformers_version: str | None = None, architectures: list[str] | None = None, output_hidden_states: bool | None = False, return_dict: bool | None = True, dtype: str | torch.dtype | None = None, chunk_size_feed_forward: int = 0, is_encoder_decoder: bool = False, id2label: dict[int, str] | dict[str, str] | None = None, label2id: dict[str, int] | dict[str, str] | None = None, problem_type: Literal['regression', 'single_label_classification', 'multi_label_classification'] | None = None, channels: int = 1, hidden_size: int = 64, kernel_size: int = 7, rms_norm_eps: float = 1e-05, layer_scale_init_value: float = 1e-06, initializer_range: float = 0.01, num_filters: int = 32, downsampling_ratios: list[int] | tuple[int, ...] = (2, 2, 4, 5, 5, 8), depths: list[int] | tuple[int, ...] = (3, 3, 3, 3, 3, 3, 8), hidden_act: str = 'gelu', ffn_expansion: int = 4, vae_std: float = 0.625)
```

[Sumber](https://github.com/huggingface/transformers/blob/main/src/transformers/models/vibevoice_acoustic_tokenizer/configuration_vibevoice_acoustic_tokenizer.py#L93)

**Parameter:**

channels (`int`, *opsional*, default 1) : Jumlah saluran input.

hidden_size (`int`, *opsional*, defaultnya 64) : Dimensi dari representasi laten.

kernel_size (`int`, *opsional*, defaultnya 7) : Ukuran kernel untuk lapisan konvolusional.

rms_norm_eps (`float`, *opsional*, defaultnya `1e-05`) : epsilon yang digunakan oleh lapisan normalisasi rms.

layer_scale_init_value (`float`, *opsional*, default `1e-06`) : Skala yang digunakan pada lapisan self-attention. 0.1 untuk base, 1e-6 untuk large. Setel 0 untuk menonaktifkan layer scale.

initializer_range (`float`, *opsional*, defaultnya `0.01`) : Deviasi standar dari truncated_normal_initializer untuk menginisialisasi semua matriks bobot.

num_filters (`int`, *opsional*, default 32) : Jumlah filter pada lapisan konvolusional awal, dan digandakan setelah setiap downsampling.

downsampling_ratios (`List[int]`, *opsional*, defaultnya `[2, 2, 4, 5, 5, 8]`) : Rasio downsampling untuk setiap layer.

depths (`List[int]`, *opsional*, defaultnya `[3, 3, 3, 3, 3, 3, 8]`) : Jumlah blok ConvNeXt di setiap tahap.

hidden_act (`str`, *opsional*, defaultnya `gelu`) : Fungsi aktivasi non-linear (fungsi atau string) di decoder. Misalnya, `"gelu"`, `"relu"`, `"silu"`, dan sebagainya.

ffn_expansion (`int`, *opsional*, default 4) : Faktor ekspansi untuk jaringan feed-forward.

vae_std (`float`, *opsional*, default 0.625) : Standar deviasi dari distribusi Gaussian tempat skala noise per sampel diambil saat noise ditambahkan ke latens encoder (`sample=True`).

Ini adalah kelas konfigurasi untuk menyimpan konfigurasi dari VibeVoiceAcousticTokenizerModel. Kelas ini digunakan untuk membuat instans model Vibevoice Acoustic Tokenizer sesuai dengan argumen yang ditentukan, yang mendefinisikan arsitektur model. Membuat instans konfigurasi dengan nilai bawaan akan menghasilkan konfigurasi yang serupa dengan konfigurasi dari [microsoft/VibeVoice-1.5B](https://huggingface.co/microsoft/VibeVoice-1.5B)

Objek konfigurasi mewarisi dari [PreTrainedConfig](/docs/transformers/main/id/main_classes/configuration#transformers.PreTrainedConfig) dan dapat digunakan untuk mengontrol keluaran model. Baca dokumentasi dari [PreTrainedConfig](/docs/transformers/main/id/main_classes/configuration#transformers.PreTrainedConfig) untuk informasi lebih lanjut.

## VibeVoiceAcousticTokenizerDecoderConfig[[transformers.VibeVoiceAcousticTokenizerDecoderConfig]]

#### transformers.VibeVoiceAcousticTokenizerDecoderConfig[[transformers.VibeVoiceAcousticTokenizerDecoderConfig]]

```python
transformers.VibeVoiceAcousticTokenizerDecoderConfig(transformers_version: str | None = None, architectures: list[str] | None = None, output_hidden_states: bool | None = False, return_dict: bool | None = True, dtype: str | torch.dtype | None = None, chunk_size_feed_forward: int = 0, is_encoder_decoder: bool = False, id2label: dict[int, str] | dict[str, str] | None = None, label2id: dict[str, int] | dict[str, str] | None = None, problem_type: Literal['regression', 'single_label_classification', 'multi_label_classification'] | None = None, channels: int = 1, hidden_size: int = 64, kernel_size: int = 7, rms_norm_eps: float = 1e-05, layer_scale_init_value: float = 1e-06, initializer_range: float = 0.01, num_filters: int = 32, downsampling_ratios: list[int] | tuple[int, ...] = (2, 2, 4, 5, 5, 8), depths: list[int] | tuple[int, ...] = (3, 3, 3, 3, 3, 3, 8), hidden_act: str = 'gelu', ffn_expansion: int = 4, vae_std: float = 0.625)
```

[Sumber](https://github.com/huggingface/transformers/blob/main/src/transformers/models/vibevoice_acoustic_tokenizer/configuration_vibevoice_acoustic_tokenizer.py#L124)

**Parameter:**

channels (`int`, *opsional*, default 1) : Jumlah saluran input.

hidden_size (`int`, *opsional*, defaultnya 64) : Dimensi dari representasi laten.

kernel_size (`int`, *opsional*, defaultnya 7) : Ukuran kernel untuk lapisan konvolusional.

rms_norm_eps (`float`, *opsional*, defaultnya `1e-05`) : epsilon yang digunakan oleh lapisan normalisasi rms.

layer_scale_init_value (`float`, *opsional*, default `1e-06`) : Skala yang digunakan pada lapisan self-attention. 0.1 untuk base, 1e-6 untuk large. Setel 0 untuk menonaktifkan layer scale.

initializer_range (`float`, *opsional*, defaultnya `0.01`) : Deviasi standar dari truncated_normal_initializer untuk menginisialisasi semua matriks bobot.

num_filters (`int`, *opsional*, default 32) : Jumlah filter pada lapisan konvolusional awal, dan digandakan setelah setiap downsampling.

downsampling_ratios (`List[int]`, *opsional*, defaultnya `[2, 2, 4, 5, 5, 8]`) : Rasio downsampling untuk setiap layer.

depths (`List[int]`, *opsional*, defaultnya `[3, 3, 3, 3, 3, 3, 8]`) : Jumlah blok ConvNeXt di setiap tahap.

hidden_act (`str`, *opsional*, defaultnya `gelu`) : Fungsi aktivasi non-linear (fungsi atau string) di decoder. Misalnya, `"gelu"`, `"relu"`, `"silu"`, dan sebagainya.

ffn_expansion (`int`, *opsional*, default 4) : Faktor ekspansi untuk jaringan feed-forward.

vae_std (`float`, *opsional*, default 0.625) : Standar deviasi dari distribusi Gaussian tempat skala noise per sampel diambil saat noise ditambahkan ke latens encoder (`sample=True`).

Ini adalah kelas konfigurasi untuk menyimpan konfigurasi dari VibeVoiceAcousticTokenizerModel. Kelas ini digunakan untuk membuat instans model Vibevoice Acoustic Tokenizer sesuai dengan argumen yang ditentukan, yang mendefinisikan arsitektur model. Membuat instans konfigurasi dengan nilai bawaan akan menghasilkan konfigurasi yang serupa dengan konfigurasi dari [microsoft/VibeVoice-1.5B](https://huggingface.co/microsoft/VibeVoice-1.5B)

Objek konfigurasi mewarisi dari [PreTrainedConfig](/docs/transformers/main/id/main_classes/configuration#transformers.PreTrainedConfig) dan dapat digunakan untuk mengontrol keluaran model. Baca dokumentasi dari [PreTrainedConfig](/docs/transformers/main/id/main_classes/configuration#transformers.PreTrainedConfig) untuk informasi lebih lanjut.

## VibeVoiceAcousticTokenizerFeatureExtractor[[transformers.VibeVoiceAcousticTokenizerFeatureExtractor]]

#### transformers.VibeVoiceAcousticTokenizerFeatureExtractor[[transformers.VibeVoiceAcousticTokenizerFeatureExtractor]]

```python
transformers.VibeVoiceAcousticTokenizerFeatureExtractor(feature_size = 1, sampling_rate = 24000, padding_value = 0.0, normalize_audio = True, target_dB_FS = -25, eps = 1e-06, pad_to_multiple_of = 3200, **kwargs)
```

[Sumber](https://github.com/huggingface/transformers/blob/main/src/transformers/models/vibevoice_acoustic_tokenizer/feature_extraction_vibevoice_acoustic_tokenizer.py#L29)

**Parameter:**

feature_size (`int`, *opsional*, default 1) : Jumlah channel.

sampling_rate (`int`, *opsional*, default 24000) : Laju sampling di mana gelombang audio harus didigitalisasi, dinyatakan dalam hertz (Hz).

padding_value (`float`, *opsional*, default 0.0) : Nilai yang digunakan untuk padding.

normalize_audio (`bool`, *opsional*, defaultnya `True`) : Apakah akan menormalisasi audio ke dB FS target.

target_dB_FS (`float`, *opsional*, default -25) : Target dB FS untuk normalisasi.

eps (`float`, *opsional*, default 1e-06) : Nilai kecil untuk menghindari pembagian dengan nol saat normalisasi.

pad_to_multiple_of (`int`, *opsional*, default 3200) : Pad audio menjadi kelipatan dari nilai ini, yang harus sesuai dengan panjang hop dari tokenizer akustik, yaitu faktor downsampling dari encoder-nya.

Membangun feature extractor VibeVoiceAcousticTokenizer.

#### __call__[[transformers.VibeVoiceAcousticTokenizerFeatureExtractor.__call__]]

```python
__call__(audio: typing.Union[numpy.ndarray, ForwardRef('torch.Tensor'), collections.abc.Sequence[numpy.ndarray], collections.abc.Sequence['torch.Tensor']], sampling_rate: int | None = None, padding: bool | str | transformers.utils.generic.PaddingStrategy | None = True, pad_to_multiple_of: int | None = None, max_length: int | None = None, return_attention_mask: bool | None = True, return_tensors: str | None = 'pt', **kwargs)
```

[Sumber](https://github.com/huggingface/transformers/blob/main/src/transformers/models/vibevoice_acoustic_tokenizer/feature_extraction_vibevoice_acoustic_tokenizer.py#L72)

**Parameter:**

audio (`np.ndarray`, `torch.Tensor`, `list[np.ndarray]`, `list[torch.Tensor]` : Urutan atau batch dari urutan yang akan diproses. Setiap urutan dapat berupa array numpy, tensor torch, daftar array numpy, atau daftar tensor torch.

sampling_rate (`int`, *opsional*) : Laju pengambilan sampel di mana input `audio` diambil. Sangat disarankan untuk meneruskan `sampling_rate` pada panggilan forward untuk mencegah kesalahan yang tidak terdeteksi.

padding (`bool`, `str` atau [PaddingStrategy](/docs/transformers/main/id/internal/file_utils#transformers.utils.PaddingStrategy), *opsional*, default `True`) : Pilih strategi untuk melakukan padding pada urutan yang dikembalikan (sesuai sisi padding dan indeks padding model) di antara: - `True` atau `'longest'`: Lakukan padding hingga urutan terpanjang dalam batch (atau tanpa padding jika hanya satu urutan yang diberikan). - `'max_length'`: Lakukan padding hingga panjang maksimum yang ditentukan dengan argumen `max_length` atau hingga panjang input maksimum yang dapat diterima oleh model jika argumen tersebut tidak diberikan. - `False` atau `'do_not_pad'` (default): Tanpa padding (yaitu, dapat menghasilkan batch dengan urutan yang panjangnya berbeda-beda).

pad_to_multiple_of (`int`, *opsional*) : Jika diatur, akan melakukan padding pada urutan hingga menjadi kelipatan dari nilai yang diberikan. Secara default menggunakan `self.pad_to_multiple_of` jika tidak disediakan.

## VibeVoiceAcousticTokenizerModel[[transformers.VibeVoiceAcousticTokenizerModel]]

#### transformers.VibeVoiceAcousticTokenizerModel[[transformers.VibeVoiceAcousticTokenizerModel]]

```python
transformers.VibeVoiceAcousticTokenizerModel(config: VibeVoiceAcousticTokenizerConfig)
```

[Sumber](https://github.com/huggingface/transformers/blob/main/src/transformers/models/vibevoice_acoustic_tokenizer/modeling_vibevoice_acoustic_tokenizer.py#L503)

**Parameter:**

config ([VibeVoiceAcousticTokenizerConfig](/docs/transformers/main/id/model_doc/vibevoice_acoustic_tokenizer#transformers.VibeVoiceAcousticTokenizerConfig)) : Kelas konfigurasi model dengan semua parameter model. Inisialisasi dengan file konfigurasi tidak memuat bobot yang terkait dengan model, hanya konfigurasinya. Lihat metode [from_pretrained()](/docs/transformers/main/id/main_classes/model#transformers.PreTrainedModel.from_pretrained) untuk memuat bobot model.

VibeVoice acoustic tokenizer dengan encoder dan decoder untuk token akustik kontinu.

Model ini mewarisi dari [PreTrainedModel](/docs/transformers/main/id/main_classes/model#transformers.PreTrainedModel). Periksa dokumentasi kelas induk untuk metode generik yang diimplementasikan oleh pustaka ini untuk semua model (seperti mengunduh atau menyimpan, mengubah ukuran input embeddings, memangkas heads, dll.)

Model ini juga merupakan subclass dari [torch.nn.Module](https://pytorch.org/docs/stable/nn.html#torch.nn.Module) PyTorch. Gunakan sebagai PyTorch Module biasa dan merujuk ke dokumentasi PyTorch untuk semua hal yang berkaitan dengan penggunaan dan perilaku umum.

#### encode[[transformers.VibeVoiceAcousticTokenizerModel.encode]]

```python
encode(input_values, padding_cache = None, use_cache = None, sample = True)
```

[Sumber](https://github.com/huggingface/transformers/blob/main/src/transformers/models/vibevoice_acoustic_tokenizer/modeling_vibevoice_acoustic_tokenizer.py#L510)

**Parameter:**

input_values (`torch.Tensor` dengan bentuk `(batch_size, channels, sequence_length)`) : Gelombang audio input yang akan dikodekan menjadi representasi laten.

padding_cache (`VibeVoiceAcousticTokenizerConv1dPaddingCache`, *opsional*) : Objek cache untuk mode streaming guna mempertahankan status konvolusi antar lapisan.

use_cache (`bool`, *opsional*) : Apakah akan menggunakan caching untuk state konvolusi.

sample (`bool`, *opsional*) : Apakah akan menambahkan noise Gaussian ke latents (σ-VAE: skala noise diambil per item batch dari N(0, `config.vae_std`)). Jika False, output encoder dikembalikan apa adanya.

#### decode[[transformers.VibeVoiceAcousticTokenizerModel.decode]]

```python
decode(latents, padding_cache = None, use_cache = False)
```

[Sumber](https://github.com/huggingface/transformers/blob/main/src/transformers/models/vibevoice_acoustic_tokenizer/modeling_vibevoice_acoustic_tokenizer.py#L537)

**Parameter:**

latents (`torch.Tensor` dengan bentuk `(batch_size, channels, sequence_length)`) : Representasi laten input yang akan didekode kembali menjadi audio.

padding_cache (`VibeVoiceAcousticTokenizerConv1dPaddingCache`, *opsional*) : Objek cache untuk mode streaming guna mempertahankan status konvolusi antar lapisan.

use_cache (`bool`, *opsional*) : Apakah akan menggunakan caching untuk state konvolusi.

#### forward[[transformers.VibeVoiceAcousticTokenizerModel.forward]]

```python
forward(input_values, padding_cache = None, use_cache = False, sample = True, **kwargs)
```

[Sumber](https://github.com/huggingface/transformers/blob/main/src/transformers/models/vibevoice_acoustic_tokenizer/modeling_vibevoice_acoustic_tokenizer.py#L551)

**Parameter:**

input_values (`torch.Tensor` dengan bentuk `(batch_size, channels, sequence_length)`) : Gelombang audio input yang akan dikodekan menjadi representasi laten.

padding_cache (`VibeVoiceAcousticTokenizerConv1dPaddingCache`, *opsional*) : Objek cache untuk mode streaming guna mempertahankan status konvolusi antar lapisan. Perhatikan bahwa ini hanya digunakan oleh decoder.

use_cache (`bool`, *opsional*) : Apakah akan menggunakan caching untuk state konvolusi.

sample (`bool`, *opsional*) : Apakah akan menambahkan noise Gaussian ke latents (σ-VAE: skala noise diambil per item batch dari N(0, `config.vae_std`)). Jika False, output encoder dikembalikan apa adanya.

Metode forward dari [VibeVoiceAcousticTokenizerModel](/docs/transformers/main/id/model_doc/vibevoice_acoustic_tokenizer#transformers.VibeVoiceAcousticTokenizerModel) menimpa metode khusus `__call__`.

Meskipun resep untuk forward pass perlu didefinisikan di dalam fungsi ini, sebaiknya panggil instance `Module` setelahnya alih-alih fungsi ini, karena yang pertama menangani langkah-langkah pra-pemrosesan dan pasca-pemrosesan, sedangkan yang kedua mengabaikannya secara diam-diam.

## VibeVoiceAcousticTokenizerEncoderModel[[transformers.VibeVoiceAcousticTokenizerEncoderModel]]

#### transformers.VibeVoiceAcousticTokenizerEncoderModel[[transformers.VibeVoiceAcousticTokenizerEncoderModel]]

```python
transformers.VibeVoiceAcousticTokenizerEncoderModel(config: VibeVoiceAcousticTokenizerEncoderConfig)
```

[Sumber](https://github.com/huggingface/transformers/blob/main/src/transformers/models/vibevoice_acoustic_tokenizer/modeling_vibevoice_acoustic_tokenizer.py#L373)

#### forward[[transformers.VibeVoiceAcousticTokenizerEncoderModel.forward]]

```python
forward(hidden_states, padding_cache = None, use_cache = False, **kwargs)
```

[Sumber](https://github.com/huggingface/transformers/blob/main/src/transformers/models/vibevoice_acoustic_tokenizer/modeling_vibevoice_acoustic_tokenizer.py#L394)

## VibeVoiceAcousticTokenizerDecoderModel[[transformers.VibeVoiceAcousticTokenizerDecoderModel]]

#### transformers.VibeVoiceAcousticTokenizerDecoderModel[[transformers.VibeVoiceAcousticTokenizerDecoderModel]]

```python
transformers.VibeVoiceAcousticTokenizerDecoderModel(config: VibeVoiceAcousticTokenizerDecoderConfig)
```

[Sumber](https://github.com/huggingface/transformers/blob/main/src/transformers/models/vibevoice_acoustic_tokenizer/modeling_vibevoice_acoustic_tokenizer.py#L466)

#### forward[[transformers.VibeVoiceAcousticTokenizerDecoderModel.forward]]

```python
forward(hidden_states, padding_cache = None, use_cache = False, **kwargs)
```

[Sumber](https://github.com/huggingface/transformers/blob/main/src/transformers/models/vibevoice_acoustic_tokenizer/modeling_vibevoice_acoustic_tokenizer.py#L487)

