# VibeVoice Acoustic Tokenizer

## 概要

[VibeVoice](https://huggingface.co/papers/2508.19205)は、Large Language Model (LLM) の構造内で next-token diffusion アプローチを採用することで、複数話者の高忠実度・長尺音声の合成を実現する新しいフレームワークです。本質的な会話の「雰囲気」を捉えるよう設計されており、ポッドキャストや複数参加者のオーディオブックなどの音声コンテンツの生成に特に適しています。

VibeVoiceの重要な機能の一つは、2つの連続オーディオトークナイザーを使用することです。1つは音響特徴の抽出に、もう1つは意味的特徴の抽出に用いられます。

モデルのチェックポイントは [microsoft/VibeVoice-AcousticTokenizer](https://huggingface.co/microsoft/VibeVoice-AcousticTokenizer) で利用可能です。

このモデルは[Eric Bezzam](https://huggingface.co/bezzam)によって提供されました。

## アーキテクチャ

アーキテクチャは、鏡像対称なエンコーダ-デコーダ構造です。エンコーダは、効率的なストリーミング処理のために1次元の深さ方向因果畳み込みを使用する、ConvNeXt風のブロックからなる7段階の階層型設計を採用しています。6つのダウンサンプリング層により、24kHzの入力から累積3200倍のダウンサンプリング率を実現し、1秒あたり7.5トークン/フレームが得られます。エンコーダ/デコーダの各コンポーネントには約340Mのパラメータがあり、合計で約680Mのパラメータです。学習目標は、[DAC](./dac)のそれ、すなわちそのディスクリミネータと損失関数の設計に従っています。

Acoustic Tokenizer は、Variational Autoencoder (VAE) の原理を採用しています。エンコーダーは、入力オーディオを潜在分布のパラメータ、すなわち平均値にマッピングします。固定された標準偏差とともに、再パラメータ化トリックを用いて潜在ベクトルがサンプリングされます。詳細については、[技術レポート](https://huggingface.co/papers/2508.19205)を参照してください。

## 使用方法

以下は、オーディオをエンコードおよびデコードするための使用例です。

```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}")
```

## ストリーミング

キャッシュされた状態を追跡する必要があるストリーミングASRやTTSでは、音声のエンコードまたはデコード時に`use_cache`パラメータを使用できます。

```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)
```

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

**パラメータ:**

channels (`int`、*任意*、デフォルトは 1) : 入力チャネル数。

hidden_size (`int`、*optional*、デフォルトは 64) : 潜在表現の次元数。

kernel_size (`int`、*任意*、デフォルトは 7) : 畳み込み層のカーネルサイズ。

rms_norm_eps (`float`、*任意*、デフォルトは`1e-05`) : rms 正規化レイヤーで使用する epsilon。

layer_scale_init_value (`float`、*任意*、デフォルトは`1e-06`) : self-attention層で使用するスケール。baseモデルでは0.1、largeモデルでは1e-6です。0に設定すると、layer scaleを無効にします。

initializer_range (`float`、*任意*、デフォルトは `0.01`) : すべての重み行列を初期化するための truncated_normal_initializer の標準偏差です。

num_filters (`int`, *optional*, デフォルトは 32) : 最初の畳み込み層のフィルタ数。ダウンサンプリングのたびに倍になります。

downsampling_ratios (`List[int]`、*任意*、デフォルトは`[2, 2, 4, 5, 5, 8]`) : 各レイヤーのダウンサンプリング比率。

depths (`List[int]`、*任意*、デフォルトは`[3, 3, 3, 3, 3, 3, 8]`) : 各ステージにおけるConvNeXtブロックの数。

hidden_act (`str`、*任意*、デフォルトは`gelu`) : デコーダーで使用する非線形活性化関数（関数または文字列）。例えば、`"gelu"`、`"relu"`、`"silu"`など。

ffn_expansion (`int`、*任意*、デフォルトは 4) : フィードフォワードネットワークの拡張係数。

vae_std (`float`、*任意*、デフォルト値は 0.625) : エンコーダーの潜在変数にノイズが追加される場合（`sample=True`）、サンプルごとのノイズスケールをサンプリングするガウス分布の標準偏差。

これは、VibeVoiceAcousticTokenizerModel の設定を保存するための設定クラスです。指定された引数に基づいて Vibevoice Acoustic Tokenizer モデルをインスタンス化し、モデルのアーキテクチャを定義するために使用されます。デフォルト値で設定をインスタンス化すると、[microsoft/VibeVoice-1.5B](https://huggingface.co/microsoft/VibeVoice-1.5B) と同様の設定が得られます。

設定オブジェクトは [PreTrainedConfig](/docs/transformers/main/ja/main_classes/configuration#transformers.PreTrainedConfig) を継承し、モデルの出力を制御するために使用できます。詳細については、[PreTrainedConfig](/docs/transformers/main/ja/main_classes/configuration#transformers.PreTrainedConfig) のドキュメントを参照してください。

例:

```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)
```

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

**パラメータ:**

channels (`int`、*任意*、デフォルトは 1) : 入力チャネル数。

hidden_size (`int`、*optional*、デフォルトは 64) : 潜在表現の次元数。

kernel_size (`int`、*任意*、デフォルトは 7) : 畳み込み層のカーネルサイズ。

rms_norm_eps (`float`、*任意*、デフォルトは`1e-05`) : rms 正規化レイヤーで使用する epsilon。

layer_scale_init_value (`float`、*任意*、デフォルトは`1e-06`) : self-attention層で使用するスケール。baseモデルでは0.1、largeモデルでは1e-6です。0に設定すると、layer scaleを無効にします。

initializer_range (`float`、*任意*、デフォルトは `0.01`) : すべての重み行列を初期化するための truncated_normal_initializer の標準偏差です。

num_filters (`int`, *optional*, デフォルトは 32) : 最初の畳み込み層のフィルタ数。ダウンサンプリングのたびに倍になります。

downsampling_ratios (`List[int]`、*任意*、デフォルトは`[2, 2, 4, 5, 5, 8]`) : 各レイヤーのダウンサンプリング比率。

depths (`List[int]`、*任意*、デフォルトは`[3, 3, 3, 3, 3, 3, 8]`) : 各ステージにおけるConvNeXtブロックの数。

hidden_act (`str`、*任意*、デフォルトは`gelu`) : デコーダーで使用する非線形活性化関数（関数または文字列）。例えば、`"gelu"`、`"relu"`、`"silu"`など。

ffn_expansion (`int`、*任意*、デフォルトは 4) : フィードフォワードネットワークの拡張係数。

vae_std (`float`、*任意*、デフォルト値は 0.625) : エンコーダーの潜在変数にノイズが追加される場合（`sample=True`）、サンプルごとのノイズスケールをサンプリングするガウス分布の標準偏差。

これは、VibeVoiceAcousticTokenizerModel の設定を保存するための設定クラスです。指定された引数に基づいて Vibevoice Acoustic Tokenizer モデルをインスタンス化し、モデルのアーキテクチャを定義するために使用されます。デフォルト値で設定をインスタンス化すると、[microsoft/VibeVoice-1.5B](https://huggingface.co/microsoft/VibeVoice-1.5B) と同様の設定が得られます。

設定オブジェクトは [PreTrainedConfig](/docs/transformers/main/ja/main_classes/configuration#transformers.PreTrainedConfig) を継承し、モデルの出力を制御するために使用できます。詳細については、[PreTrainedConfig](/docs/transformers/main/ja/main_classes/configuration#transformers.PreTrainedConfig) のドキュメントを参照してください。

## 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)
```

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

**パラメータ:**

channels (`int`、*任意*、デフォルトは 1) : 入力チャネル数。

hidden_size (`int`、*optional*、デフォルトは 64) : 潜在表現の次元数。

kernel_size (`int`、*任意*、デフォルトは 7) : 畳み込み層のカーネルサイズ。

rms_norm_eps (`float`、*任意*、デフォルトは`1e-05`) : rms 正規化レイヤーで使用する epsilon。

layer_scale_init_value (`float`、*任意*、デフォルトは`1e-06`) : self-attention層で使用するスケール。baseモデルでは0.1、largeモデルでは1e-6です。0に設定すると、layer scaleを無効にします。

initializer_range (`float`、*任意*、デフォルトは `0.01`) : すべての重み行列を初期化するための truncated_normal_initializer の標準偏差です。

num_filters (`int`, *optional*, デフォルトは 32) : 最初の畳み込み層のフィルタ数。ダウンサンプリングのたびに倍になります。

downsampling_ratios (`List[int]`、*任意*、デフォルトは`[2, 2, 4, 5, 5, 8]`) : 各レイヤーのダウンサンプリング比率。

depths (`List[int]`、*任意*、デフォルトは`[3, 3, 3, 3, 3, 3, 8]`) : 各ステージにおけるConvNeXtブロックの数。

hidden_act (`str`、*任意*、デフォルトは`gelu`) : デコーダーで使用する非線形活性化関数（関数または文字列）。例えば、`"gelu"`、`"relu"`、`"silu"`など。

ffn_expansion (`int`、*任意*、デフォルトは 4) : フィードフォワードネットワークの拡張係数。

vae_std (`float`、*任意*、デフォルト値は 0.625) : エンコーダーの潜在変数にノイズが追加される場合（`sample=True`）、サンプルごとのノイズスケールをサンプリングするガウス分布の標準偏差。

これは、VibeVoiceAcousticTokenizerModel の設定を保存するための設定クラスです。指定された引数に基づいて Vibevoice Acoustic Tokenizer モデルをインスタンス化し、モデルのアーキテクチャを定義するために使用されます。デフォルト値で設定をインスタンス化すると、[microsoft/VibeVoice-1.5B](https://huggingface.co/microsoft/VibeVoice-1.5B) と同様の設定が得られます。

設定オブジェクトは [PreTrainedConfig](/docs/transformers/main/ja/main_classes/configuration#transformers.PreTrainedConfig) を継承し、モデルの出力を制御するために使用できます。詳細については、[PreTrainedConfig](/docs/transformers/main/ja/main_classes/configuration#transformers.PreTrainedConfig) のドキュメントを参照してください。

## 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)
```

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

**パラメータ:**

feature_size (`int`、*任意*、デフォルトは 1) : チャネル数。

sampling_rate (`int`、*optional*、デフォルトは 24000) : 音声波形をデジタル化するためのサンプリングレート（ヘルツ (Hz) 表記）。

padding_value (`float`、*任意*、デフォルト値は 0.0) : パディングに使用される値。

normalize_audio (`bool`、*任意*、デフォルトは`True`) : 音声をターゲットのdB FSに正規化するかどうか。

target_dB_FS (`float`、*任意*、デフォルトは -25) : 正規化のターゲット dB FS。

eps (`float`、*任意*、デフォルトは 1e-06) : 正規化時にゼロ除算を避けるための小さな値。

pad_to_multiple_of (`int`、*optional*、デフォルトは 3200) : 音声をこの値の倍数にパディングします。この値は、音響トークナイザーのホップ長、つまりエンコーダーのダウンサンプリング係数に対応する値である必要があります。

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)
```

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

**パラメータ:**

audio (`np.ndarray`、`torch.Tensor`、`list[np.ndarray]`、`list[torch.Tensor]` : 処理対象のシーケンスまたはシーケンスのバッチです。各シーケンスは、numpy配列、torchテンソル、numpy配列のリスト、またはtorchテンソルのリストのいずれかです。

sampling_rate (`int`, *任意*) : `audio` 入力がサンプリングされたレートです。サイレントエラーを防ぐため、forward 呼び出し時に `sampling_rate` を渡すことを強く推奨します。

padding (`bool`、`str`または[PaddingStrategy](/docs/transformers/main/ja/internal/file_utils#transformers.utils.PaddingStrategy)、*省略可能*、デフォルトは`True`) : 返されるシーケンスのパディング戦略を選択します（モデルのパディング側とパディングインデックスに従います）。選択肢は以下の通りです。 - `True`または`'longest'`: バッチ内の最も長いシーケンスまでパディングします（単一のシーケンスのみが提供された場合は、パディングを行いません）。 - `'max_length'`: 引数`max_length`で指定された最大長までパディングします。この引数が指定されていない場合は、モデルが受け入れ可能な最大入力長までパディングします。 - `False`または`'do_not_pad'`（デフォルト）: パディングを行いません（つまり、長さが異なるシーケンスのバッチを出力できます）。

pad_to_multiple_of (`int`, *optional*) : 設定されている場合、シーケンスを指定された値の倍数にパディングします。未指定の場合は、`self.pad_to_multiple_of` がデフォルトとして使用されます。

## VibeVoiceAcousticTokenizerModel[[transformers.VibeVoiceAcousticTokenizerModel]]

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

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

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

**パラメータ:**

config ([VibeVoiceAcousticTokenizerConfig](/docs/transformers/main/ja/model_doc/vibevoice_acoustic_tokenizer#transformers.VibeVoiceAcousticTokenizerConfig)) : モデルのパラメータをすべて含むモデル設定クラスです。設定ファイルで初期化しても、モデルに関連する重みは読み込まれず、設定のみが読み込まれます。モデルの重みをロードするには、[from_pretrained()](/docs/transformers/main/ja/main_classes/model#transformers.PreTrainedModel.from_pretrained) メソッドを確認してください。

エンコーダーとデコーダーを備えた、連続的な音響トークン用の VibeVoice 音響トークナイザー。

このモデルは [PreTrainedModel](/docs/transformers/main/ja/main_classes/model#transformers.PreTrainedModel) を継承しています。ライブラリがすべてのモデルに対して実装している汎用的なメソッド（ダウンロードや保存、入力埋め込みのリサイズ、ヘッドのプルーニングなど）については、スーパークラスのドキュメントを参照してください。

このモデルは、PyTorchの[torch.nn.Module](https://pytorch.org/docs/stable/nn.html#torch.nn.Module)のサブクラスでもあります。通常のPyTorch Moduleとして使用し、一般的な使用方法や動作に関する詳細については、PyTorchのドキュメントを参照してください。

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

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

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

**パラメータ:**

input_values (`torch.FloatTensor`、形状 `(batch_size, channels, sequence_length)`) : 潜在表現にエンコードされる入力音声波形。

padding_cache (`VibeVoiceAcousticTokenizerConv1dPaddingCache`, *任意*) : ストリーミングモードで、レイヤー間で畳み込みの状態を維持するためのキャッシュオブジェクト。

use_cache (`bool`, *任意*) : 畳み込み状態のキャッシュを使用するかどうか。

sample (`bool`, *optional*) : latents にガウスノイズを追加するかどうか（σ-VAE: ノイズのスケールはバッチ項目ごとに N(0, `config.vae_std`) から抽出されます）。False の場合、エンコーダーの出力がそのまま返されます。

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

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

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

**パラメータ:**

latents (`torch.FloatTensor`、形状 `(batch_size, channels, sequence_length)`) : 音声にデコードされる入力潜在表現。

padding_cache (`VibeVoiceAcousticTokenizerConv1dPaddingCache`, *任意*) : ストリーミングモードで、レイヤー間で畳み込みの状態を維持するためのキャッシュオブジェクト。

use_cache (`bool`, *任意*) : 畳み込み状態のキャッシュを使用するかどうか。

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

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

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

**パラメータ:**

input_values (`torch.FloatTensor`、形状 `(batch_size, channels, sequence_length)`) : 潜在表現にエンコードされる入力音声波形。

padding_cache (`VibeVoiceAcousticTokenizerConv1dPaddingCache`, *任意*) : ストリーミングモードで、レイヤー間で畳み込みの状態を維持するためのキャッシュオブジェクトです。デコーダーでのみ使用されることに注意してください。

use_cache (`bool`, *任意*) : 畳み込み状態のキャッシュを使用するかどうか。

sample (`bool`, *optional*) : latents にガウスノイズを追加するかどうか（σ-VAE: ノイズのスケールはバッチ項目ごとに N(0, `config.vae_std`) から抽出されます）。False の場合、エンコーダーの出力がそのまま返されます。

[VibeVoiceAcousticTokenizerModel](/docs/transformers/main/ja/model_doc/vibevoice_acoustic_tokenizer#transformers.VibeVoiceAcousticTokenizerModel)のforwardメソッドは、`__call__`特殊メソッドをオーバーライドします。

この関数内でフォワードパスの手順を定義する必要がありますが、その後、この関数ではなく`Module`インスタンスを呼び出すべきです。前者は前処理と後処理の実行を適切に処理するのに対し、後者はそれらを無視してしまいます。

## VibeVoiceAcousticTokenizerEncoderModel[[transformers.VibeVoiceAcousticTokenizerEncoderModel]]

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

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

[ソース](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)
```

[ソース](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)
```

[ソース](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)
```

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

