Transformers documentation

NeuCodec

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

and get access to the augmented documentation experience

to get started

نُشر هذا النموذج في أوراق HF في 11 سبتمبر 2025، وأُضيف إلى مكتبة Hugging Face Transformers في 2 سبتمبر 2026.

NeuCodec

SDPA

نظرة عامة

قُدِّم نموذج NeuCodec في Finite Scalar Quantization Enables Redundant and Transmission-Robust Neural Audio Compression at Low Bit-rates.

NeuCodec هو مشفّر صوتي عصبي مبني على XCodec2. يستفيد من الميزات التالية:

  • كمّية قياسية محدودة (FSQ) تؤدي إلى كتاب رموز واحد، مما يجعلها مثالية للنمذجة اللاحقة باستخدام نماذج لغة الكلام.
  • تم تدريبه على بيانات CC بحيث لا توجد قيود على البيانات غير التجارية.
  • عند 50 رمزًا في الثانية و16 بت لكل رمز، يكون معدل البت الكلي 0.8kbps.
  • يستقبل مشفّر/مشفّر الصوت مدخلات بتردد 16kHz ويخرج 24kHz باستخدام مفكك رفع العينة.
  • يسمح مخطط ترميز FSQ بمقاومة الأخطاء على مستوى البت، وهو ما يناسب القنوات غير الموثوقة والمليئة بالضوضاء.

يمكن العثور على كود النمذجة الأصلي هنا.

مثال على الاستخدام

فيما يلي مثال سريع على كيفية ترميز وفك ترميز صوت باستخدام هذا النموذج:

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

model_id = "neuphonic/neucodec"
model = AutoModel.from_pretrained(model_id, device_map="auto")
feature_extractor = AutoFeatureExtractor.from_pretrained(model_id)

dataset = load_dataset("hf-internal-testing/librispeech_asr_dummy", "clean", split="validation")
dataset = dataset.cast_column("audio", Audio(sampling_rate=feature_extractor.sampling_rate))
audio = dataset[0]["audio"]["array"]
inputs = feature_extractor(audio=audio, sampling_rate=feature_extractor.sampling_rate, return_tensors="pt").to(
    model.device, model.dtype
)
print("Input waveform shape:", inputs["input_values"].shape)
# Input waveform shape: torch.Size([1, 1, 93760])

# encoder and decoder
audio_codes = model.encode(**inputs).audio_codes
print("Audio codes shape:", audio_codes.shape)
# Audio codes shape: torch.Size([1, 1, 292])
audio_values = model.decode(audio_codes).audio_values
print("Audio values shape:", audio_values.shape)

# Equivalently, you can do encoding and decoding in one step
model_output = model(**inputs)
audio_codes = model_output.audio_codes
audio_values = model_output.audio_values

المعالجة الدفعية

تدعم هذه النسخة أيضاً الإدخال المُجمَّع!

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

batch_size = 2
model_id = "neuphonic/neucodec"
model = AutoModel.from_pretrained(model_id, device_map="auto")
feature_extractor = AutoFeatureExtractor.from_pretrained(model_id)

dataset = load_dataset("hf-internal-testing/librispeech_asr_dummy", "clean", split="validation")
dataset = dataset.cast_column("audio", Audio(sampling_rate=feature_extractor.sampling_rate))
audios = [dataset[i]["audio"]["array"] for i in range(batch_size)]
inputs = feature_extractor(audio=audios, sampling_rate=feature_extractor.sampling_rate, return_tensors="pt").to(
    model.device, model.dtype
)
print("Input waveform shape:", inputs["input_values"].shape)
# Input waveform shape: torch.Size([2, 1, 93760])

# encoder and decoder
encoder_output = model.encode(**inputs)
audio_codes = encoder_output.audio_codes
print("Audio codes shape:", audio_codes.shape)
# Audio codes shape: torch.Size([2, 1, 292])
audio_values = model.decode(audio_codes).audio_values
print("Audio values shape:", audio_values.shape)

# Equivalently, you can do encoding and decoding in one step
model_output = model(**inputs)
audio_codes = model_output.audio_codes
audio_values = model_output.audio_values

التسريع باستخدام torch.compile

يمكنك تسريع الاستدلال باستخدام torch.compile. ستكون الاستدعاءات الأولى أبطأ بسبب تكاليف التجميع، لكن الاستدعاءات اللاحقة ستكون أسرع.

