Transformers documentation

VibeVoice Acoustic Tokenizer

You are viewing main version, which requires installation from source. If you'd like regular pip install, checkout the latest stable version (v5.22.2).
Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

Mô hình này được công bố trên HF papers vào ngày 2025-08-26 và được đóng góp cho Hugging Face Transformers vào ngày 2026-02-06.

VibeVoice Acoustic Tokenizer

Tổng quan

VibeVoice là một khung làm việc mới để tổng hợp giọng nói độ trung thực cao, dạng dài với nhiều người nói bằng cách áp dụng phương pháp khuếch tán token tiếp theo trong cấu trúc Mô hình Ngôn ngữ Lớn (LLM). Nó được thiết kế để nắm bắt “vibe” hội thoại chân thực và đặc biệt phù hợp để tạo nội dung âm thanh như podcast và sách nói nhiều người tham gia.

Một tính năng chính của VibeVoice là việc sử dụng hai bộ mã hóa âm thanh liên tục, một để trích xuất các đặc trưng âm học và một để trích xuất các đặc trưng ngữ nghĩa.

Một checkpoint mô hình có sẵn tại microsoft/VibeVoice-AcousticTokenizer

Mô hình này được đóng góp bởi Eric Bezzam.

Kiến trúc

Kiến trúc là một cấu trúc encoder-decoder đối xứng gương. Encoder sử dụng thiết kế phân cấp với 7 giai đoạn các khối kiểu ConvNeXt, trong đó dùng các phép convolution causal chiều sâu 1D để xử lý streaming hiệu quả. Sáu lớp downsampling đạt tỷ lệ downsampling tích lũy 3200X từ đầu vào 24kHz, cho ra 7,5 token/khung mỗi giây. Mỗi thành phần encoder/decoder có khoảng 340M tham số, tổng cộng khoảng 680M tham số. Mục tiêu huấn luyện tuân theo DAC, bao gồm cả thiết kế discriminator và loss của nó.

Acoustic Tokenizer áp dụng các nguyên lý của Variational Autoencoder (VAE). Encoder ánh xạ âm thanh đầu vào vào các tham số của một phân phối ẩn, cụ thể là giá trị trung bình. Cùng với độ lệch chuẩn cố định, một vector ẩn sau đó được lấy mẫu bằng cách sử dụng kỹ thuật reparameterization. Vui lòng tham khảo báo cáo kỹ thuật để biết thêm chi tiết.

Cách sử dụng

Dưới đây là ví dụ về cách sử dụng để mã hóa và giải mã âm thanh:

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

Đối với ASR hoặc TTS dạng streaming, nơi cần theo dõi các trạng thái được lưu cache, tham số use_cache có thể được sử dụng khi mã hóa hoặc giải mã âm thanh:

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

lớp transformers.VibeVoiceAcousticTokenizerConfig

< >

( transformers_version: str | None = Nonearchitectures: list[str] | None = Noneoutput_hidden_states: bool | None = Falsereturn_dict: bool | None = Truedtype: str | torch.dtype | None = Nonechunk_size_feed_forward: int = 0is_encoder_decoder: bool = Falseid2label: dict[int, str] | dict[str, str] | None = Nonelabel2id: dict[str, int] | dict[str, str] | None = Noneproblem_type: Literal['regression', 'single_label_classification', 'multi_label_classification'] | None = Nonechannels: int = 1hidden_size: int = 64kernel_size: int = 7rms_norm_eps: float = 1e-05layer_scale_init_value: float = 1e-06initializer_range: float = 0.01num_filters: int = 32downsampling_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 = 4vae_std: float = 0.625 )

