# Pocket TTS 音声トークナイザー

## 概要

[Pocket TTS](https://huggingface.co/kyutai/pocket-tts)のオーディオトークナイザー: [Mimi](./mimi)のアーキテクチャ(SEANetの畳み込みと、各側に小さな因果トランスフォーマー)を持つコーデックで、その残差ベクトル量子化器は、[Continuous Audio Language Models](https://huggingface.co/papers/2509.06926)のVAE-GANである連続的な32次元ボトルネックに置き換えられています。24 kHzのオーディオを12.5 Hzの潜在変数に変換し、逆変換も可能です。エンコーダーとデコーダーは個別に読み込むことができます([PocketTTSAudioTokenizerEncoderModel](/docs/transformers/main/ja/model_doc/pocket_tts_audio_tokenizer#transformers.PocketTTSAudioTokenizerEncoderModel)、[PocketTTSAudioTokenizerDecoderModel](/docs/transformers/main/ja/model_doc/pocket_tts_audio_tokenizer#transformers.PocketTTSAudioTokenizerDecoderModel))。[PocketTTSProcessor](/docs/transformers/main/ja/model_doc/pocket_tts#transformers.PocketTTSProcessor)の`audio_tokenizer`として機能し、すべてのPocket TTSチェックポイントで共有されています。プロセッサはこれを使用して音声プロンプトをエンコードし、生成された潜在変数をデコードします。

このモデルは [Eustache Le Bihan](https://huggingface.co/eustlb) によって提供されました。元のコードは [kyutai-labs/pocket-tts](https://github.com/kyutai-labs/pocket-tts) です。

## 使用方法

```python
from datasets import Audio, load_dataset
from transformers import AutoFeatureExtractor, AutoModel

model = AutoModel.from_pretrained("eustlb/pocket-tts-audio-tokenizer", device_map="auto")
feature_extractor = AutoFeatureExtractor.from_pretrained("eustlb/pocket-tts-audio-tokenizer")

dataset = load_dataset("hf-internal-testing/librispeech_asr_dummy", "clean", split="validation")
dataset = dataset.cast_column("audio", Audio(sampling_rate=24000))
inputs = feature_extractor(dataset[0]["audio"]["array"], sampling_rate=24000, return_tensors="pt").to(model.device)

latents = model.encode(**inputs).latents
audio_values = model.decode(latents).audio_values
```

## PocketTTSAudioTokenizerConfig[[transformers.PocketTTSAudioTokenizerConfig]]

#### transformers.PocketTTSAudioTokenizerConfig[[transformers.PocketTTSAudioTokenizerConfig]]

```python
transformers.PocketTTSAudioTokenizerConfig(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, sampling_rate: int = 24000, audio_channels: int = 1, hidden_size: int = 512, num_filters: int = 64, num_residual_layers: int = 1, upsampling_ratios: list[int] | None = None, kernel_size: int = 7, last_kernel_size: int = 3, residual_kernel_size: int = 3, dilation_growth_rate: int = 2, use_causal_conv: bool = True, pad_mode: str = 'constant', compress: int = 2, trim_right_ratio: float = 1.0, use_conv_shortcut: bool = False, upsample_groups: int = 512, num_hidden_layers: int = 2, intermediate_size: int = 2048, num_attention_heads: int = 8, num_key_value_heads: int = 8, head_dim: int | None = None, hidden_act: str = 'gelu_pytorch_tanh', max_position_embeddings: int = 8000, initializer_range: float = 0.02, norm_eps: float = 1e-05, use_cache: bool = False, use_streaming: bool = False, rope_parameters: transformers.modeling_rope_utils.RopeParameters | dict | None = None, sliding_window: int = 250, attention_dropout: float | int = 0.0, layer_scale_initial_scale: float = 0.01, attention_bias: bool = False, latent_stride: int = 16, latent_dim: int = 32)
```

[ソース](https://github.com/huggingface/transformers/blob/main/src/transformers/models/pocket_tts_audio_tokenizer/configuration_pocket_tts_audio_tokenizer.py#L38)

**パラメータ:**

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

audio_channels (`int`、*optional*、デフォルトは 1) : 音声データのチャネル数です。公開されているチェックポイントおよびこの実装はモノラルです。

hidden_size (`int`、*任意*、デフォルトは`512`) : 隠れ表現の次元数。

num_filters (`int`、*optional*、デフォルトは 64) : エンコーダーの最初の `PocketTTSAudioTokenizerConv1d` レイヤーの畳み込みカーネルの数。

num_residual_layers (`int`、*任意*、デフォルトは 1) : 残差層の数。

upsampling_ratios (`list[int]`, *optional*) : デコーダーの転置畳み込みのカーネルサイズとストライドの比率。エンコーダーはこれらを逆順で使用します。指定しない場合、デフォルトは`[6, 5, 4]`です。

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

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

residual_kernel_size (`int`、*optional*、デフォルトは 3) : 残差層のカーネルサイズ。

dilation_growth_rate (`int`、*optional*、デフォルトは 2) : 各レイヤーごとに dilation をどれだけ増加させるかを指定します。

use_causal_conv (`bool`、*任意*、デフォルトは`True`) : 完全因果畳み込みを使用するかどうか。

pad_mode (`str`、*任意*、デフォルトは`"constant"`) : 畳み込みのパディングモード。

compress (`int`、*任意*、デフォルトは 2) : 残差ブランチにおける次元削減後の次元数。

trim_right_ratio (`float`、*任意*、デフォルト値は 1.0) : `use_causal_conv = True` の設定下で、転置畳み込みの右側でトリミングを行う比率です。1.0 に等しい場合、すべてのトリミングが右側で行われることを意味します。

use_conv_shortcut (`bool`、*任意*、デフォルトは`False`) : SEANetの残差ブロックのスキップ接続に畳み込みを使用するかどうか。公開されているチェックポイントでは使用されていません。

upsample_groups (`int`、*optional*、デフォルトは 512) : SEANet レートに潜変数をアップサンプリングする転置畳み込みのグループ数。

num_hidden_layers (`int`、*任意*、デフォルトは `2`) : Transformer デコーダーの隠れ層の数。

intermediate_size (`int`、*任意*、デフォルトは`2048`) : MLP 表現の次元数。

num_attention_heads (`int`、*任意*、デフォルトは `8`) : Transformer デコーダーの各アテンション層におけるアテンションヘッドの数。

num_key_value_heads (`int`, *optional*, デフォルトは `8`) : Grouped Query Attention を実装するために使用する key_value ヘッドの数です。`num_key_value_heads=num_attention_heads` の場合、モデルは Multi Head Attention (MHA) を使用し、`num_key_value_heads=1` の場合は Multi Query Attention (MQA) を使用し、それ以外の場合は GQA が使用されます。マルチヘッドのチェックポイントを GQA のチェックポイントに変換する際は、各グループの key ヘッドと value ヘッドは、そのグループ内の元のすべてのヘッドを平均プーリングして構築する必要があります。詳細については、[この論文](https://huggingface.co/papers/2305.13245)を参照してください。指定されない場合、デフォルトで `num_attention_heads` が使用されます。

head_dim (`int`, *optional*) : アテンションヘッドの次元です。None の場合、hidden_size // num_attention_heads がデフォルトとして使用されます。

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

max_position_embeddings (`int`、*optional*、デフォルトは`8000`) : このモデルが使用される可能性のある最大シーケンス長。

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

norm_eps (`float`、*任意*、デフォルトは`1e-05`) : Layer Normalization 層で使用する epsilon。

use_cache (`bool`, *任意*, デフォルトは `False`) : モデルが最後のキー/バリューアテンションを返すかどうかを指定します（すべてのモデルでサポートされているわけではありません）。`config.is_decoder=True` の場合、またはモデルがデコーダー専用の生成モデルである場合にのみ関連します。

use_streaming (`bool`、*任意*、デフォルトは`False`) : エンコーダーがデフォルトでストリーミングを行うかどうかです。この場合、次の呼び出しに渡すためのパディングキャッシュとキーバリューキャッシュを返します。

rope_parameters (`Union[~modeling_rope_utils.RopeParameters, dict]`, *optional*) : RoPE 埋め込みの設定パラメータを含む辞書です。この辞書には `rope_theta` の値が含まれていなければならず、より長い `max_position_embeddings` で RoPE を使用する場合、スケーリングに使用されるパラメータが任意で含まれます。

sliding_window (`int`、*任意*、デフォルトは`250`) : スライディングウィンドウアテンションのウィンドウサイズ。`None`の場合、スライディングウィンドウは適用されません。

attention_dropout (`Union[float, int]`、*任意*、デフォルトは`0.0`) : 注意確率のドロップアウト率。

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

attention_bias (`bool`、*任意*、デフォルトは`False`) : セルフアテンションにおけるクエリ、キー、バリュー、出力の投影層でバイアスを使用するかどうか。

latent_stride (`int`、*optional*、デフォルトは 16) : 1 つの潜在フレームあたりの SEANet フレーム数: SEANet の出力を潜在変数にダウンサンプリングするエンコーダーの畳み込み、およびそれを元に戻してアップサンプリングするデコーダーの転置畳み込みのストライドです。潜在フレームは `prod(upsampling_ratios) * latent_stride` 個のオーディオサンプル (`frame_size`、公開されているチェックポイントでは 1920) をカバーします。

latent_dim (`int`、*optional*、デフォルト値は 32) : 連続潜在変数の次元数です。Mimi の残差ベクトル量子化器は、このボトルネックに置き換えられます。エンコーダーのダウンサンプリング畳み込みは `latent_dim` チャネルを出力し、デコーダーはアップサンプリングの前にそれらを `hidden_size` に射影します。

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

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

例:

```python
>>> from transformers import PocketTTSAudioTokenizerConfig, PocketTTSAudioTokenizerModel

>>> # a full codec, and its decoder alone
>>> model = PocketTTSAudioTokenizerModel(PocketTTSAudioTokenizerConfig())
>>> decoder_only = PocketTTSAudioTokenizerModel(PocketTTSAudioTokenizerConfig(encoder_config=None))
```

## PocketTTSAudioTokenizerEncoderConfig[[transformers.PocketTTSAudioTokenizerEncoderConfig]]

#### transformers.PocketTTSAudioTokenizerEncoderConfig[[transformers.PocketTTSAudioTokenizerEncoderConfig]]

```python
transformers.PocketTTSAudioTokenizerEncoderConfig(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, sampling_rate: int = 24000, audio_channels: int = 1, hidden_size: int = 512, num_filters: int = 64, num_residual_layers: int = 1, upsampling_ratios: list[int] | None = None, kernel_size: int = 7, last_kernel_size: int = 3, residual_kernel_size: int = 3, dilation_growth_rate: int = 2, use_causal_conv: bool = True, pad_mode: str = 'constant', compress: int = 2, trim_right_ratio: float = 1.0, use_conv_shortcut: bool = False, upsample_groups: int = 512, num_hidden_layers: int = 2, intermediate_size: int = 2048, num_attention_heads: int = 8, num_key_value_heads: int = 8, head_dim: int | None = None, hidden_act: str = 'gelu_pytorch_tanh', max_position_embeddings: int = 8000, initializer_range: float = 0.02, norm_eps: float = 1e-05, use_cache: bool = False, use_streaming: bool = False, rope_parameters: transformers.modeling_rope_utils.RopeParameters | dict | None = None, sliding_window: int = 250, attention_dropout: float | int = 0.0, layer_scale_initial_scale: float = 0.01, attention_bias: bool = False, latent_stride: int = 16, latent_dim: int = 32)
```

[ソース](https://github.com/huggingface/transformers/blob/main/src/transformers/models/pocket_tts_audio_tokenizer/configuration_pocket_tts_audio_tokenizer.py#L214)

PocketTTSAudioTokenizer のエンコーダー部分（SEANet エンコーダー、エンコーダー Transformer、ダウンサンプリング）の設定です。[PocketTTSAudioTokenizerConfig](/docs/transformers/main/ja/model_doc/pocket_tts_audio_tokenizer#transformers.PocketTTSAudioTokenizerConfig) とすべてのフィールドを共有しているため（引数についてはそのドキュメントを参照してください）、完全な PocketTTSAudioTokenizer チェックポイントから直接読み込むことができます。

## PocketTTSAudioTokenizerDecoderConfig[[transformers.PocketTTSAudioTokenizerDecoderConfig]]

#### transformers.PocketTTSAudioTokenizerDecoderConfig[[transformers.PocketTTSAudioTokenizerDecoderConfig]]

```python
transformers.PocketTTSAudioTokenizerDecoderConfig(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, sampling_rate: int = 24000, audio_channels: int = 1, hidden_size: int = 512, num_filters: int = 64, num_residual_layers: int = 1, upsampling_ratios: list[int] | None = None, kernel_size: int = 7, last_kernel_size: int = 3, residual_kernel_size: int = 3, dilation_growth_rate: int = 2, use_causal_conv: bool = True, pad_mode: str = 'constant', compress: int = 2, trim_right_ratio: float = 1.0, use_conv_shortcut: bool = False, upsample_groups: int = 512, num_hidden_layers: int = 2, intermediate_size: int = 2048, num_attention_heads: int = 8, num_key_value_heads: int = 8, head_dim: int | None = None, hidden_act: str = 'gelu_pytorch_tanh', max_position_embeddings: int = 8000, initializer_range: float = 0.02, norm_eps: float = 1e-05, use_cache: bool = False, use_streaming: bool = False, rope_parameters: transformers.modeling_rope_utils.RopeParameters | dict | None = None, sliding_window: int = 250, attention_dropout: float | int = 0.0, layer_scale_initial_scale: float = 0.01, attention_bias: bool = False, latent_stride: int = 16, latent_dim: int = 32)
```

[ソース](https://github.com/huggingface/transformers/blob/main/src/transformers/models/pocket_tts_audio_tokenizer/configuration_pocket_tts_audio_tokenizer.py#L242)

PocketTTSAudioTokenizer のデコーダー部分（アップサンプリング、デコーダー Transformer、SEANet デコーダー）の設定です。[PocketTTSAudioTokenizerConfig](/docs/transformers/main/ja/model_doc/pocket_tts_audio_tokenizer#transformers.PocketTTSAudioTokenizerConfig) とすべてのフィールドを共有しているため（引数についてはそのドキュメントを参照してください）、完全な PocketTTSAudioTokenizer チェックポイントから直接読み込むことができます。

## PocketTTSAudioTokenizerModel[[transformers.PocketTTSAudioTokenizerModel]]

#### transformers.PocketTTSAudioTokenizerModel[[transformers.PocketTTSAudioTokenizerModel]]

```python
transformers.PocketTTSAudioTokenizerModel(config: PocketTTSAudioTokenizerConfig)
```

[ソース](https://github.com/huggingface/transformers/blob/main/src/transformers/models/pocket_tts_audio_tokenizer/modeling_pocket_tts_audio_tokenizer.py#L1179)

**パラメータ:**

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

Pocket TTSオーディオトークナイザー: Mimiアーキテクチャのコーデックで、12.5 Hzの連続的な32次元潜在変数(Continuous Audio Language ModelsのVAE-GAN)を使用し、24 kHzのオーディオを潜在変数に変換し、元に戻します。

このモデルは [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.PocketTTSAudioTokenizerModel.encode]]

```python
encode(input_values: Tensor, padding_mask: typing.Optional[torch.Tensor] = None, encoder_past_key_values: transformers.cache_utils.Cache | None = None, padding_cache: transformers.models.pocket_tts_audio_tokenizer.modeling_pocket_tts_audio_tokenizer.PocketTTSAudioTokenizerConv1dPaddingCache | None = None, use_streaming: bool | None = None, **kwargs: *<class 'transformers.utils.generic.TransformersKwargs'>)
```

[ソース](https://github.com/huggingface/transformers/blob/main/src/transformers/models/pocket_tts_audio_tokenizer/modeling_pocket_tts_audio_tokenizer.py#L1189)

**パラメータ:**

input_values (`torch.Tensor`、形状 `(batch_size, audio_channels, num_samples)`) : [EncodecFeatureExtractor](/docs/transformers/main/ja/model_doc/encodec#transformers.EncodecFeatureExtractor) が返すオーディオ波形です。元の処理と同様に、`config.frame_size` サンプルの倍数になるようゼロパディングが適用されています。

padding_mask (`torch.Tensor`、形状 `(batch_size, num_samples)`、*任意*) : 音声サンプル(`1`)とパディング(`0`)を区別するマスク。これから`latents_mask`が計算されます。

encoder_past_key_values (`Cache`, *optional*) : ストリーミング処理において、前回の呼び出しから返されるエンコーダトランスフォーマーのキーバリューキャッシュ。

padding_cache (`PocketTTSAudioTokenizerConv1dPaddingCache`, *任意*) : ストリーミング処理において、前回の呼び出しから返される、エンコーダーの因果的畳み込みのパディングキャッシュです。

use_streaming (`bool`, *任意*) : ストリーミングモードでエンコードし、次の呼び出しに渡すキャッシュを返すかどうか。

`(batch_size, num_frames, latent_dim)` の形状を持つ連続的な潜在変数にオーディオをエンコードします。[PocketTTSAudioTokenizerEncoderModel.forward()](/docs/transformers/main/ja/model_doc/pocket_tts_audio_tokenizer#transformers.PocketTTSAudioTokenizerEncoderModel.forward) の潜在変数で、フレームが先頭に来る形式です。

#### decode[[transformers.PocketTTSAudioTokenizerModel.decode]]

```python
decode(latents: Tensor, decoder_past_key_values: transformers.cache_utils.Cache | None = None, **kwargs: *<class 'transformers.utils.generic.TransformersKwargs'>)
```

[ソース](https://github.com/huggingface/transformers/blob/main/src/transformers/models/pocket_tts_audio_tokenizer/modeling_pocket_tts_audio_tokenizer.py#L1244)

**パラメータ:**

latents (`torch.Tensor`、shape `(batch_size, num_frames, latent_dim)`) : デコード対象の連続的な潜在変数。1フレームあたり `config.frame_size` 個の音声サンプルに対応します。

decoder_past_key_values (`Cache`, *optional*) : デコーダートランスフォーマーのキーバリューキャッシュ。チャンクごとにデコードする場合、前回の呼び出しで返されるものです。

連続的な潜在変数を音声にデコードします。潜在変数は`hidden_size`に射影された後、[PocketTTSAudioTokenizerDecoderModel.forward()](/docs/transformers/main/ja/model_doc/pocket_tts_audio_tokenizer#transformers.PocketTTSAudioTokenizerDecoderModel.forward)によってデコードされます。

#### forward[[transformers.PocketTTSAudioTokenizerModel.forward]]

```python
forward(input_values: Tensor, padding_mask: typing.Optional[torch.Tensor] = None, **kwargs: *<class 'transformers.utils.generic.TransformersKwargs'>)
```

[ソース](https://github.com/huggingface/transformers/blob/main/src/transformers/models/pocket_tts_audio_tokenizer/modeling_pocket_tts_audio_tokenizer.py#L1272)

**パラメータ:**

input_values (`torch.Tensor`、形状 `(batch_size, audio_channels, num_samples)`) : [EncodecFeatureExtractor](/docs/transformers/main/ja/model_doc/encodec#transformers.EncodecFeatureExtractor) が返すオーディオ波形。

padding_mask (`torch.Tensor`、形状 `(batch_size, num_samples)`、*任意*) : 音声サンプル(`1`)とパディング(`0`)を区別するためのマスク。

**戻り値:** `PocketTTSAudioTokenizerOutput` または `tuple(torch.Tensor)`

`PocketTTSAudioTokenizerOutput`、または`torch.Tensor`のタプル（`return_dict=False`が渡された場合、または`config.return_dict=False`の場合）。構成要素は、設定（[PocketTTSAudioTokenizerConfig](/docs/transformers/main/ja/model_doc/pocket_tts_audio_tokenizer#transformers.PocketTTSAudioTokenizerConfig)）と入力に応じて異なります。

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

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

- **latents** (`torch.Tensor`、形状 `(batch_size, num_frames, latent_dim)`) -- 音声の連続的な潜在変数。
- **latents_mask** (`torch.LongTensor`、形状 `(batch_size, num_frames)`、*任意*) -- 音声サンプル(`1`)から計算された潜在フレームのマスク(パディング(`0`)ではなく)。
- **audio_values** (`torch.Tensor`、形状 `(batch_size, audio_channels, num_samples)`) -- 潜在変数から再構成された音声波形です。
- **hidden_states** (`tuple(torch.Tensor)`、*optional*、`output_hidden_states=True` の場合に返されます) -- エンコーダの Transformer の各層の出力およびその入力の隠れ状態。
- **attentions** (`tuple(torch.Tensor)`、*optional*、`output_attentions=True` の場合のみ返されます) -- 各エンコーダ Transformer レイヤーの注意重み。

## PocketTTSAudioTokenizerEncoderModel[[transformers.PocketTTSAudioTokenizerEncoderModel]]

#### transformers.PocketTTSAudioTokenizerEncoderModel[[transformers.PocketTTSAudioTokenizerEncoderModel]]

```python
transformers.PocketTTSAudioTokenizerEncoderModel(config: PocketTTSAudioTokenizerEncoderConfig)
```

[ソース](https://github.com/huggingface/transformers/blob/main/src/transformers/models/pocket_tts_audio_tokenizer/modeling_pocket_tts_audio_tokenizer.py#L879)

**パラメータ:**

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

PocketTTSAudioTokenizer のエンコーダー部分: SEANet エンコーダー、エンコーダー Transformer、およびダウンサンプリング。オーディオから連続的な潜在変数への変換を行います。

このモデルは [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のドキュメントを参照してください。

#### forward[[transformers.PocketTTSAudioTokenizerEncoderModel.forward]]

```python
forward(input_values: Tensor, padding_mask: typing.Optional[torch.Tensor] = None, past_key_values: transformers.cache_utils.Cache | None = None, padding_cache: transformers.models.pocket_tts_audio_tokenizer.modeling_pocket_tts_audio_tokenizer.PocketTTSAudioTokenizerConv1dPaddingCache | None = None, use_streaming: bool | None = None, **kwargs: *<class 'transformers.utils.generic.TransformersKwargs'>)
```

[ソース](https://github.com/huggingface/transformers/blob/main/src/transformers/models/pocket_tts_audio_tokenizer/modeling_pocket_tts_audio_tokenizer.py#L940)

**パラメータ:**

input_values (`torch.Tensor`、形状 `(batch_size, channels, sequence_length)`) : 入力音声波形の浮動小数点値。

padding_mask (`torch.Tensor`、形状 `(batch_size, channels, sequence_length)`、*任意*) : パディングにより無視されるべき入力を示します。要素は、*マスクされていない*場合は 1、*マスクされている*場合は 0 です。

past_key_values (`Cache`, *optional*) : エンコーダのtransformerの事前計算済みhidden-states（self-attentionブロック内のkeyとvalue）。ストリーミングエンコードの高速化に使用されます。

padding_cache (`PocketTTSAudioTokenizerConv1dPaddingCache`, *任意*) : ストリーミングエンコーディングに使用される、因果的畳み込みのパディングキャッシュです。

use_streaming (`bool`, *任意*) : ストリーミングモードでエンコードし、次の呼び出しに渡すキャッシュを返すかどうか。

入力オーディオ波形を、`(batch_size, latent_dim, frames)` の形状を持つ連続的な潜在変数にエンコードします。 --

**戻り値:** `PocketTTSAudioTokenizerEncoderModelOutput` または `tuple(torch.Tensor)`

`PocketTTSAudioTokenizerEncoderModelOutput`、または`torch.Tensor`のタプル（`return_dict=False`が渡された場合、または`config.return_dict=False`の場合）。設定（[PocketTTSAudioTokenizerConfig](/docs/transformers/main/ja/model_doc/pocket_tts_audio_tokenizer#transformers.PocketTTSAudioTokenizerConfig)）と入力に応じて、さまざまな要素で構成されます。

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

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

- **latents** (`torch.Tensor`、形状 `(batch_size, latent_dim, frames)`) -- 音声の連続的な潜在変数です。`config.frame_size` 個の音声サンプルごとに1フレームです。
- **past_key_values** (`Cache`、*任意*) -- ストリーミング時に返される、エンコーダのtransformerにおける自己注意ブロックの事前計算済み隠れ状態（キーとバリュー）。
- **padding_cache** (`PocketTTSAudioTokenizerConv1dPaddingCache`、*optional*) -- PocketTTSAudioTokenizerConv1d の因果的畳み込みにおいて、キャッシュパディングによるストリーミング処理をサポートするためのパディングキャッシュです。
- **hidden_states** (`tuple(torch.Tensor)`、*optional*、`output_hidden_states=True` の場合に返されます) -- エンコーダの Transformer の各層の出力およびその入力の隠れ状態。
- **attentions** (`tuple(torch.Tensor)`、*optional*、`output_attentions=True` の場合のみ返されます) -- 各エンコーダ Transformer レイヤーの注意重み。

## PocketTTSAudioTokenizerDecoderModel[[transformers.PocketTTSAudioTokenizerDecoderModel]]

#### transformers.PocketTTSAudioTokenizerDecoderModel[[transformers.PocketTTSAudioTokenizerDecoderModel]]

```python
transformers.PocketTTSAudioTokenizerDecoderModel(config: PocketTTSAudioTokenizerDecoderConfig)
```

[ソース](https://github.com/huggingface/transformers/blob/main/src/transformers/models/pocket_tts_audio_tokenizer/modeling_pocket_tts_audio_tokenizer.py#L1109)

**パラメータ:**

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

PocketTTSAudioTokenizer のデコーダー部分: 連続的な潜在変数から音声への変換を行うアップサンプリング、デコーダー Transformer、および SEANet デコーダー。

このモデルは [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のドキュメントを参照してください。

#### forward[[transformers.PocketTTSAudioTokenizerDecoderModel.forward]]

```python
forward(latents: Tensor, padding_mask: typing.Optional[torch.Tensor] = None, past_key_values: transformers.cache_utils.Cache | None = None, **kwargs: *<class 'transformers.utils.generic.TransformersKwargs'>)
```

[ソース](https://github.com/huggingface/transformers/blob/main/src/transformers/models/pocket_tts_audio_tokenizer/modeling_pocket_tts_audio_tokenizer.py#L1136)

**パラメータ:**

latents (`torch.Tensor`、形状 `(batch_size, hidden_size, frames)`) : [PocketTTSAudioTokenizerModel.decode()](/docs/transformers/main/ja/model_doc/pocket_tts_audio_tokenizer#transformers.PocketTTSAudioTokenizerModel.decode) で計算された、デコード対象の連続的な潜在変数。

padding_mask (`torch.Tensor`、形状 `(batch_size, channels, sequence_length)`、*任意*) : パディングにより無視されるべき入力を示します。要素は、*マスクされていない*場合は 1、*マスクされている*場合は 0 です。

past_key_values (`Cache`, *optional*) : デコーダのTransformerにおける自己注意ブロックの事前計算済み隠れ状態（キーとバリュー）。ストリーミングデコーディングを高速化するために使用されます。

…

input。その場合、末尾の余分なステップは切り捨てることができます。--

**戻り値:** `PocketTTSAudioTokenizerDecoderOutput` または `tuple(torch.Tensor)`

`PocketTTSAudioTokenizerDecoderOutput`、または`torch.Tensor`のタプル（`return_dict=False`が渡された場合、または`config.return_dict=False`の場合）。構成要素は、設定（[PocketTTSAudioTokenizerConfig](/docs/transformers/main/ja/model_doc/pocket_tts_audio_tokenizer#transformers.PocketTTSAudioTokenizerConfig)）と入力によって異なります。

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

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

- **audio_values** (`torch.Tensor`、形状 `(batch_size, audio_channels, num_samples)`、*任意*) -- PocketTTSAudioTokenizer のデコーダー部分を使用して取得したデコード済みオーディオ値。
- **decoder_past_key_values** (`Cache`、*任意*) -- 自己注意ブロックのキーとバリューの事前計算済み隠れ状態です。デコーダトランスフォーマーの逐次デコードを高速化するために使用できます。通常、`use_cache=True` または `config.use_cache=True` の場合、モデルがデコードの以前の段階で返す `past_key_values` で構成されます。

  モデルは、入力として与えられたのと同じキャッシュ形式を出力します。

  `past_key_values`を使用する場合、ユーザーは任意で、最後の`audio_values`または`audio_codes（このモデルに過去のキーバリュー状態が与えられていないもの）のみを入力できます。
- **hidden_states** (`tuple(torch.Tensor)`、*optional*、`output_hidden_states=True` の場合のみ返されます) -- デコーダの Transformer の各層の出力およびその入力の隠れ状態です。
- **attentions** (`tuple(torch.Tensor)`、*optional*、`output_attentions=True` の場合のみ返されます) -- 各デコーダ Transformer レイヤーの注意重み。