import torch
from datasets import Audio, load_dataset
from transformers import AutoFeatureExtractor, AutoModel

batch_size = 4
model_id = "neuphonic/neucodec"
model = AutoModel.from_pretrained(model_id, device_map="auto")
feature_extractor = AutoFeatureExtractor.from_pretrained(model_id)

dataset = load_dataset("hf-internal-testing/librispeech_asr_dummy", "clean", split="validation")
dataset = dataset.cast_column("audio", Audio(sampling_rate=feature_extractor.sampling_rate))
audios = [dataset[i]["audio"]["array"] for i in range(batch_size)]
inputs = feature_extractor(
    audio=audios, sampling_rate=feature_extractor.sampling_rate, padding=True, return_tensors="pt"
).to(model.device, model.dtype)

compiled_model = torch.compile(model, fullgraph=True)

# Warmup (includes compilation on first call)
for _ in range(10):
    with torch.inference_mode():
        _ = compiled_model(**inputs)

with torch.inference_mode():
    output = compiled_model(**inputs)
print("Audio values shape:", output.audio_values.shape)

NeuCodecConfig

فئة transformers.NeuCodecConfig

< >

( 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 = Nonehidden_size: int = 1024intermediate_size: int = 4096num_hidden_layers: int = 12num_attention_heads: int = 16num_key_value_heads: int = 16hidden_act: str = 'silu'max_position_embeddings: int = 4096initializer_range: float = 0.02rms_norm_eps: float = 1e-06pad_token_id: int | None = Nonetie_word_embeddings: bool = Falserope_parameters: transformers.modeling_rope_utils.RopeParameters | dict | None = Noneattention_bias: bool = Falseattention_dropout: int | float | None = 0.0head_dim: int = 64encoder_hidden_size: int = 48downsampling_ratios: list[int] | tuple[int, ...] = (2, 2, 4, 4, 5)semantic_model_config: dict | transformers.configuration_utils.PreTrainedConfig | None = Noneactivation_dropout: float = 0.1quantization_dim: int = 2048quantization_levels: list[int] | tuple[int, ...] = (4, 4, 4, 4, 4, 4, 4, 4)input_sampling_rate: int = 16000output_sampling_rate: int = 24000 )