Tham số

  • channels (int, tùy chọn, mặc định là 1) — Số lượng kênh đầu vào.
  • hidden_size (int, tùy chọn, mặc định là 64) — Kích thước của các biểu diễn ẩn.
  • kernel_size (int, tùy chọn, mặc định là 7) — Kích thước kernel cho các lớp tích chập.
  • rms_norm_eps (float, tùy chọn, mặc định là 1e-05) — Giá trị epsilon được sử dụng bởi các lớp chuẩn hóa rms.
  • layer_scale_init_value (float, tuỳ chọn, mặc định là 1e-06) — Hệ số tỷ lệ sử dụng trong các lớp self-attention. 0.1 cho base, 1e-6 cho large. Đặt 0 để vô hiệu hoá layer scale.
  • initializer_range (float, tùy chọn, mặc định là 0.01) — Độ lệch chuẩn của truncated_normal_initializer để khởi tạo tất cả các ma trận trọng số.
  • num_filters (int, tùy chọn, mặc định là 32) — Số lượng bộ lọc trong lớp tích chập ban đầu, và được nhân đôi sau mỗi lần hạ mẫu.
  • downsampling_ratios (List[int], tùy chọn, mặc định là [2, 2, 4, 5, 5, 8]) — Tỷ lệ hạ mẫu cho từng lớp.
  • depths (List[int], tùy chọn, mặc định là [3, 3, 3, 3, 3, 3, 8]) — Số lượng khối ConvNeXt ở mỗi giai đoạn.
  • hidden_act (str, tùy chọn, mặc định là gelu) — Hàm kích hoạt phi tuyến (hàm hoặc chuỗi) trong bộ giải mã. Ví dụ, "gelu", "relu", "silu", v.v.
  • ffn_expansion (int, tùy chọn, mặc định là 4) — Hệ số mở rộng cho mạng truyền thẳng.
  • vae_std (float, tuỳ chọn, mặc định là 0.625) — Độ lệch chuẩn của phân phối Gaussian mà từ đó quy mô nhiễu cho từng mẫu được rút ra khi thêm nhiễu vào các latents của encoder (sample=True).

Đây là lớp cấu hình để lưu trữ cấu hình của một VibeVoiceAcousticTokenizerModel. Nó được sử dụng để khởi tạo một mô hình Vibevoice Acoustic Tokenizer theo các đối số được chỉ định, xác định kiến trúc mô hình. Khởi tạo một cấu hình với các giá trị mặc định sẽ tạo ra một cấu hình tương tự như của microsoft/VibeVoice-1.5B

Các đối tượng cấu hình kế thừa từ PreTrainedConfig và có thể được sử dụng để kiểm soát đầu ra của mô hình. Đọc tài liệu từ PreTrainedConfig để biết thêm thông tin.

Ví dụ:

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

lớp transformers.VibeVoiceAcousticTokenizerEncoderConfig

< >

( transformers_version: str | None = Nonearchitectures: list[str] | None = Noneoutput_hidden_states: bool | None = Falsereturn_dict: bool | None = Truedtype: str | torch.dtype | None = Nonechunk_size_feed_forward: int = 0is_encoder_decoder: bool = Falseid2label: dict[int, str] | dict[str, str] | None = Nonelabel2id: dict[str, int] | dict[str, str] | None = Noneproblem_type: Literal['regression', 'single_label_classification', 'multi_label_classification'] | None = Nonechannels: int = 1hidden_size: int = 64kernel_size: int = 7rms_norm_eps: float = 1e-05layer_scale_init_value: float = 1e-06initializer_range: float = 0.01num_filters: int = 32downsampling_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 = 4vae_std: float = 0.625 )

Tham số

  • channels (int, tùy chọn, mặc định là 1) — Số lượng kênh đầu vào.
  • hidden_size (int, tùy chọn, mặc định là 64) — Kích thước của các biểu diễn ẩn.
  • kernel_size (int, tùy chọn, mặc định là 7) — Kích thước kernel cho các lớp tích chập.
  • rms_norm_eps (float, tùy chọn, mặc định là 1e-05) — Giá trị epsilon được sử dụng bởi các lớp chuẩn hóa rms.
  • layer_scale_init_value (float, tuỳ chọn, mặc định là 1e-06) — Hệ số tỷ lệ sử dụng trong các lớp self-attention. 0.1 cho base, 1e-6 cho large. Đặt 0 để vô hiệu hoá layer scale.
  • initializer_range (float, tùy chọn, mặc định là 0.01) — Độ lệch chuẩn của truncated_normal_initializer để khởi tạo tất cả các ma trận trọng số.
  • num_filters (int, tùy chọn, mặc định là 32) — Số lượng bộ lọc trong lớp tích chập ban đầu, và được nhân đôi sau mỗi lần hạ mẫu.
  • downsampling_ratios (List[int], tùy chọn, mặc định là [2, 2, 4, 5, 5, 8]) — Tỷ lệ hạ mẫu cho từng lớp.
  • depths (List[int], tùy chọn, mặc định là [3, 3, 3, 3, 3, 3, 8]) — Số lượng khối ConvNeXt ở mỗi giai đoạn.
  • hidden_act (str, tùy chọn, mặc định là gelu) — Hàm kích hoạt phi tuyến (hàm hoặc chuỗi) trong bộ giải mã. Ví dụ, "gelu", "relu", "silu", v.v.
  • ffn_expansion (int, tùy chọn, mặc định là 4) — Hệ số mở rộng cho mạng truyền thẳng.
  • vae_std (float, tuỳ chọn, mặc định là 0.625) — Độ lệch chuẩn của phân phối Gaussian mà từ đó quy mô nhiễu cho từng mẫu được rút ra khi thêm nhiễu vào các latents của encoder (sample=True).

