Transformers documentation
VibeVoice Acoustic Tokenizer
نُشر هذا النموذج في أوراق HF في 26 أغسطس 2025، وأُضيف إلى مكتبة Hugging Face Transformers في 6 فبراير 2026.
VibeVoice Acoustic Tokenizer
نظرة عامة
VibeVoice هو إطار عمل جديد لتوليد كلام عالي الدقة وطويل المدة لمتحدثين متعددين، وذلك من خلال توظيف نهج الانتشار (diffusion) للرمز التالي ضمن بنية نموذج لغة كبير (LLM). وقد صُمم لالتقاط "الروح" الحقيقية للمحادثة، وهو مناسب بشكل خاص لتوليد محتوى صوتي مثل البودكاست والكتب الصوتية متعددة المشاركين.
من الميزات الرئيسية في VibeVoice استخدام مُرمّزَي صوت مستمرين، أحدهما لاستخراج السمات الصوتية والآخر لاستخراج السمات الدلالية.
يتوفر نقطة تفتيش للنموذج في microsoft/VibeVoice-AcousticTokenizer
تمت مساهمة هذا النموذج من قِبل Eric Bezzam.
البنية
تتميز البنية بهيكل مشفّر-مفكّك متماثل بشكل مرآتي. يعتمد المشفّر على تصميم هرمي يتكوّن من 7 مراحل من الكتل المشابهة لـ ConvNeXt، والتي تستخدم التحويلات التعميقية السببية أحادية البعد (1D) للمعالجة البثّية الفعّالة. تحقق ست طبقات من التصفية نحو الأسفل (downsampling) معدل تصفية تراكمي قدره 3200X من مدخلات بمعدل 24kHz، مما ينتج 7.5 رمز/إطار في الثانية. يحتوي كل مكوّن من مكوّنات المشفّر/المفكّك على حوالي 340 مليون معامل، ليصل إجمالي المعاملات إلى حوالي 680 مليون. يتبع هدف التدريب ذلك الخاص بـ DAC، بما في ذلك تصميماته الخاصة بالميّز (discriminator) والدوال الخاسرة (loss).
يعتمد Acoustic Tokenizer على مبادئ Variational Autoencoder (VAE). يقوم المُشفِّر (encoder) بتمثيل الصوت المُدخل إلى معاملات توزيع كامن، أي المتوسط. وبمعية انحراف معياري ثابت، يتم بعد ذلك أخذ عينة من متجه كامن باستخدام حيلة إعادة التمثيل (reparameterization trick). يُرجى الرجوع إلى التقرير التقني لمزيد من التفاصيل.
الاستخدام
فيما يلي مثال على الاستخدام لتشفير وفك تشفير الصوت:
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 عند ترميز الصوت أو فك ترميزه:
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
< source >( 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 )
المعاملات
- channels (
int، اختياري، القيمة الافتراضية 1) — عدد قنوات الإدخال. - hidden_size (
int, اختياري، القيمة الافتراضية 64) — أبعاد التمثيلات الكامنة. - kernel_size (
int، اختياري، القيمة الافتراضية 7) — حجم النواة للطبقات التلافيفية. - rms_norm_eps (
float، اختياري، القيمة الافتراضية1e-05) — قيمة الإيبسلون المستخدمة في طبقات تطبيع rms. - layer_scale_init_value (
float، اختياري، القيمة الافتراضية1e-06) — المعامل المُستخدَم في طبقات الانتباه الذاتي. القيمة 0.1 للنموذج الأساسي، و1e-6 للنموذج الكبير. اضبط القيمة على 0 لتعطيل معامل الطبقة. - initializer_range (
float، اختياري، القيمة الافتراضية0.01) — انحراف معياري لـ truncated_normal_initializer المستخدم في تهيئة جميع مصفوفات الأوزان. - num_filters (
int، اختياري، القيمة الافتراضية 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
ترث كائنات التهيئة من PreTrainedConfig ويمكن استخدامها للتحكم في مخرجات النموذج. اقرأ التوثيق الخاص بـ PreTrainedConfig لمزيد من المعلومات.
مثال:
>>> 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.configVibeVoiceAcousticTokenizerEncoderConfig
فئة transformers.VibeVoiceAcousticTokenizerEncoderConfig
< source >( 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 )
المعاملات
- channels (
int، اختياري، القيمة الافتراضية 1) — عدد قنوات الإدخال. - hidden_size (
int, اختياري، القيمة الافتراضية 64) — أبعاد التمثيلات الكامنة. - kernel_size (
int، اختياري، القيمة الافتراضية 7) — حجم النواة للطبقات التلافيفية. - rms_norm_eps (
float، اختياري، القيمة الافتراضية1e-05) — قيمة الإيبسلون المستخدمة في طبقات تطبيع rms. - layer_scale_init_value (
float، اختياري، القيمة الافتراضية1e-06) — المعامل المُستخدَم في طبقات الانتباه الذاتي. القيمة 0.1 للنموذج الأساسي، و1e-6 للنموذج الكبير. اضبط القيمة على 0 لتعطيل معامل الطبقة. - initializer_range (
float، اختياري، القيمة الافتراضية0.01) — انحراف معياري لـ truncated_normal_initializer المستخدم في تهيئة جميع مصفوفات الأوزان. - num_filters (
int، اختياري، القيمة الافتراضية 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
ترث كائنات التهيئة من PreTrainedConfig ويمكن استخدامها للتحكم في مخرجات النموذج. اقرأ التوثيق الخاص بـ PreTrainedConfig لمزيد من المعلومات.
VibeVoiceAcousticTokenizerDecoderConfig
فئة transformers.VibeVoiceAcousticTokenizerDecoderConfig
< source >( 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 )
المعاملات
- channels (
int، اختياري، القيمة الافتراضية 1) — عدد قنوات الإدخال. - hidden_size (
int, اختياري، القيمة الافتراضية 64) — أبعاد التمثيلات الكامنة. - kernel_size (
int، اختياري، القيمة الافتراضية 7) — حجم النواة للطبقات التلافيفية. - rms_norm_eps (
float، اختياري، القيمة الافتراضية1e-05) — قيمة الإيبسلون المستخدمة في طبقات تطبيع rms. - layer_scale_init_value (
float، اختياري، القيمة الافتراضية1e-06) — المعامل المُستخدَم في طبقات الانتباه الذاتي. القيمة 0.1 للنموذج الأساسي، و1e-6 للنموذج الكبير. اضبط القيمة على 0 لتعطيل معامل الطبقة. - initializer_range (
float، اختياري، القيمة الافتراضية0.01) — انحراف معياري لـ truncated_normal_initializer المستخدم في تهيئة جميع مصفوفات الأوزان. - num_filters (
int، اختياري، القيمة الافتراضية 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
ترث كائنات التهيئة من PreTrainedConfig ويمكن استخدامها للتحكم في مخرجات النموذج. اقرأ التوثيق الخاص بـ PreTrainedConfig لمزيد من المعلومات.
VibeVoiceAcousticTokenizerFeatureExtractor
فئة transformers.VibeVoiceAcousticTokenizerFeatureExtractor
< source >( feature_size = 1sampling_rate = 24000padding_value = 0.0normalize_audio = Truetarget_dB_FS = -25eps = 1e-06pad_to_multiple_of = 3200**kwargs )
المعاملات
- feature_size (
int، اختياري، القيمة الافتراضية 1) — عدد القنوات. - sampling_rate (
int, اختياري، القيمة الافتراضية 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، اختياري، القيمة الافتراضية 3200) — حشو الصوت إلى مضاعف لهذه القيمة، والتي يجب أن تتوافق مع طول القفزة (hop length) لمُرمِّز الصوتيات (acoustic tokenizer)، أي عامل تقليل العينة (downsampling factor) لمُشفِّره (encoder).
ينشئ مستخرج ميزات VibeVoiceAcousticTokenizer.
__call__
< source >( 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 )
المعاملات
- audio (
np.ndarray،torch.Tensor،list[np.ndarray]،list[torch.Tensor]— التسلسل أو الدفعة من التسلسلات المراد معالجتها. يمكن أن يكون كل تسلسل مصفوفة numpy، أو tensor من torch، أو قائمة من مصفوفات numpy، أو قائمة من tensors من torch. - sampling_rate (
int, اختياري) — معدل أخذ العينات الذي تم به أخذ عينات مدخلaudio. يُوصى بشدة بتمريرsampling_rateعند استدعاء الأمامي لمنع الأخطاء الصامتة. - padding (
bool,strأو PaddingStrategy, اختياري, الافتراضي هوTrue) — اختر استراتيجية لحشو التسلسلات المُعادَة (وفقًا لجانب الحشو وفهرس الحشو الخاص بالنموذج) من بين الخيارات التالية:Trueأو'longest': يتم ملء التسلسلات حتى أطول تسلسل في الدفعة (أو لا يتم أي ملء إذا تم تقديم تسلسل واحد فقط).'max_length': يتم ملء النص حتى الطول الأقصى المحدد عبر الحجةmax_lengthأو حتى الطول الأقصى المقبول لإدخال النموذج إذا لم تُقدَّم تلك الحجة.Falseأو'do_not_pad'(الافتراضي): لا يوجد حشو (أي، يمكن إخراج دفعة تحتوي على تسلسلات بطول مختلف).
- pad_to_multiple_of (
int, اختياري) — إذا تم تعيينه، سيتم توسيط التسلسل إلى مضاعف للقيمة المُقدَّمة. القيمة الافتراضية هيself.pad_to_multiple_ofإذا لم تُقدَّم قيمة.
VibeVoiceAcousticTokenizerModel
فئة transformers.VibeVoiceAcousticTokenizerModel
< source >( config: VibeVoiceAcousticTokenizerConfig )
المعاملات
- config (VibeVoiceAcousticTokenizerConfig) — فئة إعدادات النموذج التي تحتوي على جميع معاملات النموذج. لا يؤدي التهيئة باستخدام ملف الإعداد إلى تحميل الأوزان المرتبطة بالنموذج، بل الإعدادات فقط. راجع طريقة from_pretrained() لتحميل أوزان النموذج.
مُرمِّز VibeVoice الصوتي مع مُشفِّر ومُفكِّك للرموز الصوتية المستمرة.
يرث هذا النموذج من PreTrainedModel. راجع توثيق الفئة الأصلية لمعرفة الطرق العامة التي تنفذها المكتبة لجميع نماذجها (مثل التحميل أو الحفظ، وتغيير حجم تضمينات الإدخال، وقص الرؤوس، وما إلى ذلك).
هذا النموذج هو أيضًا فئة فرعية من torch.nn.Module في PyTorch. استخدمه كوحدة PyTorch عادية، وارجع إلى توثيق PyTorch لكل ما يتعلق بالاستخدام العام والسلوك.
encode
< source >( input_valuespadding_cache = Noneuse_cache = Nonesample = True )
المعاملات
- input_values (
torch.Tensorمن الشكل(batch_size, channels, sequence_length)) — موجة الصوت المدخلة التي سيتم ترميزها إلى تمثيل كامن. - padding_cache (
VibeVoiceAcousticTokenizerConv1dPaddingCache، اختياري) — كائن ذاكرة مؤقتة (Cache) لوضع البث (streaming) للحفاظ على حالات الالتفاف (convolution) عبر الطبقات. - use_cache (
bool، اختياري) — ما إذا كان سيتم استخدام التخزين المؤقت لحالات الالتفاف. - sample (
bool، اختياري) — ما إذا كان يجب إضافة ضوضاء غاوسية إلى الكمونيات (σ-VAE: يُستخرج مقياس الضوضاء لكل عنصر في الدفعة من N(0،config.vae_std)). إذا كانت القيمة False، يُعاد مخرج المُشفِّر كما هو.
decode
< source >( latentspadding_cache = Noneuse_cache = False )
المعاملات
- latents (
torch.Tensorمن الشكل(batch_size, channels, sequence_length)) — تمثيل كامن مُدخل ليتم فكّ ترميزه إلى صوت. - padding_cache (
VibeVoiceAcousticTokenizerConv1dPaddingCache، اختياري) — كائن تخزين مؤقت (Cache) لوضع البث (streaming) للحفاظ على حالات الالتفاف (convolution) عبر الطبقات. - use_cache (
bool، اختياري) — ما إذا كان سيتم استخدام التخزين المؤقت لحالات الالتفاف.
forward
< source >( input_valuespadding_cache = Noneuse_cache = Falsesample = True**kwargs )
المعاملات
- input_values (
torch.Tensorمن الشكل(batch_size, channels, sequence_length)) — موجة الصوت المدخلة التي سيتم ترميزها إلى تمثيل كامن. - padding_cache (
VibeVoiceAcousticTokenizerConv1dPaddingCache، اختياري) — كائن التخزين المؤقت (Cache) لوضع البث (streaming) للحفاظ على حالات الالتفاف (convolution) عبر الطبقات. يُستخدم من قِبل المُفكِّك (decoder) فقط. - use_cache (
bool، اختياري) — ما إذا كان سيتم استخدام التخزين المؤقت لحالات الالتفاف. - sample (
bool، اختياري) — ما إذا كان يجب إضافة ضوضاء غاوسية إلى الكمونيات (σ-VAE: يُستخرج مقياس الضوضاء لكل عنصر في الدفعة من N(0،config.vae_std)). إذا كانت القيمة False، يُعاد مخرج المُشفِّر كما هو.
تتجاوز طريقة VibeVoiceAcousticTokenizerModel الخاصة بالتقديم (forward) الطريقة الخاصة __call__.
على الرغم من أنه يجب تعريف وصفة المرور الأمامي داخل هذه الدالة، إلا أنه ينبغي استدعاء كائن
Moduleبدلاً من هذه الدالة، لأن الكائن يتولى تنفيذ خطوات المعالجة المسبقة والمعالجة اللاحقة، بينما تتجاهل الدالة هذه الخطوات بصمت.
VibeVoiceAcousticTokenizerEncoderModel
فئة transformers.VibeVoiceAcousticTokenizerEncoderModel
< source >( config: VibeVoiceAcousticTokenizerEncoderConfig )
VibeVoiceAcousticTokenizerDecoderModel
فئة transformers.VibeVoiceAcousticTokenizerDecoderModel
< source >( config: VibeVoiceAcousticTokenizerDecoderConfig )