المعاملات

  • hidden_size (int، اختياري، القيمة الافتراضية 1024) — أبعاد التمثيلات المخفية.
  • intermediate_size (int، اختياري، القيمة الافتراضية 4096) — أبعاد تمثيلات MLP.
  • num_hidden_layers (int، اختياري، القيمة الافتراضية 12) — عدد الطبقات المخفية في مُفكِّك Transformer.
  • num_attention_heads (int، اختياري، القيمة الافتراضية 16) — عدد رؤوس الانتباه لكل طبقة انتباه في مُفكِّك Transformer.
  • num_key_value_heads (int, اختياري، القيمة الافتراضية 16) — هذا هو عدد رؤوس key_value التي يجب استخدامها لتنفيذ Grouped Query Attention. إذا كان num_key_value_heads=num_attention_heads، فسيستخدم النموذج Multi Head Attention (MHA)، وإذا كان num_key_value_heads=1 فسيستخدم النموذج Multi Query Attention (MQA)، وإلا فسيتم استخدام GQA. عند تحويل نقطة تفتيش متعددة الرؤوس إلى نقطة تفتيش GQA، يجب بناء كل مجموعة من رؤوس key و value عن طريق meanpooling جميع الرؤوس الأصلية داخل تلك المجموعة. لمزيد من التفاصيل، راجع هذا الورقة. إذا لم يتم تحديد القيمة، فستكون القيمة الافتراضية هي num_attention_heads.
  • hidden_act (str، اختياري، القيمة الافتراضية silu) — دالة التنشيط غير الخطية (دالة أو نص) في المُفكِّك. على سبيل المثال، "gelu"، "relu"، "silu"، وغيرها.
  • max_position_embeddings (int، اختياري، القيمة الافتراضية 4096) — أقصى طول تسلسل قد يُستخدم معه هذا النموذج.
  • initializer_range (float، اختياري، القيمة الافتراضية 0.02) — الانحراف المعياري لـ truncated_normal_initializer المستخدم في تهيئة جميع مصفوفات الأوزان.
  • rms_norm_eps (float، اختياري، القيمة الافتراضية 1e-06) — قيمة الإيبسلون المستخدمة في طبقات تطبيع rms.
  • pad_token_id (int, اختياري) — معرّف الرمز المستخدم للتعبئة في المفردات.
  • tie_word_embeddings (bool، اختياري، القيمة الافتراضية False) — ما إذا كان سيتم ربط ترميزات الأوزان وفقاً لخريطة tied_weights_keys الخاصة بالنموذج.
  • rope_parameters (Union[~modeling_rope_utils.RopeParameters, dict], اختياري) — قائمة تحتوي على معاملات التهيئة الخاصة بتضمينات RoPE. يجب أن تحتوي القائمة على قيمة لـ rope_theta، ومعاملات اختيارية تُستخدم للتوسيع في حال رغبتَ في استخدام RoPE مع max_position_embeddings أطول.
  • attention_bias (bool، اختياري، القيمة الافتراضية False) — ما إذا كان سيتم استخدام انحياز في طبقات الإسقاط للاستعلام والمفتاح والقيمة والمخرجات أثناء الانتباه الذاتي.
  • attention_dropout (Union[int, float]، اختياري، القيمة الافتراضية 0.0) — نسبة الإسقاط (dropout) لاحتمالات الانتباه.
  • head_dim (int، اختياري، القيمة الافتراضية 64) — بعد رأس الانتباه. إذا كانت القيمة None، فستكون القيمة الافتراضية هي hidden_size // num_attention_heads
  • encoder_hidden_size (int، اختياري، القيمة الافتراضية 48) — أبعاد التمثيلات المخفية.
  • downsampling_ratios (list[int]، اختياري، القيمة الافتراضية [2, 2, 4, 4, 5]) — النسب المستخدمة في تقليل حجم البيانات داخل المُشفِّر.
  • semantic_model_config (Union[Dict, Wav2Vec2BertConfig], اختياري) — مثال من كائن التهيئة الخاص بالنموذج الدلالي (Wav2Vec2BertConfig).
  • activation_dropout (float، اختياري، القيمة الافتراضية 0.1) — نسبة dropout للتفعيلات داخل الطبقة المتصلة بالكامل.
  • quantization_dim (int، اختياري، القيمة الافتراضية 2048) — البُعد الخاص بكتاب الترميز في التكميم المتجهي.
  • quantization_levels (list[int]، اختياري، القيمة الافتراضية [4, 4, 4, 4, 4, 4, 4, 4]) — المستويات الخاصة بكتاب الترميز في التكميم المتجهي.
  • input_sampling_rate (int, اختياري، القيمة الافتراضية 16000) — معدل أخذ العينات، بالهرتز (Hz)، لموجة الصوت المدخلة إلى المُشفِّر.
  • output_sampling_rate (int، اختياري، القيمة الافتراضية 24000) — معدل أخذ العينات، بالهرتز (Hz)، لموجة الصوت الناتجة عن المُفكِّك.

هذه فئة الإعدادات (configuration class) لتخزين إعدادات نموذج NeuCodecModel. تُستخدم لاستحداث نموذج Neucodec وفقاً للحجج المحددة، مع تعريف بنية النموذج. إن استحداث فئة الإعدادات باستخدام القيم الافتراضية سيؤدي إلى الحصول على إعدادات مشابهة لتلك الخاصة بـ neuphonic/neucodec

ترث كائنات التهيئة من PreTrainedConfig ويمكن استخدامها للتحكم في مخرجات النموذج. اقرأ التوثيق الخاص بـ PreTrainedConfig لمزيد من المعلومات.

مثال:

>>> from transformers import NeuCodecConfig, NeuCodecModel

>>> # Initializing configuration
>>> configuration = NeuCodecConfig()

>>> # Initializing a model (with random weights) from the configuration
>>> model = NeuCodecModel(configuration)

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

NeuCodecFeatureExtractor

فئة transformers.NeuCodecFeatureExtractor

< >

( feature_size = 80sampling_rate = 16000padding_value = 1.0hop_length = 320**kwargs )