Đây là lớp cấu hình để lưu trữ cấu hình của một VibeVoiceAcousticTokenizerModel. Nó được sử dụng để khởi tạo một mô hình Vibevoice Acoustic Tokenizer theo các đối số được chỉ định, xác định kiến trúc mô hình. Khởi tạo một cấu hình với các giá trị mặc định sẽ tạo ra một cấu hình tương tự như của microsoft/VibeVoice-1.5B

Các đối tượng cấu hình kế thừa từ PreTrainedConfig và có thể được sử dụng để kiểm soát đầu ra của mô hình. Đọc tài liệu từ PreTrainedConfig để biết thêm thông tin.

VibeVoiceAcousticTokenizerDecoderConfig

lớp transformers.VibeVoiceAcousticTokenizerDecoderConfig

< >

( transformers_version: str | None = Nonearchitectures: list[str] | None = Noneoutput_hidden_states: bool | None = Falsereturn_dict: bool | None = Truedtype: str | torch.dtype | None = Nonechunk_size_feed_forward: int = 0is_encoder_decoder: bool = Falseid2label: dict[int, str] | dict[str, str] | None = Nonelabel2id: dict[str, int] | dict[str, str] | None = Noneproblem_type: Literal['regression', 'single_label_classification', 'multi_label_classification'] | None = Nonechannels: int = 1hidden_size: int = 64kernel_size: int = 7rms_norm_eps: float = 1e-05layer_scale_init_value: float = 1e-06initializer_range: float = 0.01num_filters: int = 32downsampling_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 = 4vae_std: float = 0.625 )

Tham số

  • channels (int, tùy chọn, mặc định là 1) — Số lượng kênh đầu vào.
  • hidden_size (int, tùy chọn, mặc định là 64) — Kích thước của các biểu diễn ẩn.
  • kernel_size (int, tùy chọn, mặc định là 7) — Kích thước kernel cho các lớp tích chập.
  • rms_norm_eps (float, tùy chọn, mặc định là 1e-05) — Giá trị epsilon được sử dụng bởi các lớp chuẩn hóa rms.
  • layer_scale_init_value (float, tuỳ chọn, mặc định là 1e-06) — Hệ số tỷ lệ sử dụng trong các lớp self-attention. 0.1 cho base, 1e-6 cho large. Đặt 0 để vô hiệu hoá layer scale.
  • initializer_range (float, tùy chọn, mặc định là 0.01) — Độ lệch chuẩn của truncated_normal_initializer để khởi tạo tất cả các ma trận trọng số.
  • num_filters (int, tùy chọn, mặc định là 32) — Số lượng bộ lọc trong lớp tích chập ban đầu, và được nhân đôi sau mỗi lần hạ mẫu.
  • downsampling_ratios (List[int], tùy chọn, mặc định là [2, 2, 4, 5, 5, 8]) — Tỷ lệ hạ mẫu cho từng lớp.
  • depths (List[int], tùy chọn, mặc định là [3, 3, 3, 3, 3, 3, 8]) — Số lượng khối ConvNeXt ở mỗi giai đoạn.
  • hidden_act (str, tùy chọn, mặc định là gelu) — Hàm kích hoạt phi tuyến (hàm hoặc chuỗi) trong bộ giải mã. Ví dụ, "gelu", "relu", "silu", v.v.
  • ffn_expansion (int, tùy chọn, mặc định là 4) — Hệ số mở rộng cho mạng truyền thẳng.
  • vae_std (float, tuỳ chọn, mặc định là 0.625) — Độ lệch chuẩn của phân phối Gaussian mà từ đó quy mô nhiễu cho từng mẫu được rút ra khi thêm nhiễu vào các latents của encoder (sample=True).

Đây là lớp cấu hình để lưu trữ cấu hình của một VibeVoiceAcousticTokenizerModel. Nó được sử dụng để khởi tạo một mô hình Vibevoice Acoustic Tokenizer theo các đối số được chỉ định, xác định kiến trúc mô hình. Khởi tạo một cấu hình với các giá trị mặc định sẽ tạo ra một cấu hình tương tự như của microsoft/VibeVoice-1.5B