المعاملات

  • feature_size (int، اختياري، القيمة الافتراضية 80) — أبعاد الميزة للميزات المستخرجة.
  • sampling_rate (int، اختياري، القيمة الافتراضية 16000) — معدل أخذ العينات الذي يجب أن تُرقَم به ملفات الصوت، معبّرًا عنه بالهرتز (Hz).
  • padding_value (float، اختياري، القيمة الافتراضية 1.0) — القيمة المستخدمة لملء متجهات الحشو في مطياف الميّل.
  • hop_length (int، اختياري، القيمة الافتراضية 320) — عدد عينات الصوت المُرمَّزة في كل إطار. يعادل حاصل ضرب نسب تقليل العينة. مطلوب لحشو مدخلات المُرمِّز الصوتي.

ينشئ مستخرج ميزات NeuCodec، الذي يحسب ميزات بنك مرشحات ميل للمشفّر الدلالي والصوت المُملأ للمشفّر الصوتي.

يرث مستخرج الميزات هذا من SequenceFeatureExtractor الذي يحتوي على معظم الطرق الرئيسية. ينبغي للمستخدمين الرجوع إلى هذه الفئة الأصلية لمزيد من المعلومات حول تلك الطرق.

__call__

< >

( audio: typing.Union[numpy.ndarray, ForwardRef('torch.Tensor'), collections.abc.Sequence[numpy.ndarray], collections.abc.Sequence['torch.Tensor']]padding: bool | str | transformers.utils.generic.PaddingStrategy = Truemax_length: int | None = Nonetruncation: bool = Falsereturn_tensors: str | transformers.utils.generic.TensorType | None = Nonesampling_rate: int | None = Nonedevice: str = 'cpu'**kwargs )

المعاملات

  • audio (np.ndarray، torch.Tensor، list[np.ndarray]، list[torch.Tensor]) — مصفوفة Numpy أو متجه torch بأبعاد (num_channels, sequence_length). يمكن أيضًا تقديم قائمة من هذه المصفوفات أو المتجهات لمجموعة من المدخلات.
  • padding (bool, str أو PaddingStrategy, اختياري, الافتراضي هو True) — اختر استراتيجية لحشو التسلسلات المُعادَة (وفقًا لجانب الحشو وفهرس الحشو الخاص بالنموذج) من بين الخيارات التالية:
    • True أو 'longest': يتم ملء التسلسلات حتى أطول تسلسل في الدفعة (أو لا يتم أي ملء إذا تم تقديم تسلسل واحد فقط).
    • 'max_length': يتم ملء النص حتى الطول الأقصى المحدد عبر الحجة max_length أو حتى الطول الأقصى المقبول لإدخال النموذج إذا لم تُقدَّم تلك الحجة.
    • False أو 'do_not_pad' (الافتراضي): لا يوجد حشو (أي، يمكن إخراج دفعة تحتوي على تسلسلات بطول مختلف).
  • max_length (int، اختياري) — الحد الأقصى لطول القائمة المُعادَة وطول الحشو بشكل اختياري (انظر أعلاه).
  • truncation (bool) — يفعّل القصّ لقطع تسلسلات الإدخال الأطول من max_length إلى max_length.
  • return_tensors (str أو TensorType, اختياري) — إذا تم تعيينه، فسيُعاد تينسورات بدلاً من قائمة من الأعداد الصحيحة في بايثون. القيم المقبولة هي:
    • 'tf': إرجاع كائنات tf.constant من TensorFlow.
    • 'pt': إرجاع كائنات torch.Tensor من PyTorch.
    • 'np': إرجاع كائنات np.ndarray من نوع Numpy.
  • sampling_rate (int, اختياري) — معدل أخذ العينات الذي تم به أخذ عينات مدخل audio. يُوصى بشدة بتمرير sampling_rate عند استدعاء الأمامي لمنع الأخطاء الصامتة.
  • device (str، اختياري، الافتراضي "cpu") — الجهاز الخاص بتensors في PyTorch أثناء استخراج ميزات بنك مرشحات ميل.
  • kwargs (اختياري) — المتبقّي من قاموس معاملات الكلمات المفتاحية التي سيتم تمريرها إلى مُجزّئ النص أو مستخرج الميزات.

NeuCodecModel

فئة transformers.NeuCodecModel

< >

( config: NeuCodecConfig )

المعاملات

  • config (NeuCodecConfig) — فئة إعدادات النموذج التي تحتوي على جميع معاملات النموذج. لا يؤدي التهيئة باستخدام ملف الإعدادات إلى تحميل الأوزان المرتبطة بالنموذج، بل الإعدادات فقط. راجع طريقة from_pretrained() لتحميل أوزان النموذج.

نموذج NeuCodec لترميز الصوت العصبي.

يرث هذا النموذج من PreTrainedModel. راجع توثيق الفئة الأصلية لمعرفة الطرق العامة التي تنفذها المكتبة لجميع نماذجها (مثل التحميل أو الحفظ، وتغيير حجم تضمينات الإدخال، وقص الرؤوس، وما إلى ذلك).

هذا النموذج هو أيضًا فئة فرعية من torch.nn.Module في PyTorch. استخدمه كوحدة PyTorch عادية، وارجع إلى توثيق PyTorch لكل ما يتعلق بالاستخدام العام والسلوك.

decode

< >

( audio_codes: typing.Optional[torch.Tensor] = Nonelatents: typing.Optional[torch.Tensor] = Noneaudio_codes_mask: typing.Optional[torch.Tensor] = None**kwargs: *<class 'transformers.utils.generic.TransformersKwargs'> ) → NeuCodecDecoderOutput or tuple(torch.Tensor)

المعاملات

  • audio_codes (torch.LongTensor من الشكل (batch_size, 1, codes_length)) — فهارس رموز منفصلة محسوبة باستخدام model.encode.
  • latents (torch.Tensor من الشكل (batch_size, dimension, time_steps)، اختياري) — تمثيل مستمر مُكمَّم للمدخلات.
  • audio_codes_mask (torch.Tensor من الشكل (batch_size, codes_length)، اختياري) — قناع يحدد المواضع الصالحة (غير المعبّأة)، كما يُعاد بواسطة model.encode. مطلوب للتحليل الدقيق بالدفعة (batched decoding) لتسجيلات صوتية بطول متغير.

يعيد

NeuCodecDecoderOutput أو tuple(torch.Tensor)

NeuCodecDecoderOutput أو مجموعة مرتبة من torch.Tensor (إذا تم تمرير return_dict=False أو عندما يكون config.return_dict=False) وتتضمن عناصر مختلفة اعتماداً على الإعداد (None) والمدخلات.

  • audio_values (torch.Tensor of shape (batch_size, 1, segment_length), اختياري) — قيم موجة الصوت المُفكّكة في مجال الزمن، والمُستخرجة عن طريق تحويل الرموز المنفصلة مرة أخرى إلى إشارات صوتية مستمرة. يمثل هذا الصوت المُعاد بناؤه والذي يمكن تشغيله.

encode

< >

( input_values: Tensorinput_features: Tensorpadding_mask: typing.Optional[torch.Tensor] = Noneinput_features_mask: typing.Optional[torch.Tensor] = Noneoutput_latents: bool = False**kwargs: *<class 'transformers.utils.generic.TransformersKwargs'> ) → NeuCodecEncoderOutput or tuple(torch.Tensor)

المعاملات

  • input_values (torch.Tensor من الشكل (batch_size, 1, sequence_length)) — موجة الصوت المدخلة.
  • input_features (torch.Tensor من الشكل (batch_size, mel_bins, time_steps)) — مطياف ميل الصوتي المدخل للتشفير الدلالي.
  • padding_mask (torch.Tensor من الشكل (batch_size, 1, sequence_length)) — قناع الحشو المستخدم لحشو input_values.
  • input_features_mask (torch.Tensor of shape (batch_size, time_steps), اختياري) — قناع الانتباه (Attention mask) لإدخال الطيف الصوتي (spectrogram) إلى المُشفِّر الدلالي (semantic encoder). 1 للإطارات الصالحة، و0 للتعبئة (padding).
  • output_latents (bool، اختياري، القيمة الافتراضية False) — ما إذا كان يجب إرجاع التمثيل الكامن المستمر من المُكمِّم.

يعيد

NeuCodecEncoderOutput أو tuple(torch.Tensor)

NeuCodecEncoderOutput أو مجموعة مرتبة من torch.Tensor (إذا تم تمرير return_dict=False أو عندما يكون config.return_dict=False) وتتضمن عناصر مختلفة تعتمد على الإعداد (None) والمدخلات.

  • audio_codes (torch.LongTensor من الشكل (batch_size, 1, codes_length)، اختياري) — تمثيلات رموز منفصلة محسوبة باستخدام model.encode. تمثل هذه الرموز الشكل المضغوط والمكمَّم للإشارة الصوتية المدخلة، ويمكن استخدامها للتخزين أو النقل أو التوليد.
  • latents (torch.Tensor من الشكل (batch_size, dimension, time_steps)) — تمثيل مستمر مُكمَّم لتضمين المدخلات.
  • audio_codes_mask (torch.int32 of shape (batch_size, 1, codes_length), اختياري) — padding_mask مُخفَّض الدقة لتحديد الأكواد الصوتية الصالحة في audio_codes.