Các đối tượng cấu hình kế thừa từ PreTrainedConfig và có thể được sử dụng để kiểm soát đầu ra của mô hình. Đọc tài liệu từ PreTrainedConfig để biết thêm thông tin.

VibeVoiceAcousticTokenizerFeatureExtractor

lớp transformers.VibeVoiceAcousticTokenizerFeatureExtractor

< >

( feature_size = 1sampling_rate = 24000padding_value = 0.0normalize_audio = Truetarget_dB_FS = -25eps = 1e-06pad_to_multiple_of = 3200**kwargs )

Tham số

  • feature_size (int, tùy chọn, mặc định là 1) — Số lượng kênh.
  • sampling_rate (int, tùy chọn, mặc định là 24000) — Tần số lấy mẫu mà theo đó dạng sóng âm thanh cần được số hóa, được biểu diễn bằng hertz (Hz).
  • padding_value (float, tùy chọn, mặc định là 0.0) — Giá trị được sử dụng để đệm.
  • normalize_audio (bool, tùy chọn, mặc định là True) — Có nên chuẩn hóa âm thanh về mức dB FS mục tiêu hay không.
  • target_dB_FS (float, tùy chọn, mặc định là -25) — dB FS mục tiêu để chuẩn hóa.
  • eps (float, tùy chọn, mặc định là 1e-06) — Một giá trị nhỏ để tránh chia cho 0 khi chuẩn hóa.
  • pad_to_multiple_of (int, tuỳ chọn, mặc định là 3200) — Đệm âm thanh đến bội số của giá trị này, giá trị này phải tương ứng với độ dài bước nhảy (hop length) của bộ mã hóa âm học (acoustic tokenizer), tức là hệ số hạ mẫu (downsampling factor) của bộ mã hóa (encoder) của nó.

Tạo bộ trích xuất đặc trưng VibeVoiceAcousticTokenizer.

__call__

< >

( audio: typing.Union[numpy.ndarray, ForwardRef('torch.Tensor'), collections.abc.Sequence[numpy.ndarray], collections.abc.Sequence['torch.Tensor']]sampling_rate: int | None = Nonepadding: bool | str | transformers.utils.generic.PaddingStrategy | None = Truepad_to_multiple_of: int | None = Nonemax_length: int | None = Nonereturn_attention_mask: bool | None = Truereturn_tensors: str | None = 'pt'**kwargs )