forward

< >

( input_values: Tensorinput_features: Tensorpadding_mask: typing.Optional[torch.Tensor] = Noneinput_features_mask: typing.Optional[torch.Tensor] = Noneoutput_latents: bool = False**kwargs: *<class 'transformers.utils.generic.TransformersKwargs'> ) → NeuCodecOutput or tuple(torch.Tensor)

المعاملات

  • input_values (torch.Tensor من الشكل (batch_size, 1, sequence_length)) — موجة الصوت المدخلة، المُعَيَّنَة عند config.input_sampling_rate.
  • input_features (torch.Tensor من الشكل (batch_size, mel_bins, time_steps)) — مطياف ميل الصوتي المدخل للتشفير الدلالي.
  • padding_mask (torch.Tensor من الشكل (batch_size, 1, sequence_length)) — قناع الحشو المستخدم لحشو input_values.
  • input_features_mask (torch.Tensor of shape (batch_size, time_steps), اختياري) — قناع الانتباه (Attention mask) لإدخال الطيف الصوتي إلى المُشفِّر الدلالي. 1 للإطارات الصالحة، و0 للتعبئة.
  • output_latents (bool، اختياري، القيمة الافتراضية False) — ما إذا كان يجب إرجاع التمثيل الكامن المستمر من المُكمِّم.

يعيد

NeuCodecOutput أو tuple(torch.Tensor)

NeuCodecOutput أو مجموعة مرتبة من torch.Tensor (في حال تمرير return_dict=False أو عندما يكون config.return_dict=False) وتتضمن عناصر مختلفة اعتمادًا على الإعداد (None) والمدخلات.

تتجاوز طريقة NeuCodecModel الخاصة بالتقديم (forward) الطريقة الخاصة __call__.

على الرغم من أنه يجب تعريف وصفة المرور الأمامي داخل هذه الدالة، إلا أنه ينبغي استدعاء كائن Module بدلاً من هذه الدالة، لأن الكائن يتولى تنفيذ خطوات المعالجة المسبقة والمعالجة اللاحقة، بينما تتجاهل الدالة هذه الخطوات بصمت.

  • audio_values (torch.Tensor من الشكل (batch_size, 1, sequence_length)، اختياري) — قيم موجة الصوت المُفكّكة في مجال الزمن، والمُستخرجة باستخدام جزء المُفكّك في NeuCodec. تمثّل هذه القيم إشارة الصوت المُعاد بناؤها.
  • audio_codes (torch.LongTensor من الشكل (batch_size, 1, codes_length)، اختياري) — تمثيلات رموز منفصلة محسوبة باستخدام model.encode. هذه هي التمثيلات الكمّية للصوت المدخل المستخدمة للمعالجة أو التوليد اللاحق.
  • latents (torch.Tensor من الشكل (batch_size, dimension, time_steps)) — تمثيل مستمر مُكمَّم لتضمين المدخلات.
  • audio_codes_mask (torch.int32 من الشكل (batch_size, 1, codes_length)، اختياري) — padding_mask مُصغَّر الحجم للإشارة إلى رموز الصوت الصالحة في audio_codes.

أمثلة:

>>> from datasets import load_dataset
>>> from transformers import AutoFeatureExtractor, NeuCodecModel

>>> dataset = load_dataset("hf-internal-testing/librispeech_asr_dummy", "clean", split="validation")
>>> audio = dataset["train"]["audio"][0]["array"]

>>> model_id = "neuphonic/neucodec"
>>> model = NeuCodecModel.from_pretrained(model_id)
>>> feature_extractor = AutoFeatureExtractor.from_pretrained(model_id)

>>> inputs = feature_extractor(audio=audio, sampling_rate=feature_extractor.sampling_rate, return_tensors="pt")

>>> outputs = model(**inputs)
>>> audio_codes = outputs.audio_codes
>>> audio_values = outputs.audio_values  # sampled at 24kHz
Update on GitHub