Tham số

  • audio (np.ndarray, torch.Tensor, list[np.ndarray], list[torch.Tensor] — Chuỗi hoặc lô các chuỗi cần được xử lý. Mỗi chuỗi có thể là một mảng numpy, một tensor torch, một danh sách các mảng numpy hoặc một danh sách các tensor torch.
  • sampling_rate (int, tùy chọn) — Tần số lấy mẫu mà đầu vào audio được lấy mẫu. Rất khuyến nghị truyền sampling_rate trong lời gọi forward để ngăn các lỗi âm thầm.
  • padding (bool, str hoặc PaddingStrategy, tùy chọn, mặc định là True) — Chọn một chiến lược để đệm các chuỗi trả về (theo phía đệm và chỉ số đệm của mô hình) trong số các lựa chọn sau:
    • True hoặc 'longest': Lấp đầy đến trình tự dài nhất trong lô (hoặc không lấp đầy nếu chỉ có một trình tự được cung cấp).
    • 'max_length': Đệm (pad) đến độ dài tối đa được chỉ định bằng tham số max_length hoặc đến độ dài đầu vào tối đa mà mô hình chấp nhận được nếu tham số đó không được cung cấp.
    • False hoặc 'do_not_pad' (mặc định): Không đệm (tức là có thể xuất ra một lô với các chuỗi có độ dài khác nhau).
  • pad_to_multiple_of (int, tùy chọn) — Nếu được đặt, chuỗi sẽ được đệm (pad) đến bội số của giá trị được cung cấp. Mặc định là self.pad_to_multiple_of nếu không được cung cấp.

VibeVoiceAcousticTokenizerModel

lớp transformers.VibeVoiceAcousticTokenizerModel

< >

( config: VibeVoiceAcousticTokenizerConfig )

Tham số

  • config (VibeVoiceAcousticTokenizerConfig) — Lớp cấu hình mô hình chứa tất cả các tham số của mô hình. Khởi tạo bằng tệp cấu hình sẽ không tải trọng số liên quan đến mô hình, chỉ tải cấu hình. Xem phương thức from_pretrained() để tải trọng số của mô hình.

VibeVoice acoustic tokenizer với một encoder và một decoder cho các acoustic token liên tục.

Mô hình này kế thừa từ PreTrainedModel. Xem tài liệu của lớp cha để biết các phương thức chung mà thư viện triển khai cho tất cả các mô hình của nó (chẳng hạn như tải xuống hoặc lưu trữ, thay đổi kích thước các nhúng đầu vào, cắt tỉa các đầu, v.v.)

Mô hình này cũng là một lớp con của torch.nn.Module trong PyTorch. Hãy sử dụng nó như một Module PyTorch thông thường và tham khảo tài liệu PyTorch cho mọi vấn đề liên quan đến cách sử dụng và hành vi chung.

encode

< >

( input_valuespadding_cache = Noneuse_cache = Nonesample = True )

Tham số

  • input_values (torch.Tensor có hình dạng (batch_size, channels, sequence_length)) — Biên dạng âm thanh đầu vào cần được mã hóa thành biểu diễn ẩn.
  • padding_cache (VibeVoiceAcousticTokenizerConv1dPaddingCache, optional) — Đối tượng cache cho chế độ streaming để duy trì trạng thái convolution xuyên suốt các lớp.
  • use_cache (bool, tùy chọn) — Có sử dụng bộ nhớ đệm cho các trạng thái tích chập hay không.
  • sample (bool, tuỳ chọn) — Có thêm nhiễu Gaussian vào các latents hay không (σ-VAE: thang nhiễu được rút ngẫu nhiên cho từng phần tử trong batch từ N(0, config.vae_std)). Nếu là False, đầu ra của bộ mã hóa sẽ được trả về nguyên vẹn.

decode

< >

( latentspadding_cache = Noneuse_cache = False )

Tham số

  • latents (torch.Tensor có hình dạng (batch_size, channels, sequence_length)) — Đại diện ẩn đầu vào để giải mã lại thành âm thanh.
  • padding_cache (VibeVoiceAcousticTokenizerConv1dPaddingCache, optional) — Đối tượng cache cho chế độ streaming để duy trì trạng thái convolution xuyên suốt các lớp.
  • use_cache (bool, tùy chọn) — Có sử dụng bộ nhớ đệm cho các trạng thái tích chập hay không.

forward

< >

( input_valuespadding_cache = Noneuse_cache = Falsesample = True**kwargs )

Tham số

  • input_values (torch.Tensor có hình dạng (batch_size, channels, sequence_length)) — Biên dạng âm thanh đầu vào cần được mã hóa thành biểu diễn ẩn.
  • padding_cache (VibeVoiceAcousticTokenizerConv1dPaddingCache, optional) — Đối tượng cache cho chế độ streaming để duy trì trạng thái convolution giữa các lớp. Lưu ý chỉ được sử dụng bởi decoder.
  • use_cache (bool, tùy chọn) — Có sử dụng bộ nhớ đệm cho các trạng thái tích chập hay không.
  • sample (bool, tuỳ chọn) — Có thêm nhiễu Gaussian vào các latents hay không (σ-VAE: thang nhiễu được rút ngẫu nhiên cho từng phần tử trong batch từ N(0, config.vae_std)). Nếu là False, đầu ra của bộ mã hóa sẽ được trả về nguyên vẹn.

Phương thức forward của VibeVoiceAcousticTokenizerModel ghi đè lên phương thức đặc biệt __call__.

Mặc dù công thức cho bước truyền tiến cần được định nghĩa bên trong hàm này, người dùng nên gọi instance của Module sau đó thay vì gọi hàm này, vì instance Module sẽ đảm nhận việc thực hiện các bước tiền xử lý và hậu xử lý, trong khi hàm này sẽ lặng lẽ bỏ qua chúng.

VibeVoiceAcousticTokenizerEncoderModel

lớp transformers.VibeVoiceAcousticTokenizerEncoderModel

< >

( config: VibeVoiceAcousticTokenizerEncoderConfig )

forward

< >

( hidden_statespadding_cache = Noneuse_cache = False**kwargs )

VibeVoiceAcousticTokenizerDecoderModel

lớp transformers.VibeVoiceAcousticTokenizerDecoderModel

< >

( config: VibeVoiceAcousticTokenizerDecoderConfig )

forward

< >

( hidden_statespadding_cache = Noneuse_cache = False**kwargs )

Update on GitHub