# SpeechT5

## نظرة عامة

قُدِّم نموذج SpeechT5 في [SpeechT5: Unified-Modal Encoder-Decoder Pre-Training for Spoken Language Processing](https://huggingface.co/papers/2110.07205) من قِبل Junyi Ao وRui Wang وLong Zhou وChengyi Wang وShuo Ren وYu Wu وShujie Liu وTom Ko وQing Li وYu Zhang وZhihua Wei وYao Qian وJinyu Li وFuru Wei.

المستخلص من الورقة البحثية هو كالتالي:

*بإلهام من نجاح T5 (Text-To-Text Transfer Transformer) في نماذج معالجة اللغة الطبيعية المُسبقة التدريب، نقترح إطار SpeechT5 الموحّد للأوضاع، الذي يستكشف التدريب المسبق لشبكة المُشفِّر-المُفكِّك لتعلّم التمثيل الذاتي الإشراف للكلام/النص. يتكون إطار SpeechT5 من شبكة مُشفِّر-مُفكِّك مشتركة وست شبكات ما قبل/ما بعد محددة لكل وضع (كلام/نص). بعد المعالجة المسبقة للكلام/النص المُدخل عبر شبكات ما قبل، تُنمذج شبكة المُشفِّر-المُفكِّك المشتركة التحويل من تسلسل إلى تسلسل، ثم تولّد شبكات ما بعد المخرج في وضع الكلام/النص بناءً على مخرج المُفكِّك. بالاستفادة من بيانات كلام ونص غير مُوسومة على نطاق واسع، نُدرّب SpeechT5 مسبقاً لتعلّم تمثيل موحّد للأوضاع، آملاً في تحسين قدرة النمذجة لكل من الكلام والنص. لمواءمة المعلومات النصية والمعلومات الصوتية في هذا الفضاء الدلالي الموحّد، نقترح نهج تكميم متجه عبر الأوضاع يخلط عشوائياً بين حالات الكلام/النص والوحدات الكامنة بوصفها الواجهة بين المُشفِّر والمُفكِّك. تُظهر التقييمات الواسعة تفوق إطار SpeechT5 المقترح على مجموعة واسعة من مهام معالجة اللغة المنطوقة، بما في ذلك التعرف التلقائي على الكلام، وتوليد الكلام، والترجمة الصوتية، وتحويل الصوت، وتحسين الكلام، وتحديد المتكلم.*

تمت مساهمة هذا النموذج من قِبل [Matthijs](https://huggingface.co/Matthijs). يمكن العثور على الكود الأصلي [هنا](https://github.com/microsoft/SpeechT5).

> [!TIP]
> اضبط `use_kernels=True` في [from_pretrained()](/docs/transformers/main/ar/main_classes/model#transformers.PreTrainedModel.from_pretrained) لاستبدال الطبقات المدعومة بنوى مُحسَّنة من Hub. راجع [تحميل النوى](../kernel_doc/loading_kernels) لمعرفة المزيد.

## SpeechT5Config[[transformers.SpeechT5Config]]

#### transformers.SpeechT5Config[[transformers.SpeechT5Config]]

```python
transformers.SpeechT5Config(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, 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, is_encoder_decoder: bool = True, vocab_size: int = 81, hidden_size: int = 768, encoder_layers: int = 12, encoder_attention_heads: int = 12, encoder_ffn_dim: int = 3072, encoder_layerdrop: float | int = 0.1, decoder_layers: int = 6, decoder_ffn_dim: int = 3072, decoder_attention_heads: int = 12, decoder_layerdrop: float | int = 0.1, hidden_act: str = 'gelu', positional_dropout: float | int = 0.1, hidden_dropout: float | int = 0.1, attention_dropout: float | int = 0.1, activation_dropout: float | int = 0.1, initializer_range: float = 0.02, layer_norm_eps: float = 1e-05, scale_embedding: bool = False, feat_extract_norm: str = 'group', feat_proj_dropout: float | int = 0.0, feat_extract_activation: str = 'gelu', conv_dim: list[int] | tuple[int, ...] = (512, 512, 512, 512, 512, 512, 512), conv_stride: list[int] | tuple[int, ...] = (5, 2, 2, 2, 2, 2, 2), conv_kernel: list[int] | tuple[int, ...] = (10, 3, 3, 3, 3, 2, 2), conv_bias: bool = False, num_conv_pos_embeddings: int = 128, num_conv_pos_embedding_groups: int = 16, apply_spec_augment: bool = True, mask_time_prob: float | int = 0.05, mask_time_length: int = 10, mask_time_min_masks: int = 2, mask_feature_prob: float | int = 0.0, mask_feature_length: int = 10, mask_feature_min_masks: int = 0, pad_token_id: int | None = 1, bos_token_id: int | None = 0, eos_token_id: int | list[int] | None = 2, decoder_start_token_id: int | None = 2, num_mel_bins: int = 80, speech_decoder_prenet_layers: int = 2, speech_decoder_prenet_units: int = 256, speech_decoder_prenet_dropout: float | int = 0.5, speaker_embedding_dim: int = 512, speech_decoder_postnet_layers: int = 5, speech_decoder_postnet_units: int = 256, speech_decoder_postnet_kernel: int = 5, speech_decoder_postnet_dropout: float | int = 0.5, reduction_factor: int = 2, max_speech_positions: int = 4000, max_text_positions: int = 450, encoder_max_relative_position: int = 160, use_guided_attention_loss: bool = True, guided_attention_loss_num_heads: int = 2, guided_attention_loss_sigma: float = 0.4, guided_attention_loss_scale: float = 10.0, use_cache: bool = True, tie_word_embeddings: bool = True)
```

[المصدر](https://github.com/huggingface/transformers/blob/main/src/transformers/models/speecht5/configuration_speecht5.py#L27)

**المعاملات:**

is_encoder_decoder (`bool`، *اختياري*، الافتراضي هو `True`) : ما إذا كان النموذج يُستخدم كمُشفِّر/مُفكِّك أم لا.

vocab_size (`int`، *اختياري*، القيمة الافتراضية `81`) : حجم مفردات النموذج. يحدد عدد الرموز المختلفة التي يمكن تمثيلها بواسطة `input_ids`.

hidden_size (`int`، *اختياري*، القيمة الافتراضية `768`) : بُعد التمثيلات المخفية.

encoder_layers (`int`، *اختياري*، الافتراضي هو `12`) : عدد الطبقات المخفية في مُشفِّر Transformer. سيُستخدم نفس قيمة `num_layers` إذا لم يُضبط.

encoder_attention_heads (`int`، *اختياري*، القيمة الافتراضية `12`) : عدد رؤوس الانتباه لكل طبقة انتباه في مُشفِّر Transformer.

encoder_ffn_dim (`int`، *اختياري*، القيمة الافتراضية `3072`) : بُعد طبقة "الوسيطة" (التي تُسمّى غالبًا طبقة التغذية الأمامية) في المُشفِّر.

encoder_layerdrop (`Union[float, int]`، *اختياري*، القيمة الافتراضية `0.1`) : احتمال LayerDrop للمُشفِّر. راجع [ورقة LayerDrop](see https://huggingface.co/papers/1909.11556) لمزيد من التفاصيل.

decoder_layers (`int`، *اختياري*، القيمة الافتراضية `6`) : عدد الطبقات المخفية في مُفكِّك Transformer. سيستخدم القيمة نفسها لـ`num_layers` إذا لم يتم ضبطه.

decoder_ffn_dim (`int`، *اختياري*، القيمة الافتراضية `3072`) : بُعد طبقة "الوسيطة" (التي تُسمّى غالبًا طبقة التغذية الأمامية) في المُفكِّك.

decoder_attention_heads (`int`، *اختياري*، القيمة الافتراضية `12`) : عدد رؤوس الانتباه في كل طبقة انتباه داخل مُفكِّك Transformer.

decoder_layerdrop (`Union[float, int]`، *اختياري*، الافتراضي هو `0.1`) : احتمال LayerDrop للمفكّك. راجع [ورقة LayerDrop](see https://huggingface.co/papers/1909.11556) لمزيد من التفاصيل.

hidden_act (`str`، *اختياري*، القيمة الافتراضية `gelu`) : دالة التنشيط غير الخطية (دالة أو نص) في المُفكِّك. على سبيل المثال، `"gelu"`، `"relu"`، `"silu"`، وما إلى ذلك.

positional_dropout (`float`، *اختياري*، القيمة الافتراضية 0.1) : احتمال الإسقاط (dropout) لطبقات ترميز موضع النص.

hidden_dropout (`Union[float, int]`، *اختياري*، القيمة الافتراضية `0.1`) : احتمال الإسقاط (dropout) لجميع الطبقات المتصلة بالكامل في التضمينات (embeddings) والمُشفِّر (encoder) والمُجمِّع (pooler).

attention_dropout (`Union[float, int]`، *اختياري*، القيمة الافتراضية `0.1`) : نسبة الإسقاط (dropout) لاحتمالات الانتباه.

activation_dropout (`Union[float, int]`، *اختياري*، الافتراضي هو `0.1`) : نسبة dropout للتفعيلات داخل الطبقة المتصلة بالكامل.

initializer_range (`float`، *اختياري*، القيمة الافتراضية `0.02`) : الانحراف المعياري لـ truncated_normal_initializer المستخدم في تهيئة جميع مصفوفات الأوزان.

layer_norm_eps (`float`، *اختياري*، القيمة الافتراضية `1e-05`) : قيمة الإيبسلون المستخدمة في طبقات تطبيع الطبقة.

scale_embedding (`bool`، *اختياري*، القيمة الافتراضية `False`) : ما إذا كان سيتم توسيع التضمينات (embeddings) من خلال القسمة على sqrt(d_model).

feat_extract_norm (`str`، *اختياري*، القيمة الافتراضية `"group"`) : المعيار الذي سيُطبَّق على طبقات الالتفاف أحادية البُعد في الشبكة المسبقة لمُشفِّر الكلام. إما `"group"` لتطبيع المجموعات على الطبقة الأولى أحادية البُعد فقط، أو `"layer"` لتطبيع الطبقات على جميع طبقات الالتفاف أحادية البُعد.

feat_proj_dropout (`float`، *اختياري*، القيمة الافتراضية 0.0) : احتمال الإسقاط (dropout) لمخرج الشبكة المسبقة (pre-net) في ترميز الكلام.

feat_extract_activation (`str, `optional`, defaults to `"gelu"`) : The non-linear activation function (function or string) in the 1D convolutional layers of the feature extractor. If string, `"gelu"`, `"relu"`, `"selu"` and `"gelu_new"` are supported.

conv_dim (`tuple[int]` أو `list[int]`، *اختياري*، القيمة الافتراضية هي `(512, 512, 512, 512, 512, 512, 512)`) : مجموعة من الأعداد الصحيحة تحدد عدد قنوات الإدخال والإخراج لكل طبقة تلافيفية أحادية البعد في الشبكة المسبقة لمشفّر الكلام. يحدد طول *conv_dim* عدد الطبقات التلافيفية أحادية البعد.

conv_stride (`tuple[int]` أو `list[int]`، *اختياري*، القيمة الافتراضية هي `(5, 2, 2, 2, 2, 2, 2)`) : مجموعة من الأعداد الصحيحة (tuple) تحدد الخطوة (stride) لكل طبقة تجميعية أحادية البعد (1D convolutional layer) في الشبكة المسبقة (pre-net) لتشفير الكلام. يحدد طول *conv_stride* عدد الطبقات التجميعية، ويجب أن يطابق طول *conv_dim*.

conv_kernel (`tuple[int]` أو `list[int]`، *اختياري*، القيمة الافتراضية هي `(10, 3, 3, 3, 3, 3, 3)`) : مجموعة من الأعداد الصحيحة تحدد حجم النواة لكل طبقة تلافية أحادية البعد في الشبكة المسبقة لمشفّر الكلام. يحدد طول *conv_kernel* عدد الطبقات التلافية، ويجب أن يطابق طول *conv_dim*.

conv_bias (`bool`، *اختياري*، الافتراضي `False`) : ما إذا كانت طبقات الالتفاف أحادية البعد تحتوي على انحياز.

num_conv_pos_embeddings (`int`، *اختياري*، القيمة الافتراضية 128) : عدد التضمينات الموضعية التلافيفية. يحدد حجم النواة لطبقة التضمينات الموضعية التلافيفية أحادية البعد.

num_conv_pos_embedding_groups (`int`، *اختياري*، القيمة الافتراضية 16) : عدد مجموعات طبقة التضمينات الموضعية للتمويه أحادي البعد.

apply_spec_augment (`bool`، *اختياري*، القيمة الافتراضية `True`) : ما إذا كان سيتم تطبيق زيادة البيانات *SpecAugment* على مخرجات الشبكة المسبقة لمشفّر الكلام. للاطلاع على المرجع، راجع [SpecAugment: A Simple Data Augmentation Method for Automatic Speech Recognition](https://huggingface.co/papers/1904.08779).

mask_time_prob (`float`، *اختياري*، القيمة الافتراضية 0.05) : النسبة المئوية (بين 0 و 1) لجميع متجهات الميزات على محور الزمن التي سيتم إخفاؤها. يولّد إجراء الإخفاء ''mask_time_prob*len(time_axis)/mask_time_length'' أقنعة مستقلة على المحور. إذا كنت تستنتج من احتمال اختيار كل متجه ميزات كبداية لنطاق المتجه الذي سيُخفى، فيجب أن يكون *mask_time_prob* هو `prob_vector_start*mask_time_length`. لاحظ أن التداخل قد يقلل من النسبة الفعلية للمتجهات المخفية. هذا الأمر ذو صلة فقط إذا كان `apply_spec_augment is True`.

mask_time_length (`int`، *اختياري*، القيمة الافتراضية 10) : طول متجه الامتداد على محور الزمن.

mask_time_min_masks (`int`، *اختياري*، القيمة الافتراضية 2)، : الحد الأدنى لعدد الأقنعة بطول `mask_feature_length` التي يتم توليدها على محور الزمن، في كل خطوة زمنية، بغض النظر عن `mask_feature_prob`. لا ينطبق إلا إذا كان ''mask_time_prob*len(time_axis)/mask_time_length < mask_time_min_masks''

mask_feature_prob (`float`، *اختياري*، القيمة الافتراضية 0.0) : النسبة المئوية (بين 0 و 1) من جميع متجهات الميزات على محور الميزات التي سيتم إخفاؤها. يولّد إجراء الإخفاء ''mask_feature_prob*len(feature_axis)/mask_time_length'' أقنعة مستقلة على المحور. إذا كنت تستنتج من احتمال اختيار كل متجه ميزات كبداية لنطاق المتجه الذي سيُخفى، فيجب أن يكون *mask_feature_prob* هو `prob_vector_start*mask_feature_length`. لاحظ أن التداخل قد يقلل من النسبة الفعلية للمتجهات المخفية. هذا الأمر ذو صلة فقط إذا كان `apply_spec_augment is True`.

mask_feature_prob (`Union[float, int]`، *اختياري*، القيمة الافتراضية `0.0`) : النسبة المئوية (بين 0 و 1) من جميع متجهات الميزات على محور الميزات التي سيتم إخفاؤها. يولّد إجراء الإخفاء `mask_feature_prob*len(feature_axis)/mask_time_length` أقنعة مستقلة على المحور. إذا كنت تستنتج من احتمال اختيار كل متجه ميزات كبداية لنطاق المتجه الذي سيتم إخفاؤه، فيجب أن يكون *mask_feature_prob* مساوياً لـ `prob_vector_start*mask_feature_length`. لاحظ أن التداخل قد يقلل من النسبة الفعلية للمتجهات المخفية. هذا الأمر ذو صلة فقط إذا كان `apply_spec_augment` هو `True`.

mask_feature_length (`int`، *اختياري*، القيمة الافتراضية 10) : طول متجه الامتداد على محور الميزة.

mask_feature_min_masks (`int`، *اختياري*، القيمة الافتراضية 0)، : الحد الأدنى لعدد الأقنعة بطول `mask_feature_length` التي يتم توليدها على طول محور الميزة، في كل خطوة زمنية، بغض النظر عن `mask_feature_prob`. لا ينطبق إلا إذا كان ''mask_feature_prob*len(feature_axis)/mask_feature_length < mask_feature_min_masks''

num_mel_bins (`int`، *اختياري*، القيمة الافتراضية 80) : عدد ميزات ميل المستخدمة لكل ميزات الإدخال. تُستخدم بواسطة الشبكة المسبقة لفك ترميز الكلام. يجب أن تتوافق مع القيمة المستخدمة في فئة [SpeechT5Processor](/docs/transformers/main/ar/model_doc/speecht5#transformers.SpeechT5Processor).

pad_token_id (`int`، *اختياري*، القيمة الافتراضية `1`) : معرّف الرمز المستخدم للتعبئة في المفردات.

bos_token_id (`int`، *اختياري*، القيمة الافتراضية `0`) : معرّف الرمز المستخدم لبدء البث في المفردات.

eos_token_id (`Union[int, list[int]]`، *اختياري*، القيمة الافتراضية `2`) : معرّف الرمز المستخدم لنهاية البث في المفردات.

decoder_start_token_id (`int`، *اختياري*، القيمة الافتراضية `2`) : إذا بدأ نموذج encoder-decoder فك الترميز برمز مختلف عن `bos`، فهذا هو معرّف ذلك الرمز.

num_mel_bins (`int`، *اختياري*، القيمة الافتراضية `80`) : عدد ميزات ميل المستخدمة لكل إطار إدخال. يجب أن يتوافق مع القيمة المستخدمة في فئة `AutoFeatureExtractor`.

speech_decoder_prenet_layers (`int`، *اختياري*، القيمة الافتراضية 2) : عدد الطبقات في الشبكة المسبقة لفك ترميز الكلام.

speech_decoder_prenet_units (`int`، *اختياري*، القيمة الافتراضية 256) : بُعد الطبقات في الشبكة المسبقة لفك ترميز الكلام.

speech_decoder_prenet_dropout (`float`، *اختياري*، القيمة الافتراضية 0.5) : احتمال الإسقاط (dropout) لطبقات الشبكة المسبقة (pre-net) في فاحص الكلام.

speaker_embedding_dim (`int`، *اختياري*، القيمة الافتراضية 512) : بُعد متجهات التضمين *XVector*.

speech_decoder_postnet_layers (`int`، *اختياري*، القيمة الافتراضية 5) : عدد الطبقات في شبكة ما بعد المُفكِّك الصوتي.

speech_decoder_postnet_units (`int`، *اختياري*، القيمة الافتراضية 256) : بُعد الطبقات في الشبكة الخلفية (post-net) لفكّ ترميز الكلام.

speech_decoder_postnet_kernel (`int`، *اختياري*، القيمة الافتراضية 5) : عدد قنوات مرشحات الالتفاف في الشبكة الخلفية (post-net) لفك ترميز الكلام.

speech_decoder_postnet_dropout (`float`، *اختياري*، القيمة الافتراضية 0.5) : احتمال الإسقاط (dropout) لطبقات الشبكة الخلفية (post-net) في فاحص الكلام.

reduction_factor (`int`، *اختياري*، القيمة الافتراضية 2) : معامل تقليل طول الطيف الصوتي لإدخالات فك ترميز الكلام.

max_speech_positions (`int`، *اختياري*، القيمة الافتراضية 4000) : الحد الأقصى لطول تسلسل ميزات الكلام الذي قد يُستخدم مع هذا النموذج.

max_text_positions (`int`، *اختياري*، القيمة الافتراضية 450) : الحد الأقصى لطول تسلسل ميزات النص الذي قد يُستخدم مع هذا النموذج.

encoder_max_relative_position (`int`، *اختياري*، القيمة الافتراضية 160) : أقصى مسافة لتضمين الموضع النسبي في المُشفِّر.

use_guided_attention_loss (`bool`، *اختياري*، القيمة الافتراضية `True`) : ما إذا كان سيتم تطبيق خسارة الانتباه الموجّه أثناء تدريب نموذج TTS.

guided_attention_loss_num_heads (`int`، *اختياري*، القيمة الافتراضية 2) : عدد رؤوس الانتباه التي سيُطبَّق عليها خسارة الانتباه الموجَّه. استخدم -1 لتطبيق هذه الخسارة على جميع رؤوس الانتباه.

guided_attention_loss_sigma (`float`، *اختياري*، القيمة الافتراضية 0.4) : الانحراف المعياري لخسارة الانتباه الموجَّه.

guided_attention_loss_scale (`float`، *اختياري*، القيمة الافتراضية 10.0) : معامل التدرج لخسارة الانتباه الموجّه (المعروف أيضًا بـ lambda).

use_cache (`bool`، *اختياري*، القيمة الافتراضية `True`) : ما إذا كان يجب على النموذج إرجاع قيم المفاتيح/القيم الأخيرة للانتباه (لا تستخدمها جميع النماذج). لا ينطبق إلا إذا كان `config.is_decoder=True` أو عندما يكون النموذج نموذجًا توليديًا يعتمد على المُفكِّك فقط.

tie_word_embeddings (`bool`، *اختياري*، القيمة الافتراضية `True`) : ما إذا كان يجب ربط ترميزات الأوزان وفقاً لخريطة `tied_weights_keys` الخاصة بالنموذج.

هذه فئة الإعدادات المخزنة لإعدادات نموذج SpeechT5Model. تُستخدم لاستحداث نموذج Speecht5 وفقاً للحجج المحددة، مع تعريف بنية النموذج. إن استحداث إعدادات باستخدام القيم الافتراضية سيؤدي إلى إعدادات مشابهة لتلك الخاصة بـ [microsoft/speecht5_asr](https://huggingface.co/microsoft/speecht5_asr)

ترث كائنات الإعداد من [PreTrainedConfig](/docs/transformers/main/ar/main_classes/configuration#transformers.PreTrainedConfig) ويمكن استخدامها للتحكم في مخرجات النموذج. اقرأ التوثيق الخاص بـ [PreTrainedConfig](/docs/transformers/main/ar/main_classes/configuration#transformers.PreTrainedConfig) لمزيد من المعلومات.

مثال:

```python
>>> from transformers import SpeechT5Model, SpeechT5Config

>>> # Initializing a "microsoft/speecht5_asr" style configuration
>>> configuration = SpeechT5Config()

>>> # Initializing a model (with random weights) from the "microsoft/speecht5_asr" style configuration
>>> model = SpeechT5Model(configuration)

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

## SpeechT5HifiGanConfig[[transformers.SpeechT5HifiGanConfig]]

#### transformers.SpeechT5HifiGanConfig[[transformers.SpeechT5HifiGanConfig]]

```python
transformers.SpeechT5HifiGanConfig(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, model_in_dim: int = 80, sampling_rate: int = 16000, upsample_initial_channel: int = 512, upsample_rates: list[int] | tuple[int, ...] = (4, 4, 4, 4), upsample_kernel_sizes: list[int] | tuple[int, ...] = (8, 8, 8, 8), resblock_kernel_sizes: list[int] | tuple[int, ...] = (3, 7, 11), resblock_dilation_sizes: list | tuple = ((1, 3, 5), (1, 3, 5), (1, 3, 5)), initializer_range: float = 0.01, leaky_relu_slope: float = 0.1, normalize_before: bool = True)
```

[المصدر](https://github.com/huggingface/transformers/blob/main/src/transformers/models/speecht5/configuration_speecht5.py#L225)

**المعاملات:**

model_in_dim (`int`، *اختياري*، القيمة الافتراضية 80) : عدد خلايا التردد في مطياف اللوغ-ميل المدخل.

sampling_rate (`int`، *اختياري*، القيمة الافتراضية `16000`) : معدل أخذ العينات الذي يجب أن تُرقَم به ملفات الصوت، ويُعبَّر عنه بالهرتز (Hz).

upsample_initial_channel (`int`، *اختياري*، القيمة الافتراضية 512) : عدد قنوات الإدخال إلى شبكة رفع العينة.

upsample_rates (`tuple[int]` أو `list[int]`، *اختياري*، القيمة الافتراضية هي `[4, 4, 4, 4]`) : مجموعة من الأعداد الصحيحة تُعرّف الخطوة (stride) لكل طبقة تجميعية أحادية البعد في شبكة إعادة التجميع. يحدد طول *upsample_rates* عدد الطبقات التجميعية، ويجب أن يطابق طول *upsample_kernel_sizes*.

upsample_kernel_sizes (`tuple[int]` أو `list[int]`، *اختياري*، القيمة الافتراضية هي `[8, 8, 8, 8]`) : مجموعة من الأعداد الصحيحة تحدد حجم النواة لكل طبقة تجميعية أحادية البعد في شبكة إعادة التجميع. يحدد طول *upsample_kernel_sizes* عدد طبقات التجميع، ويجب أن يطابق طول *upsample_rates*.

resblock_kernel_sizes (`tuple[int]` أو `list[int]`، *اختياري*، القيمة الافتراضية هي `[3, 7, 11]`) : مجموعة من الأعداد الصحيحة تحدد أحجام النواة للطبقات التلافيفية أحادية البعد في وحدة دمج الحقول الاستقبالية المتعددة (MRF).

resblock_dilation_sizes (`tuple[tuple[int]]` أو `list[list[int]]`، *اختياري*، القيمة الافتراضية هي `[[1, 3, 5], [1, 3, 5], [1, 3, 5]]`) : مجموعة tuples متداخلة من الأعداد الصحيحة تحدد معدلات التمدد (dilation rates) لطبقات الالتفاف أحادية البعد المتمددة (dilated 1D convolutional layers) داخل وحدة دمج الحقول متعددة الاستقبال (MRF).

initializer_range (`float`، *اختياري*، القيمة الافتراضية `0.01`) : الانحراف المعياري لـ truncated_normal_initializer المستخدم لتجميع جميع مصفوفات الأوزان.

leaky_relu_slope (`float`، *اختياري*، القيمة الافتراضية 0.1) : زاوية الميل السالب المستخدمة في دالة التنشيط Leaky ReLU.

normalize_before (`bool`، *اختياري*، القيمة الافتراضية `True`) : ما إذا كان سيتم تطبيع الطيف الصوتي قبل الترميز الصوتي باستخدام المتوسط والتباين المتعلمين من المُرمِّز الصوتي.

هذه فئة الإعدادات المخزنة لإعدادات نموذج SpeechT5Model. تُستخدم لاستحداث نموذج Speecht5 وفقاً للحجج المحددة، مع تعريف بنية النموذج. إن استحداث إعدادات باستخدام القيم الافتراضية سيؤدي إلى إعدادات مشابهة لتلك الخاصة بـ [microsoft/speecht5_asr](https://huggingface.co/microsoft/speecht5_asr)

ترث كائنات الإعداد من [PreTrainedConfig](/docs/transformers/main/ar/main_classes/configuration#transformers.PreTrainedConfig) ويمكن استخدامها للتحكم في مخرجات النموذج. اقرأ التوثيق الخاص بـ [PreTrainedConfig](/docs/transformers/main/ar/main_classes/configuration#transformers.PreTrainedConfig) لمزيد من المعلومات.

مثال:

```python
>>> from transformers import SpeechT5HifiGan, SpeechT5HifiGanConfig

>>> # Initializing a "microsoft/speecht5_hifigan" style configuration
>>> configuration = SpeechT5HifiGanConfig()

>>> # Initializing a model (with random weights) from the "microsoft/speecht5_hifigan" style configuration
>>> model = SpeechT5HifiGan(configuration)

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

## SpeechT5Tokenizer[[transformers.SpeechT5Tokenizer]]

#### transformers.SpeechT5Tokenizer[[transformers.SpeechT5Tokenizer]]

```python
transformers.SpeechT5Tokenizer(vocab_file, bos_token = '<s>', eos_token = '</s>', unk_token = '<unk>', pad_token = '<pad>', normalize = False, sp_model_kwargs: dict[str, typing.Any] | None = None, **kwargs)
```

[المصدر](https://github.com/huggingface/transformers/blob/main/src/transformers/models/speecht5/tokenization_speecht5.py#L30)

**المعاملات:**

vocab_file (`str`) : ملف [SentencePiece](https://github.com/google/sentencepiece) (يحمل عادةً امتداد *.spm*) يحتوي على المفردات اللازمة لإنشاء مُجزِّئ.

bos_token (`str`, *اختياري*, القيمة الافتراضية `"<s>"`) : رمز بداية التسلسل.

eos_token (`str`, *اختياري*, الافتراضي هو `"</s>"`) : رمز نهاية التسلسل.

unk_token (`str`، *اختياري*، القيمة الافتراضية `"<unk>"`) : رمز المجهول. الرمز غير الموجود في قاموس الكلمات لا يمكن تحويله إلى معرّف، لذا يُعيَّن هذا الرمز بدلاً منه.

pad_token (`str`، *اختياري*، القيمة الافتراضية هي `"<pad>"`) : الرمز المستخدم للتعبئة، على سبيل المثال عند تجميع تسلسلات ذات أطوال مختلفة.

normalize (`bool`، *اختياري*، الافتراضي `False`) : ما إذا كان سيتم تحويل الكميات الرقمية في النص إلى نظيراتها الإنجليزية المكتوبة بالحروف.

sp_model_kwargs (`dict`، *اختياري*) : سيتم تمريرها إلى طريقة `SentencePieceProcessor.__init__()`. يمكن استخدام [غلاف Python لـ SentencePiece](https://github.com/google/sentencepiece/tree/master/python)، من بين أمور أخرى، لضبط:  - `enable_sampling`: تفعيل تنسيق تحت الكلمة. - `nbest_size`: معاملات العينة للوحدة الأحادية. غير صالح لـ BPE-Dropout.  - `nbest_size = {0,1}`: لا يتم إجراء أي عينة. - `nbest_size > 1`: يأخذ عينات من نتائج nbest_size. - `nbest_size < 0`: بافتراض أن nbest_size لا نهائي، ويأخذ عينات من جميع الفرضيات (الشبكة) باستخدام خوارزمية التصفية الأمامية والعينة الخلفية.  - `alpha`: معامل التنعيم لعينة الوحدة الأحادية، واحتمالية dropout لعمليات الدمج في BPE-dropout.

sp_model (`SentencePieceProcessor`) : معالج *SentencePiece* المستخدم لكل عملية تحويل (النص، الرموز، والمعرّفات).

أنشئ مُرمِّز SpeechT5. مبني على [SentencePiece](https://github.com/google/sentencepiece).

يرث هذا المُجزِّئ من [PreTrainedTokenizer](/docs/transformers/main/ar/main_classes/tokenizer#transformers.PythonBackend) التي تحتوي على معظم الطرق الرئيسية. ينبغي للمستخدمين الرجوع إلى هذه الفئة الأصلية لمزيد من المعلومات حول تلك الطرق.

#### __call__[[transformers.SpeechT5Tokenizer.__call__]]

```python
__call__(text: TextInput | PreTokenizedInput | list[TextInput] | list[PreTokenizedInput] | None = None, text_pair: TextInput | PreTokenizedInput | list[TextInput] | list[PreTokenizedInput] | None = None, text_target: TextInput | PreTokenizedInput | list[TextInput] | list[PreTokenizedInput] | None = None, text_pair_target: TextInput | PreTokenizedInput | list[TextInput] | list[PreTokenizedInput] | None = None, add_special_tokens: bool = True, padding: bool | str | PaddingStrategy = False, truncation: bool | str | TruncationStrategy | None = None, max_length: int | None = None, stride: int = 0, is_split_into_words: bool = False, pad_to_multiple_of: int | None = None, padding_side: str | None = None, return_tensors: str | TensorType | None = None, return_token_type_ids: bool | None = None, return_attention_mask: bool | None = None, return_overflowing_tokens: bool = False, return_special_tokens_mask: bool = False, return_offsets_mapping: bool = False, return_length: bool = False, verbose: bool = True, tokenizer_kwargs: dict[str, Any] | None = None, **kwargs)
```

[المصدر](https://github.com/huggingface/transformers/blob/main/src/transformers/tokenization_utils_base.py#L2449)

**المعاملات:**

text (`str`، `list[str]`، `list[list[str]]`، *اختياري*) : التسلسل أو الدفعة من التسلسلات المراد ترميزها. يمكن أن يكون كل تسلسل نصًا أو قائمة من النصوص (نص مُجزَّأ مسبقًا). إذا تم تقديم التسلسلات على شكل قائمة من النصوص (مُجزَّأة مسبقًا)، فيجب تعيين `is_split_into_words=True` (لرفع الغموض مع دفعة من التسلسلات).

text_pair (`str`، `list[str]`، `list[list[str]]`، *اختياري*) : التسلسل أو الدفعة من التسلسلات المراد ترميزها. يمكن أن يكون كل تسلسل نصًا أو قائمة من النصوص (نص مُجزَّأ مسبقًا). إذا تم تقديم التسلسلات على شكل قائمة من النصوص (مُجزَّأة مسبقًا)، فيجب تعيين `is_split_into_words=True` (لرفع الغموض مع دفعة من التسلسلات).

text_target (`str`، `list[str]`، `list[list[str]]`، *اختياري*) : التسلسل أو الدفعة من التسلسلات المراد ترميزها كنصوص هدف. يمكن أن يكون كل تسلسل نصًا أو قائمة من النصوص (نص مُقسَّم مسبقًا إلى وحدات). إذا تم تقديم التسلسلات على شكل قائمة من النصوص (مقسمة مسبقًا)، فيجب تعيين `is_split_into_words=True` (لرفع الغموض مع دفعة من التسلسلات).

text_pair_target (`str`، `list[str]`، `list[list[str]]`، *اختياري*) : التسلسل أو الدفعة من التسلسلات المراد ترميزها كنصوص هدف. يمكن أن يكون كل تسلسل نصًا أو قائمة من النصوص (نص مُقسَّم مسبقًا إلى وحدات). إذا تم تقديم التسلسلات على شكل قائمة من النصوص (مقسمة مسبقًا)، فيجب تعيين `is_split_into_words=True` (لرفع الغموض مع دفعة من التسلسلات).

tokenizer_kwargs (`dict[str, Any]`، *اختياري*) : معاملات إضافية (kwargs) تُمرَّر إلى مُجزِّئ الرموز (tokenizer). سيتم دمج هذه المعاملات مع المعاملات الصريحة وغيرها من المعاملات الإضافية، مع إعطاء الأولوية للمعاملات الصريحة.

add_special_tokens (`bool`، *اختياري*، القيمة الافتراضية `True`) : ما إذا كان يجب إضافة الرموز الخاصة عند ترميز التسلسلات أم لا. سيستخدم هذا الدالة الأساسية `PretrainedTokenizerBase.build_inputs_with_special_tokens`، التي تحدد الرموز التي تُضاف تلقائيًا إلى معرّفات الإدخال. وهذا مفيد إذا كنت ترغب في إضافة رموز `bos` أو `eos` تلقائيًا.

padding (`bool` أو `str` أو [PaddingStrategy](/docs/transformers/main/ar/internal/file_utils#transformers.utils.PaddingStrategy)، *اختياري*، القيمة الافتراضية هي `False`) : يُفعّل التحكم في الحشو. يقبل القيم التالية:  - `True` أو `'longest'`: حشو حتى أطول تسلسل في الدفعة (أو بدون حشو إذا تم تقديم تسلسل واحد فقط). - `'max_length'`: حشو حتى الحد الأقصى للطول المحدد بواسطة الحجة `max_length` أو حتى الحد الأقصى المقبول لطول الإدخال للنموذج إذا لم تُقدَّم تلك الحجة. - `False` أو `'do_not_pad'` (الافتراضي): بدون حشو (أي، يمكنه إخراج دفعة تحتوي على تسلسلات بطول مختلف).

truncation (`bool` أو `str` أو [TruncationStrategy](/docs/transformers/main/ar/internal/tokenization_utils#transformers.tokenization_utils_base.TruncationStrategy)، *اختياري*، القيمة الافتراضية `False`) : يُفعّل التحكم في القص. يقبل القيم التالية:  - `True` أو `'longest_first'`: يُقصّ إلى الحد الأقصى للطول المحدد عبر الحجة `max_length` أو إلى الحد الأقصى لطول الإدخال المقبول للنموذج إذا لم تُقدَّم تلك الحجة. سيؤدي هذا إلى القص رمزًا تلو الآخر، مع إزالة رمز من أطول تسلسل في الزوج إذا قُدِّم زوج من التسلسلات (أو دفعة من الأزواج). - `'only_first'`: يُقصّ إلى الحد الأقصى للطول المحدد عبر الحجة `max_length` أو إلى الحد الأقصى لطول الإدخال المقبول للنموذج إذا لم تُقدَّم تلك الحجة. سيؤدي هذا إلى قصّ التسلسل الأول من الزوج فقط إذا قُدِّم زوج من التسلسلات (أو دفعة من الأزواج). - `'only_second'`: يُقصّ إلى الحد الأقصى للطول المحدد عبر الحجة `max_length` أو إلى الحد الأقصى لطول الإدخال المقبول للنموذج إذا لم تُقدَّم تلك الحجة. سيؤدي هذا إلى قصّ التسلسل الثاني من الزوج فقط إذا قُدِّم زوج من التسلسلات (أو دفعة من الأزواج). - `False` أو `'do_not_truncate'` (الافتراضي): لا يوجد قص (أي، يمكن إخراج دفعة بأطوال تسلسلات أكبر من الحد الأقصى المقبول لحجم الإدخال للنموذج).

max_length (`int`, *اختياري*) : يتحكم في الحد الأقصى للطول الذي سيستخدمه أحد معاملات القص/الحشو. إذا تُرك غير مضبوط أو ضُبط على `None`، فسيتم استخدام الحد الأقصى للطول المحدد مسبقًا للنموذج إذا كان أحد معاملات القص/الحشو يتطلب حدًا أقصى للطول. إذا لم يكن للنموذج حد أقصى محدد لطول الإدخال (مثل XLNet)، فسيتم تعطيل القص/الحشو إلى حد أقصى للطول.

stride (`int`، *اختياري*، القيمة الافتراضية 0) : إذا تم تعيينه إلى رقم مع `max_length`، فإن الرموز الزائدة المُعاد عند `return_overflowing_tokens=True` ستحتوي على بعض الرموز من نهاية التسلسل المُقتطع المُعاد، لتوفير بعض التداخل بين التسلسلات المُقتطعة والتسلسلات الزائدة. تحدد قيمة هذا الحجة عدد الرموز المتداخلة.

is_split_into_words (`bool`، *اختياري*، القيمة الافتراضية `False`) : ما إذا كانت المدخلات مُجزّأة مسبقًا (مثل تقسيمها إلى كلمات) أم لا. إذا تم ضبطها على `True`، يفترض المُجزّئ أن المدخلات مُقسّمة مسبقًا إلى كلمات (على سبيل المثال، عن طريق تقسيمها على المسافات) وسيُجزّئها. هذا مفيد في مهام تحديد الكيانات الاسمية أو تصنيف الرموز.

pad_to_multiple_of (`int`, *اختياري*) : إذا تم ضبطه، سيتم توسيط التسلسل إلى مضاعف للقيمة المُقدَّمة. يتطلب تفعيل `padding`. وهذا مفيد بشكل خاص لتمكين استخدام نوى التENSOR على أجهزة NVIDIA التي تتمتع بقابلية حسابية `>= 7.5` (Volta).

padding_side (`str`، *اختياري*) : الجانب الذي يجب تطبيق الحشو عليه في النموذج. يجب اختياره من بين ['right', 'left']. القيمة الافتراضية تُستخرج من سمة الفئة التي تحمل الاسم نفسه.

return_tensors (`str` أو [TensorType](/docs/transformers/main/ar/internal/file_utils#transformers.TensorType)، *اختياري*) : إذا تم تعيينه، فسيُرجع تينسورات بدلاً من قائمة من الأعداد الصحيحة بلغة بايثون. القيم المقبولة هي: - `'pt'`: يُرجع كائنات `torch.Tensor` من PyTorch. - `'np'`: يُرجع كائنات `np.ndarray` من Numpy.

return_token_type_ids (`bool`، *اختياري*) : ما إذا كان يجب إرجاع معرّفات أنواع الرموز. إذا تُركت القيمة الافتراضية، فسيتم إرجاع معرّفات أنواع الرموز وفقًا للقيمة الافتراضية الخاصة بمجزّئ الرموز المحدد، كما تحددها خاصية `return_outputs`.  [ما هي معرّفات أنواع الرموز؟](../glossary#token-type-ids)

return_attention_mask (`bool`، *اختياري*) : ما إذا كان يجب إرجاع قناع الانتباه. إذا تُركت القيمة الافتراضية، فسيتم إرجاع قناع الانتباه وفقاً للقيمة الافتراضية الخاصة بمجزّئ الرموز المعني، كما هو معرّف بواسطة الخاصية `return_outputs`.  [ما هي أقنعة الانتباه؟](../glossary#attention-mask)

return_overflowing_tokens (`bool`، *اختياري*، القيمة الافتراضية `False`) : ما إذا كان سيتم إرجاع تسلسلات الرموز المتجاوزة أم لا. إذا تم تقديم زوج من تسلسلات معرّفات الإدخال (أو دفعة من الأزواج) مع `truncation_strategy = longest_first` أو `True`، فسيتم رفع خطأ بدلاً من إرجاع الرموز المتجاوزة.

return_special_tokens_mask (`bool`، *اختياري*، القيمة الافتراضية `False`) : ما إذا كان سيتم إرجاع معلومات قناع الرموز الخاصة أم لا.

return_offsets_mapping (`bool`، *اختياري*، القيمة الافتراضية `False`) : ما إذا كان يجب إرجاع `(char_start, char_end)` لكل رمز. هذه الخاصية متاحة فقط في مُرمّزيات fast التي ترث من [PreTrainedTokenizerFast](/docs/transformers/main/ar/main_classes/tokenizer#transformers.TokenizersBackend)، وإذا كنت تستخدم مُرمّزي Python، فسيُطلق هذا الدالة `NotImplementedError`.

return_length (`bool`، *اختياري*، الافتراضي `False`) : ما إذا كان يجب إرجاع أطوال المدخلات المُرمّزة أم لا.

verbose (`bool`، *اختياري*، القيمة الافتراضية `True`) : ما إذا كان يجب طباعة مزيد من المعلومات والتنبيهات أم لا.

- ****kwargs** : تُمرَّر إلى طريقة `self.tokenize()`

**يعيد:** [BatchEncoding](/docs/transformers/main/ar/main_classes/tokenizer#transformers.BatchEncoding)

[BatchEncoding](/docs/transformers/main/ar/main_classes/tokenizer#transformers.BatchEncoding) يحتوي على الحقول التالية:

- **input_ids** -- قائمة معرّفات الرموز المراد تغذيتها إلى النموذج.

  [ما هي معرّفات الإدخال؟](../glossary#input-ids)

- **token_type_ids** -- قائمة معرّفات أنواع الرموز التي تُمرَّر إلى النموذج (عندما يكون `return_token_type_ids=True` أو إذا كان *"token_type_ids"* ضمن `self.model_input_names`).

  [ما هي معرّفات أنواع الرموز؟](../glossary#token-type-ids)

- **attention_mask** -- قائمة بالفهارس تحدد الرموز التي يجب على النموذج الانتباه إليها (عندما يكون `return_attention_mask=True` أو إذا كان *"attention_mask"* ضمن `self.model_input_names`).

  [ما هي أقنعة الانتباه؟](../glossary#attention-mask)

- **overflowing_tokens** -- قائمة تسلسلات الرموز الزائدة (عند تحديد `max_length` و`return_overflowing_tokens=True`).
- **num_truncated_tokens** -- عدد الرموز التي تم اقتطاعها (عند تحديد `max_length` و`return_overflowing_tokens=True`).
- **special_tokens_mask** -- قائمة من الأصفار والواحدات، حيث تشير 1 إلى الرموز الخاصة المضافة وتُشير 0 إلى رموز التسلسل العادية (عندما تكون `add_special_tokens=True` و`return_special_tokens_mask=True`).
- **length** -- طول المدخلات (عندما يكون `return_length=True`)

الطريقة الرئيسية لتجزئة (tokenization) وتجهيز تسلسل واحد أو عدة تسلسلات، أو زوج واحد أو عدة أزواج من التسلسلات، للنموذج.

#### save_vocabulary[[transformers.SpeechT5Tokenizer.save_vocabulary]]

```python
save_vocabulary(save_directory: str, filename_prefix: str | None = None)
```

[المصدر](https://github.com/huggingface/transformers/blob/main/src/transformers/tokenization_utils_sentencepiece.py#L237)

**المعاملات:**

save_directory (`str`) : المجلد الذي سيتم فيه حفظ مفردات اللغة.

filename_prefix (`str`، *اختياري*) : بادئة اختيارية تُضاف إلى أسماء الملفات المحفوظة.

**يعيد:** `tuple(str)`

مسارات الملفات المحفوظة.

احفظ مفردات sentencepiece (انسخ الملف الأصلي) إلى مجلد.

#### فك الترميز[[transformers.SpeechT5Tokenizer.decode]]

```python
decode(token_ids: int | list[int] | list[list[int]] | np.ndarray | torch.Tensor, skip_special_tokens: bool = False, **kwargs)
```

[المصدر](https://github.com/huggingface/transformers/blob/main/src/transformers/tokenization_utils_base.py#L2885)

**المعاملات:**

token_ids (`Union[int, list[int], list[list[int]], np.ndarray, torch.Tensor]`) : تسلسل واحد أو دفعة (قائمة من التسلسلات) من معرّفات المدخلات المُرمّزة. يمكن الحصول عليها باستخدام طريقة `__call__`.

skip_special_tokens (`bool`، *اختياري*، القيمة الافتراضية `False`) : ما إذا كان يجب إزالة الرموز الخاصة أثناء فك الترميز أم لا.

kwargs (حجج كلمات مفتاحية إضافية، *اختيارية*) : سيتم تمريرها إلى طريقة فك الترميز الخاصة بالنموذج الأساسي.

**يعيد:** `Union[str, list[str]]`

النص المُفكَّك تسلسل واحد، أو قائمة من النصوص المُفكَّكة لدفعة من التسلسلات.

يحوّل تسلسلًا من المعرّفات إلى نص، أو قائمة من التسلسلات إلى قائمة من النصوص، باستخدام مُجزّئ الرموز (tokenizer) وقاموس الرموز (vocabulary)، مع خيارات لإزالة الرموز الخاصة وتنظيف مسافات تجزئة الرموز.

يشبه ذلك القيام بـ `self.convert_tokens_to_string(self.convert_ids_to_tokens(token_ids))`.

#### batch_decode[[transformers.SpeechT5Tokenizer.batch_decode]]

```python
batch_decode(sequences: list[int] | list[list[int]] | np.ndarray | torch.Tensor, skip_special_tokens: bool = False, clean_up_tokenization_spaces: bool | None = None, **kwargs)
```

[المصدر](https://github.com/huggingface/transformers/blob/main/src/transformers/tokenization_utils_base.py#L2933)

**المعاملات:**

sequences (`Union[list[int], list[list[int]], np.ndarray, torch.Tensor]`) : قائمة معرّفات المدخلات المُرمّزة. يمكن الحصول عليها باستخدام طريقة `__call__`.

skip_special_tokens (`bool`، *اختياري*، القيمة الافتراضية `False`) : ما إذا كان يجب إزالة الرموز الخاصة أثناء فك الترميز أم لا.

clean_up_tokenization_spaces (`bool`، *اختياري*) : ما إذا كان سيتم تنظيف مسافات الترميز أم لا. إذا كانت `None`، فسيتم افتراض `self.clean_up_tokenization_spaces`.

kwargs (حجج كلمات مفتاحية إضافية، *اختيارية*) : سيتم تمريرها إلى طريقة فك الترميز الخاصة بالنموذج الأساسي.

**يعيد:** `list[str]`

قائمة الجمل المُفكَّكة.

تحويل قائمة من قوائم معرّفات الرموز إلى قائمة من النصوص عن طريق استدعاء decode.

تُوفَّر هذه الطريقة من أجل التوافق مع الإصدارات السابقة. تتعامل طريقة `decode` الآن مع المدخلات المجمعة بشكل أصلي، لذا يمكنك استخدام `decode` مباشرة بدلاً من `batch_decode`.

## SpeechT5FeatureExtractor[[transformers.SpeechT5FeatureExtractor]]

#### transformers.SpeechT5FeatureExtractor[[transformers.SpeechT5FeatureExtractor]]

```python
transformers.SpeechT5FeatureExtractor(feature_size: int = 1, sampling_rate: int = 16000, padding_value: float = 0.0, do_normalize: bool = False, num_mel_bins: int = 80, hop_length: int = 16, win_length: int = 64, win_function: str = 'hann_window', fmin: float = 80, fmax: float = 7600, mel_floor: float = 1e-10, return_attention_mask: bool = True, **kwargs)
```

[المصدر](https://github.com/huggingface/transformers/blob/main/src/transformers/models/speecht5/feature_extraction_speecht5.py#L29)

**المعاملات:**

feature_size (`int`، *اختياري*، القيمة الافتراضية 1) : بُعد الميزة للميزات المستخرجة.

sampling_rate (`int`، *اختياري*، القيمة الافتراضية 16000) : معدل أخذ العينات الذي يجب أن تُرقَم به ملفات الصوت، ويُعبَّر عنه بالهرتز (Hz).

padding_value (`float`، *اختياري*، القيمة الافتراضية 0.0) : القيمة المستخدمة لملء قيم الحشو.

do_normalize (`bool`، *اختياري*، القيمة الافتراضية `False`) : ما إذا كان سيتم تطبيع المدخلات إلى متوسط صفري وتباين وحدة. يمكن أن يساعد التطبيع في تحسين أداء بعض النماذج بشكل كبير.

num_mel_bins (`int`، *اختياري*، القيمة الافتراضية 80) : عدد خلايا الترددات المييلية في ميزات الطيف الصوتي المستخرجة.

hop_length (`int`، *اختياري*، القيمة الافتراضية 16) : عدد الميلي ثانية بين النوافذ. يُشار إليه أيضاً باسم "الإزاحة" في العديد من الأوراق البحثية.

win_length (`int`، *اختياري*، القيمة الافتراضية 64) : عدد الميلي ثانية لكل نافذة.

win_function (`str`، *اختياري*، القيمة الافتراضية `"hann_window"`) : اسم لدالة النافذة المستخدمة للتقسيم إلى نوافذ، ويجب أن تكون قابلة للوصول عبر `torch.{win_function}`

fmin (`float`، *اختياري*، القيمة الافتراضية 80) : الحد الأدنى لتردد ميل بالهرتز.

fmax (`float`، *اختياري*، القيمة الافتراضية 7600) : الحد الأقصى لتردد ميل بالهرتز.

mel_floor (`float`، *اختياري*، القيمة الافتراضية 1e-10) : الحد الأدنى لقيم بنوك ترددات ميل.

return_attention_mask (`bool`، *اختياري*، الافتراضي `True`) : ما إذا كان ينبغي لـ [__call__()](/docs/transformers/main/ar/model_doc/speecht5#transformers.SpeechT5FeatureExtractor.__call__) أن يعيد `attention_mask` أم لا.

ينشئ مستخرج ميزات SpeechT5.

يمكن لهذا الصنف معالجة إشارة صوت خام مسبقاً من خلال (اختيارياً) تطبيعها إلى متوسط صفري وتباين وحدة، وذلك للاستخدام في شبكة ما قبل الترميز (prenet) في مُرمِّز الكلام الخاص بنموذج SpeechT5.

يمكن لهذه الفئة أيضًا استخراج ميزات بنك مرشحات اللوغ-ميل من الكلام الخام، لاستخدامها في الشبكة المسبقة لفك ترميز الكلام في SpeechT5.

يرث مستخرج الميزات هذا من [SequenceFeatureExtractor](/docs/transformers/main/ar/main_classes/feature_extractor#transformers.SequenceFeatureExtractor) الذي يحتوي على معظم الطرق الرئيسية. ينبغي للمستخدمين الرجوع إلى هذه الفئة الأصلية لمزيد من المعلومات حول تلك الطرق.

#### __call__[[transformers.SpeechT5FeatureExtractor.__call__]]

```python
__call__(audio: numpy.ndarray | list[float] | list[numpy.ndarray] | list[list[float]] | None = None, audio_target: numpy.ndarray | list[float] | list[numpy.ndarray] | list[list[float]] | None = None, padding: bool | str | transformers.utils.generic.PaddingStrategy = False, max_length: int | None = None, truncation: bool = False, pad_to_multiple_of: int | None = None, return_attention_mask: bool | None = None, return_tensors: str | transformers.utils.generic.TensorType | None = None, sampling_rate: int | None = None, **kwargs)
```

[المصدر](https://github.com/huggingface/transformers/blob/main/src/transformers/models/speecht5/feature_extraction_speecht5.py#L159)

**المعاملات:**

audio (`np.ndarray`، `list[float]`، `list[np.ndarray]`، `list[list[float]]`، *اختياري*) : التسلسل أو الدفعة من التسلسلات المراد معالجتها. يمكن أن يكون كل تسلسل مصفوفة numpy، أو قائمة من قيم float، أو قائمة من مصفوفات numpy، أو قائمة من قوائم قيم float. يُنتج هذا ميزات الموجة الصوتية. يجب أن يكون الصوت أحادي القناة (mono) وليس ستيريو، أي قيمة float واحدة لكل خطوة زمنية.

audio_target (`np.ndarray`، `list[float]`، `list[np.ndarray]`، `list[list[float]]`، *اختياري*) : التسلسل أو الدفعة من التسلسلات التي سيتم معالجتها كأهداف. يمكن أن يكون كل تسلسل مصفوفة numpy، أو قائمة من قيم float، أو قائمة من مصفوفات numpy، أو قائمة من قوائم قيم float. يُنتج هذا ميزات طيف log-mel.

padding (`bool` أو `str` أو [PaddingStrategy](/docs/transformers/main/ar/internal/file_utils#transformers.utils.PaddingStrategy)، *اختياري*، القيمة الافتراضية `False`) : اختيار استراتيجية لحشو التسلسلات المُعادَة (وفقًا لجانب الحشو وفهرس الحشو الخاص بالنموذج) من بين الخيارات التالية: - `True` أو `'longest'`: الحشو حتى أطول تسلسل في الدفعة (أو عدم الحشو إذا تم تقديم تسلسل واحد فقط). - `'max_length'`: الحشو حتى الحد الأقصى للطول المحدد بواسطة الحجة `max_length` أو حتى الحد الأقصى المقبول لطول الإدخال للنموذج إذا لم تُقدَّم تلك الحجة. - `False` أو `'do_not_pad'` (الافتراضي): لا يوجد حشو (أي، يمكن إخراج دفعة تحتوي على تسلسلات بطول مختلف).

max_length (`int`، *اختياري*) : الحد الأقصى لطول القائمة المُعاد، وطول الحشو اختياريًا (انظر أعلاه).

truncation (`bool`) : يُفعّل القصّ لقطع تسلسلات الإدخال الأطول من *max_length* إلى *max_length*.

pad_to_multiple_of (`int`، *اختياري*) : إذا تم ضبطه، سيتم توسيط التسلسل إلى مضاعف للقيمة المُقدَّمة. وهذا مفيد بشكل خاص لتفعيل استخدام نوى التينسور (Tensor Cores) على أجهزة NVIDIA التي تتمتع بقابلية معالجة `>= 7.5` (Volta)، أو على وحدات TPU التي تستفيد من أن تكون أطوال التسلسل مضاعفات للعدد 128.

return_attention_mask (`bool`، *اختياري*) : ما إذا كان يجب إرجاع قناع الانتباه. إذا تُركت القيمة الافتراضية، فسيتم إرجاع قناع الانتباه وفقاً للقيمة الافتراضية الخاصة بـ feature_extractor المعني. [ما هي أقنعة الانتباه؟](../glossary#attention-mask)

return_tensors (`str` أو [TensorType](/docs/transformers/main/ar/internal/file_utils#transformers.TensorType)، *اختياري*) : إذا تم تعيينه، فسيُرجع تينسورات بدلاً من قائمة من الأعداد الصحيحة بلغة بايثون. القيم المقبولة هي: - `'pt'`: يُرجع كائنات `torch.Tensor` من PyTorch. - `'np'`: يُرجع كائنات `np.ndarray` من Numpy.

sampling_rate (`int`, *اختياري*) : معدل أخذ العينات الذي تم به أخذ عينات المدخل `audio` أو `audio_target`. يُوصى بشدة بتمرير `sampling_rate` عند استدعاء الأمامي لمنع الأخطاء الصامتة.

الطريقة الرئيسية لتحويل السلسلة أو السلاسل إلى ميزات وتجهيزها للنموذج.

مرر قيمة لـ `audio` لاستخراج ميزات الموجة. مرر قيمة لـ `audio_target` لاستخراج ميزات طيف log-mel.

## SpeechT5Processor[[transformers.SpeechT5Processor]]

#### transformers.SpeechT5Processor[[transformers.SpeechT5Processor]]

```python
transformers.SpeechT5Processor(feature_extractor, tokenizer)
```

[المصدر](https://github.com/huggingface/transformers/blob/main/src/transformers/models/speecht5/processing_speecht5.py#L21)

**المعاملات:**

feature_extractor (`SpeechT5FeatureExtractor`) : مُستخرج الميزات هو مدخل مطلوب.

tokenizer (`SpeechT5Tokenizer`) : مُجزِّئ النص (tokenizer) هو مدخل مطلوب.

ينشئ SpeechT5Processor الذي يجمع مستخرج الميزات ومجزئ النص في معالج واحد.

يوفر [SpeechT5Processor](/docs/transformers/main/ar/model_doc/speecht5#transformers.SpeechT5Processor) جميع وظائف [SpeechT5FeatureExtractor](/docs/transformers/main/ar/model_doc/speecht5#transformers.SpeechT5FeatureExtractor) و[SpeechT5Tokenizer](/docs/transformers/main/ar/model_doc/speecht5#transformers.SpeechT5Tokenizer). راجع [~SpeechT5FeatureExtractor](/docs/transformers/main/ar/model_doc/speecht5#transformers.SpeechT5FeatureExtractor) و[~SpeechT5Tokenizer](/docs/transformers/main/ar/model_doc/speecht5#transformers.SpeechT5Tokenizer) لمزيد من المعلومات.

#### __call__[[transformers.SpeechT5Processor.__call__]]

```python
__call__(*args, **kwargs)
```

[المصدر](https://github.com/huggingface/transformers/blob/main/src/transformers/models/speecht5/processing_speecht5.py#L25)

**المعاملات:**

return_tensors (`str` أو [TensorType](/docs/transformers/main/ar/internal/file_utils#transformers.TensorType)، *اختياري*) : إذا تم تعيينه، فسيُرجع تينسورات من إطار عمل محدد. القيم المقبولة هي:  - `'pt'`: يُرجع كائنات `torch.Tensor` من PyTorch. - `'np'`: يُرجع كائنات `np.ndarray` من NumPy.

#### pad[[transformers.SpeechT5Processor.pad]]

```python
pad(*args, **kwargs)
```

[المصدر](https://github.com/huggingface/transformers/blob/main/src/transformers/models/speecht5/processing_speecht5.py#L74)

يجمع مدخلات الصوت والنص، بالإضافة إلى أهدافها، في دفعة مُسدَّدة.

تُملأ مدخلات الصوت بواسطة [pad()](/docs/transformers/main/ar/main_classes/feature_extractor#transformers.SequenceFeatureExtractor.pad) الخاص بـ SpeechT5FeatureExtractor. وتُملأ مدخلات النص بواسطة [pad()](/docs/transformers/main/ar/internal/tokenization_utils#transformers.PreTrainedTokenizerBase.pad) الخاص بـ SpeechT5Tokenizer.

المدخلات الصالحة هي:

- `input_ids` فقط
- `input_values` فقط
- `labels` فقط، إما طيفيات لوج-ميل أو رموز نصية
- `input_ids` ومطياف log-mel `labels`
- `input_values` والنص `labels`

يرجى الرجوع إلى وِصف الدالة (docstring) للطريقتين المذكورتين أعلاه للحصول على مزيد من المعلومات.

#### from_pretrained[[transformers.SpeechT5Processor.from_pretrained]]

```python
from_pretrained(pretrained_model_name_or_path: str | os.PathLike, cache_dir: str | os.PathLike | None = None, force_download: bool = False, local_files_only: bool = False, token: str | bool | None = None, revision: str = 'main', **kwargs)
```

[المصدر](https://github.com/huggingface/transformers/blob/main/src/transformers/processing_utils.py#L1693)

**المعاملات:**

pretrained_model_name_or_path (`str` أو `os.PathLike`) : يمكن أن يكون هذا: - نصًا، وهو *معرف النموذج* لمُستخرج ميزات مُدرَّب مسبقًا مُستضاف داخل مستودع نموذج على huggingface.co. - مسارًا إلى *مجلد* يحتوي على ملف مستخرج ميزات تم حفظه باستخدام طريقة [save_pretrained()](/docs/transformers/main/ar/main_classes/feature_extractor#transformers.FeatureExtractionMixin.save_pretrained)، على سبيل المثال `./my_model_directory/`. - مسارًا إلى ملف JSON *لمستخرج ميزات* محفوظ، على سبيل المثال `./my_model_directory/preprocessor_config.json`.

- ****kwargs** : حُجج إضافية تُمرَّر إلى كلٍّ من [from_pretrained()](/docs/transformers/main/ar/main_classes/feature_extractor#transformers.FeatureExtractionMixin.from_pretrained) و`~tokenization_utils_base.PreTrainedTokenizer.from_pretrained`.

أنشئ معالجًا مرتبطًا بنموذج مُدرَّب مسبقًا.

تستدعي طريقة الفئة هذه ببساطة مستخرج الميزات [from_pretrained()](/docs/transformers/main/ar/main_classes/feature_extractor#transformers.FeatureExtractionMixin.from_pretrained) ومعالج الصور [ImageProcessingMixin](/docs/transformers/main/ar/internal/image_processing_utils#transformers.ImageProcessingMixin) وطريقة المرمّز `~tokenization_utils_base.PreTrainedTokenizer.from_pretrained`. يُرجى الرجوع إلى سلاسل التوثيق للطرق المذكورة أعلاه لمزيد من المعلومات.

#### save_pretrained[[transformers.SpeechT5Processor.save_pretrained]]

```python
save_pretrained(save_directory, push_to_hub: bool = False, **kwargs)
```

[المصدر](https://github.com/huggingface/transformers/blob/main/src/transformers/processing_utils.py#L1108)

**المعاملات:**

save_directory (`str` أو `os.PathLike`) : المجلد الذي سيتم حفظ ملف مستخرج الميزات بصيغة JSON وملفات المُرمِّز فيه (سيتم إنشاء المجلد إذا لم يكن موجودًا).

push_to_hub (`bool`، *اختياري*، القيمة الافتراضية `False`) : ما إذا كان سيتم دفع نموذجك إلى مستودع نماذج Hugging Face بعد حفظه. يمكنك تحديد المستودع الذي تريد الدفع إليه باستخدام `repo_id` (سيكون الافتراضي هو اسم `save_directory` ضمن نطاقك).

kwargs (`dict[str, Any]`، *اختياري*) : حُجج إضافية تُمرَّر إلى طريقة [push_to_hub()](/docs/transformers/main/ar/main_classes/model#transformers.utils.PushToHubMixin.push_to_hub).

يحفظ خصائص هذا المعالج (مستخرج الميزات، المرمّز...) في المجلد المحدد بحيث يمكن إعادة تحميله باستخدام طريقة [from_pretrained()](/docs/transformers/main/ar/model_doc/wav2vec2#transformers.Wav2Vec2Processor.from_pretrained).

تستدعي طريقة الفئة هذه ببساطة [save_pretrained()](/docs/transformers/main/ar/main_classes/feature_extractor#transformers.FeatureExtractionMixin.save_pretrained) و [save_pretrained()](/docs/transformers/main/ar/internal/tokenization_utils#transformers.PreTrainedTokenizerBase.save_pretrained). يُرجى الرجوع إلى سلاسل التوثيق للطرق المذكورة أعلاه لمزيد من المعلومات.

#### batch_decode[[transformers.SpeechT5Processor.batch_decode]]

```python
batch_decode(*args, **kwargs)
```

[المصدر](https://github.com/huggingface/transformers/blob/main/src/transformers/processing_utils.py#L1948)

تُمرّر هذه الطريقة جميع معاملاتها إلى [batch_decode()](/docs/transformers/main/ar/internal/tokenization_utils#transformers.PreTrainedTokenizerBase.batch_decode) الخاصة بـ PreTrainedTokenizer. يُرجى الرجوع إلى سلسلة التوثيق (docstring) لهذه الطريقة لمزيد من المعلومات.

#### فك الترميز[[transformers.SpeechT5Processor.decode]]

```python
decode(*args, **kwargs)
```

[المصدر](https://github.com/huggingface/transformers/blob/main/src/transformers/processing_utils.py#L1957)

تُمرّر هذه الطريقة جميع معاملاتها إلى [decode()](/docs/transformers/main/ar/internal/tokenization_utils#transformers.PreTrainedTokenizerBase.decode) الخاصة بـ PreTrainedTokenizer. يُرجى الرجوع إلى سلسلة التوثيق (docstring) لهذه الطريقة لمزيد من المعلومات.

## SpeechT5Model[[transformers.SpeechT5Model]]

#### transformers.SpeechT5Model[[transformers.SpeechT5Model]]

```python
transformers.SpeechT5Model(config: SpeechT5Config, encoder: typing.Optional[torch.nn.Module] = None, decoder: typing.Optional[torch.nn.Module] = None)
```

[المصدر](https://github.com/huggingface/transformers/blob/main/src/transformers/models/speecht5/modeling_speecht5.py#L1852)

**المعاملات:**

config ([SpeechT5Config](/docs/transformers/main/ar/model_doc/speecht5#transformers.SpeechT5Config)) : فئة إعدادات النموذج التي تحتوي على جميع معاملات النموذج. عند التهيئة باستخدام ملف إعدادات، لا يتم تحميل الأوزان المرتبطة بالنموذج، بل الإعدادات فقط. راجع طريقة [from_pretrained()](/docs/transformers/main/ar/main_classes/model#transformers.PreTrainedModel.from_pretrained) لتحميل أوزان النموذج.

encoder (`PreTrainedModel`، *اختياري*) : نموذج المُشفِّر الذي سيتم استخدامه.

decoder (`PreTrainedModel`، *اختياري*) : نموذج المُفكِّك (decoder) الذي سيتم استخدامه.

نموذج SpeechT5 Encoder-Decoder الأساسي الذي يُخرج حالات مخفية خام دون أي شبكات ما قبل أو ما بعد محددة.

يرث هذا النموذج من [PreTrainedModel](/docs/transformers/main/ar/main_classes/model#transformers.PreTrainedModel). راجع توثيق الفئة الأصلية لمعرفة الطرق العامة التي تنفذها المكتبة لجميع نماذجها (مثل التنزيل أو الحفظ، وتغيير حجم تضمينات الإدخال، وقص الرؤوس، وما إلى ذلك).

هذا النموذج هو أيضاً فئة فرعية من [torch.nn.Module](https://pytorch.org/docs/stable/nn.html#torch.nn.Module) في PyTorch. استخدمه كوحدة PyTorch عادية، وارجع إلى توثيق PyTorch لكل ما يتعلق بالاستخدام العام والسلوك.

#### forward[[transformers.SpeechT5Model.forward]]

```python
forward(input_values: typing.Optional[torch.Tensor] = None, attention_mask: typing.Optional[torch.LongTensor] = None, decoder_input_values: typing.Optional[torch.Tensor] = None, decoder_attention_mask: typing.Optional[torch.LongTensor] = None, encoder_outputs: tuple[tuple[torch.Tensor]] | None = None, past_key_values: transformers.cache_utils.Cache | None = None, use_cache: bool | None = None, speaker_embeddings: typing.Optional[torch.Tensor] = None, output_attentions: bool | None = None, output_hidden_states: bool | None = None, return_dict: bool | None = None, **kwargs)
```

[المصدر](https://github.com/huggingface/transformers/blob/main/src/transformers/models/speecht5/modeling_speecht5.py#L1894)

**المعاملات:**

input_values (`torch.Tensor` من الشكل `(batch_size, sequence_length)`) : اعتمادًا على المُشفِّر المستخدم، تكون `input_values` إما: قيمًا عشرية لموجة الصوت الخام المُدخلة، أو فهارس لرموز تسلسل الإدخال في قاموس الكلمات، أو حالات خفية.

attention_mask (`torch.LongTensor` من الشكل `(batch_size, sequence_length)`، *اختياري*) : قناع لتجنّب تنفيذ الانتباه على فهارس رموز الحشو. قيم القناع المختارة من `[0, 1]`: - 1 للرموز **غير المقنّعة**، - 0 للرموز **المقنّعة**. [ما هي أقنعة الانتباه؟](../glossary#attention-mask)

decoder_input_values (`torch.Tensor` من الشكل `(batch_size, target_sequence_length)`، *اختياري*) : اعتمادًا على المُفكِّك المستخدم، تكون قيم `decoder_input_values` إما: قيمًا عشرية لميزات مرشحات log-mel المستخرجة من موجة الصوت الخام، أو فهارس لرموز تسلسل إدخال المُفكِّك في قاموس الكلمات، أو حالات مخفية.

decoder_attention_mask (`torch.LongTensor` من الشكل `(batch_size, target_sequence_length)`، *اختياري*) : السلوك الافتراضي: توليد متجه يتجاهل رموز الحشو في `decoder_input_values`. كما سيتم استخدام قناع السببية (Causal mask) افتراضيًا. إذا كنت ترغب في تغيير سلوك الحشو، فيجب عليك قراءة `SpeechT5Decoder._prepare_decoder_attention_mask` وتعديله حسب احتياجاتك. راجع الشكل 1 في [الورقة البحثية](https://huggingface.co/papers/1910.13461) لمزيد من المعلومات حول الاستراتيجية الافتراضية.

encoder_outputs (`tuple[tuple[torch.Tensor]]`، *اختياري*) : يتكوّن المصفوفة من (`last_hidden_state`، *اختياري*: `hidden_states`، *اختياري*: `attentions`) `last_hidden_state` من الشكل `(batch_size, sequence_length, hidden_size)`، *اختياري*) هو تسلسل من حالات الإخفاء عند مخرج الطبقة الأخيرة من المُشفِّر. يُستخدم في الانتباه المتقاطع (cross-attention) في المُفكِّك.

past_key_values (`~cache_utils.Cache`، *اختياري*) : حالات مخفية محسوبة مسبقًا (المفاتيح والقيم في كتل الانتباه الذاتي وكتل الانتباه المتقاطع) يمكن استخدامها لتسريع فك الترميز التسلسلي. يتكوّن هذا عادةً من `past_key_values` التي يعيدها النموذج في مرحلة سابقة من فك الترميز، عندما يكون `use_cache=True` أو `config.use_cache=True`. يُسمح فقط بتمرير كائن [Cache](/docs/transformers/main/ar/internal/generation_utils#transformers.Cache) كمدخل، راجع [دليل ذاكرة kv](https://huggingface.co/docs/transformers/en/kv_cache). إذا لم يتم تمرير `past_key_values`، فسيتم تهيئة [DynamicCache](/docs/transformers/main/ar/internal/generation_utils#transformers.DynamicCache) افتراضيًا. سيُخرج النموذج نفس تنسيق الذاكرة المؤقتة المُدخل. إذا تم استخدام `past_key_values`، يُتوقع من المستخدم إدخال `input_ids` غير المعالجة فقط (تلك التي لم تُعطَ حالات مفاتيح وقيم سابقة لها في هذا النموذج) بأبعاد `(batch_size, unprocessed_length)` بدلاً من جميع `input_ids` بأبعاد `(batch_size, sequence_length)`.

use_cache (`bool`، *اختياري*) : إذا تم ضبطه على `True`، تُعاد حالات المفاتيح والقيم `past_key_values` ويمكن استخدامها لتسريع فك الترميز (انظر `past_key_values`).

speaker_embeddings (`torch.Tensor` من الشكل `(batch_size, config.speaker_embedding_dim)`، *اختياري*) : متجه يحتوي على تضمينات المتحدثين.

output_attentions (`bool`، *اختياري*) : ما إذا كان سيتم إرجاع مصفوفات الانتباه لجميع طبقات الانتباه. راجع `attentions` ضمن المصفوفات المُرجعة لمزيد من التفاصيل.

output_hidden_states (`bool`, *اختياري*) : ما إذا كان سيتم إرجاع الحالات المخفية لجميع الطبقات. راجع `hidden_states` ضمن الموترات المُرجعة لمزيد من التفاصيل.

return_dict (`bool`، *اختياري*) : ما إذا كان سيتم إرجاع [ModelOutput](/docs/transformers/main/ar/main_classes/output#transformers.utils.ModelOutput) بدلاً من tuple عادي.

**يعيد:** [Seq2SeqModelOutput](/docs/transformers/main/ar/main_classes/output#transformers.modeling_outputs.Seq2SeqModelOutput) أو `tuple(torch.Tensor)`

[Seq2SeqModelOutput](/docs/transformers/main/ar/main_classes/output#transformers.modeling_outputs.Seq2SeqModelOutput) أو مجموعة من `torch.Tensor` (إذا تم تمرير `return_dict=False` أو عندما يكون `config.return_dict=False`) وتتضمن عناصر مختلفة اعتماداً على الإعداد ([SpeechT5Config](/docs/transformers/main/ar/model_doc/speecht5#transformers.SpeechT5Config)) والمدخلات.

تتجاوز طريقة [SpeechT5Model](/docs/transformers/main/ar/model_doc/speecht5#transformers.SpeechT5Model) الخاصة بالتقديم (forward) الطريقة الخاصة `__call__`.

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

- **last_hidden_state** (`torch.Tensor` بشكل `(batch_size, sequence_length, hidden_size)`) -- سلسلة من حالات الإخفاء عند مخرج الطبقة الأخيرة من فاحش النموذج.

  إذا تم استخدام `past_key_values`، فإن الحالة المخفية الأخيرة فقط من التسلسلات ذات الشكل `(batch_size, 1, hidden_size)` هي التي تُخرج.
- **past_key_values** (`EncoderDecoderCache`، *اختياري*، يُعاد عند تمرير `use_cache=True` أو عند `config.use_cache=True`) -- هو كائن من نوع [EncoderDecoderCache](/docs/transformers/main/ar/internal/generation_utils#transformers.EncoderDecoderCache). لمزيد من التفاصيل، راجع [دليل ذاكرة kv](https://huggingface.co/docs/transformers/en/kv_cache).

  تحتوي على حالات مخفية محسوبة مسبقًا (مفاتيح وقيم في كتل الانتباه الذاتي وكتل الانتباه المتقاطع) يمكن استخدامها (انظر مدخل `past_key_values`) لتسريع فك الترميز التسلسلي.
- **decoder_hidden_states** (`tuple(torch.Tensor)`, *اختياري*, يُعاد عند تمرير `output_hidden_states=True` أو عند `config.output_hidden_states=True`) -- مجموعة مرتبة من `torch.Tensor` (واحدة لمخرجات التضمينات، إذا كان النموذج يحتوي على طبقة تضمين، + واحدة لمخرجات كل طبقة) من الشكل `(batch_size, sequence_length, hidden_size)`.

  حالات المخفية (Hidden-states) للوحدة الترميزية (decoder) عند مخرج كل طبقة، بالإضافة إلى مخرجات التضمين الأولي الاختيارية.
- **decoder_attentions** (`tuple(torch.Tensor)`, *اختياري*, يُعاد عند تمرير `output_attentions=True` أو عند `config.output_attentions=True`) -- مجموعة مرتبة من `torch.Tensor` (واحدة لكل طبقة) من الشكل `(batch_size, num_heads, sequence_length, sequence_length)`.

  أوزان الانتباه في المفكّك، بعد softmax الانتباه، المستخدمة لحساب المتوسط المرجّح في رؤوس الانتباه الذاتي.
- **cross_attentions** (`tuple(torch.Tensor)`، *اختياري*، يُعاد عند تمرير `output_attentions=True` أو عند `config.output_attentions=True`) -- مجموعة مرتبة من `torch.Tensor` (واحدة لكل طبقة) من الشكل `(batch_size, num_heads, sequence_length, sequence_length)`.

  أوزان الانتباه في طبقة الانتباه المتقاطع للمفكّك، بعد softmax للانتباه، وتُستخدم لحساب المتوسط المرجّح في رؤوس الانتباه المتقاطع.
- **encoder_last_hidden_state** (`torch.Tensor` بشكل `(batch_size, sequence_length, hidden_size)`، *اختياري*) -- سلسلة من حالات الإخفاء عند مخرجات الطبقة الأخيرة من المُشفِّر في النموذج.
- **encoder_hidden_states** (`tuple(torch.Tensor)`, *اختياري*, يُعاد عند تمرير `output_hidden_states=True` أو عند `config.output_hidden_states=True`) -- مجموعة مرتبة من `torch.Tensor` (واحدة لمخرجات التضمينات، إذا كان النموذج يحتوي على طبقة تضمين، + واحدة لمخرجات كل طبقة) من الشكل `(batch_size, sequence_length, hidden_size)`.

  حالات المخفية للمشفّر عند مخرج كل طبقة بالإضافة إلى مخرجات التضمين الأولي الاختيارية.
- **encoder_attentions** (`tuple(torch.Tensor)`, *اختياري*, يُعاد عند تمرير `output_attentions=True` أو عند `config.output_attentions=True`) -- مجموعة مرتبة من `torch.Tensor` (واحدة لكل طبقة) من الشكل `(batch_size, num_heads, sequence_length, sequence_length)`.

  أوزان الانتباه للمُشفِّر، بعد softmax للانتباه، المُستخدَمة لحساب المتوسط الموزون في رؤوس الانتباه الذاتي.

## SpeechT5ForSpeechToText[[transformers.SpeechT5ForSpeechToText]]

#### transformers.SpeechT5ForSpeechToText[[transformers.SpeechT5ForSpeechToText]]

```python
transformers.SpeechT5ForSpeechToText(config: SpeechT5Config)
```

[المصدر](https://github.com/huggingface/transformers/blob/main/src/transformers/models/speecht5/modeling_speecht5.py#L1998)

**المعاملات:**

config ([SpeechT5Config](/docs/transformers/main/ar/model_doc/speecht5#transformers.SpeechT5Config)) : فئة إعدادات النموذج التي تحتوي على جميع معاملات النموذج. عند التهيئة باستخدام ملف إعدادات، لا يتم تحميل الأوزان المرتبطة بالنموذج، بل الإعدادات فقط. راجع طريقة [from_pretrained()](/docs/transformers/main/ar/main_classes/model#transformers.PreTrainedModel.from_pretrained) لتحميل أوزان النموذج.

نموذج SpeechT5 مع مشفّر صوتي ومفكّك نصي.

يرث هذا النموذج من [PreTrainedModel](/docs/transformers/main/ar/main_classes/model#transformers.PreTrainedModel). راجع توثيق الفئة الأصلية لمعرفة الطرق العامة التي تنفذها المكتبة لجميع نماذجها (مثل التنزيل أو الحفظ، وتغيير حجم تضمينات الإدخال، وقص الرؤوس، وما إلى ذلك).

هذا النموذج هو أيضاً فئة فرعية من [torch.nn.Module](https://pytorch.org/docs/stable/nn.html#torch.nn.Module) في PyTorch. استخدمه كوحدة PyTorch عادية، وارجع إلى توثيق PyTorch لكل ما يتعلق بالاستخدام العام والسلوك.

#### forward[[transformers.SpeechT5ForSpeechToText.forward]]

```python
forward(input_values: typing.Optional[torch.Tensor] = None, attention_mask: typing.Optional[torch.LongTensor] = None, decoder_input_ids: typing.Optional[torch.LongTensor] = None, decoder_attention_mask: typing.Optional[torch.LongTensor] = None, encoder_outputs: tuple[tuple[torch.Tensor]] | None = None, past_key_values: transformers.cache_utils.Cache | None = None, use_cache: bool | None = None, output_attentions: bool | None = None, output_hidden_states: bool | None = None, return_dict: bool | None = None, labels: typing.Optional[torch.LongTensor] = None, **kwargs)
```

[المصدر](https://github.com/huggingface/transformers/blob/main/src/transformers/models/speecht5/modeling_speecht5.py#L2034)

**المعاملات:**

input_values (`torch.Tensor` من الشكل `(batch_size, sequence_length)`) : قيم رقمية عشرية لموجة الصوت الخام المُدخلة. يمكن الحصول على هذه القيم عن طريق تحميل ملف صوتي من نوع *.flac* أو *.wav* في مصفوفة من النوع `list[float]`، أو `numpy.ndarray`، أو `torch.Tensor`، *على سبيل المثال* باستخدام مكتبة torchcodec (`pip install torchcodec`) أو مكتبة soundfile (`pip install soundfile`). ولتحضير المصفوفة إلى `input_values`، يجب استخدام [SpeechT5Processor](/docs/transformers/main/ar/model_doc/speecht5#transformers.SpeechT5Processor) لإضافة الحشو (padding) والتحويل إلى متجه (tensor) من النوع `torch.Tensor`. راجع [SpeechT5Processor.__call__()](/docs/transformers/main/ar/model_doc/speecht5#transformers.SpeechT5Processor.__call__) للتفاصيل.

attention_mask (`torch.LongTensor` من الشكل `(batch_size, sequence_length)`، *اختياري*) : قناع لتجنّب تنفيذ الانتباه على فهارس رموز الحشو. قيم القناع المختارة من `[0, 1]`: - 1 للرموز **غير المقنّعة**، - 0 للرموز **المقنّعة**. [ما هي أقنعة الانتباه؟](../glossary#attention-mask)

decoder_input_ids (`torch.LongTensor` من الشكل `(batch_size, target_sequence_length)`، *اختياري*) : فهارس رموز تسلسل مدخلات المُفكِّك في قاموس الكلمات. يمكن الحصول على الفهارس باستخدام [SpeechT5Tokenizer](/docs/transformers/main/ar/model_doc/speecht5#transformers.SpeechT5Tokenizer). راجع [PreTrainedTokenizer.encode()](/docs/transformers/main/ar/internal/tokenization_utils#transformers.PreTrainedTokenizerBase.encode) و [PreTrainedTokenizer.__call__()](/docs/transformers/main/ar/internal/tokenization_utils#transformers.PreTrainedTokenizerBase.__call__) للتفاصيل. [ما هي معرفات مدخلات المُفكِّك؟](../glossary#decoder-input-ids) يستخدم SpeechT5 الرمز `eos_token_id` كرمز بدء لتوليد `decoder_input_ids`. إذا تم استخدام `past_key_values`، فيجب إدخال `decoder_input_ids` الأخيرة فقط بشكل اختياري (انظر `past_key_values`).

decoder_attention_mask (`torch.LongTensor` من الشكل `(batch_size, target_sequence_length)`، *اختياري*) : السلوك الافتراضي: توليد متجه يتجاهل رموز الحشو في `decoder_input_values`. كما سيتم استخدام قناع السببية (Causal mask) افتراضيًا. إذا كنت ترغب في تغيير سلوك الحشو، فيجب عليك قراءة `SpeechT5Decoder._prepare_decoder_attention_mask` وتعديله حسب احتياجاتك. راجع الشكل 1 في [الورقة البحثية](https://huggingface.co/papers/1910.13461) لمزيد من المعلومات حول الاستراتيجية الافتراضية.

encoder_outputs (`tuple[tuple[torch.Tensor]]`، *اختياري*) : يتكوّن المصفوفة من (`last_hidden_state`، *اختياري*: `hidden_states`، *اختياري*: `attentions`) `last_hidden_state` من الشكل `(batch_size, sequence_length, hidden_size)`، *اختياري*) هو تسلسل من حالات الإخفاء عند مخرج الطبقة الأخيرة من المُشفِّر. يُستخدم في الانتباه المتقاطع (cross-attention) في المُفكِّك.

past_key_values (`~cache_utils.Cache`، *اختياري*) : حالات مخفية محسوبة مسبقًا (المفاتيح والقيم في كتل الانتباه الذاتي وكتل الانتباه المتقاطع) يمكن استخدامها لتسريع فك الترميز التسلسلي. يتكوّن هذا عادةً من `past_key_values` التي يعيدها النموذج في مرحلة سابقة من فك الترميز، عندما يكون `use_cache=True` أو `config.use_cache=True`. يُسمح فقط بتمرير كائن [Cache](/docs/transformers/main/ar/internal/generation_utils#transformers.Cache) كمدخل، راجع [دليل ذاكرة kv](https://huggingface.co/docs/transformers/en/kv_cache). إذا لم يتم تمرير `past_key_values`، فسيتم تهيئة [DynamicCache](/docs/transformers/main/ar/internal/generation_utils#transformers.DynamicCache) افتراضيًا. سيُخرج النموذج نفس تنسيق الذاكرة المؤقتة المُدخل. إذا تم استخدام `past_key_values`، يُتوقع من المستخدم إدخال `input_ids` غير المعالجة فقط (تلك التي لم تُعطَ حالات مفاتيح وقيم سابقة لها في هذا النموذج) بأبعاد `(batch_size, unprocessed_length)` بدلاً من جميع `input_ids` بأبعاد `(batch_size, sequence_length)`.

use_cache (`bool`، *اختياري*) : إذا تم ضبطه على `True`، تُعاد حالات المفاتيح والقيم `past_key_values` ويمكن استخدامها لتسريع فك الترميز (انظر `past_key_values`).

output_attentions (`bool`، *اختياري*) : ما إذا كان سيتم إرجاع مصفوفات الانتباه لجميع طبقات الانتباه. راجع `attentions` ضمن المصفوفات المُرجعة لمزيد من التفاصيل.

output_hidden_states (`bool`, *اختياري*) : ما إذا كان سيتم إرجاع الحالات المخفية لجميع الطبقات. راجع `hidden_states` ضمن الموترات المُرجعة لمزيد من التفاصيل.

return_dict (`bool`، *اختياري*) : ما إذا كان سيتم إرجاع [ModelOutput](/docs/transformers/main/ar/main_classes/output#transformers.utils.ModelOutput) بدلاً من tuple عادي.

labels (`torch.LongTensor` من الشكل `(batch_size, sequence_length)`، *اختياري*) : تسميات لحساب خسارة نمذجة اللغة. يجب أن تكون الفهارس إما ضمن `[0, ..., config.vocab_size]` أو -100 (انظر `input_ids` docstring). يتم تجاهل الرموز التي تكون فهارسها مضبوطة على `-100` (مقنّعة)، ولا تُحسب الخسارة إلا للرموز التي تسمياتها ضمن `[0, ..., config.vocab_size]`. يمكن الحصول على فهارس التسميات باستخدام [SpeechT5Tokenizer](/docs/transformers/main/ar/model_doc/speecht5#transformers.SpeechT5Tokenizer). راجع [PreTrainedTokenizer.encode()](/docs/transformers/main/ar/internal/tokenization_utils#transformers.PreTrainedTokenizerBase.encode) و [PreTrainedTokenizer.__call__()](/docs/transformers/main/ar/internal/tokenization_utils#transformers.PreTrainedTokenizerBase.__call__) للتفاصيل.

**يعيد:** [Seq2SeqLMOutput](/docs/transformers/main/ar/main_classes/output#transformers.modeling_outputs.Seq2SeqLMOutput) أو `tuple(torch.Tensor)`

[Seq2SeqLMOutput](/docs/transformers/main/ar/main_classes/output#transformers.modeling_outputs.Seq2SeqLMOutput) أو مجموعة من `torch.Tensor` (إذا تم تمرير `return_dict=False` أو عندما يكون `config.return_dict=False`) وتتضمن عناصر مختلفة اعتماداً على الإعداد ([SpeechT5Config](/docs/transformers/main/ar/model_doc/speecht5#transformers.SpeechT5Config)) والمدخلات.

تتجاوز طريقة [SpeechT5ForSpeechToText](/docs/transformers/main/ar/model_doc/speecht5#transformers.SpeechT5ForSpeechToText) الخاصة بالتقديم (forward) الطريقة الخاصة `__call__`.

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

- **loss** (`torch.Tensor` من الشكل `(1,)`، *اختياري*، يُعاد عند تقديم `labels`) -- خسارة نمذجة اللغة.
- **logits** (`torch.Tensor` من الشكل `(batch_size, sequence_length, config.vocab_size)`) -- درجات التنبؤ لرأس نمذجة اللغة (درجات لكل رمز في المفردات قبل SoftMax).
- **past_key_values** (`EncoderDecoderCache`، *اختياري*، يُعاد عند تمرير `use_cache=True` أو عند `config.use_cache=True`) -- هو كائن من نوع [EncoderDecoderCache](/docs/transformers/main/ar/internal/generation_utils#transformers.EncoderDecoderCache). لمزيد من التفاصيل، راجع [دليل ذاكرة kv](https://huggingface.co/docs/transformers/en/kv_cache).

  تحتوي على حالات مخفية محسوبة مسبقًا (مفاتيح وقيم في كتل الانتباه الذاتي وكتل الانتباه المتقاطع) يمكن استخدامها (انظر مدخل `past_key_values`) لتسريع فك الترميز التسلسلي.
- **decoder_hidden_states** (`tuple(torch.Tensor)`, *اختياري*, يُعاد عند تمرير `output_hidden_states=True` أو عند `config.output_hidden_states=True`) -- مجموعة مرتبة من `torch.Tensor` (واحدة لمخرجات التضمينات، إذا كان النموذج يحتوي على طبقة تضمين، + واحدة لمخرجات كل طبقة) من الشكل `(batch_size, sequence_length, hidden_size)`.

  حالات المخفية (Hidden states) لمفكّك الترميز (decoder) عند مخرج كل طبقة بالإضافة إلى مخرجات التضمين الأولي (initial embedding).
- **decoder_attentions** (`tuple(torch.Tensor)`, *اختياري*, يُعاد عند تمرير `output_attentions=True` أو عند `config.output_attentions=True`) -- مجموعة مرتبة من `torch.Tensor` (واحدة لكل طبقة) من الشكل `(batch_size, num_heads, sequence_length, sequence_length)`.

  أوزان الانتباه في المفكّك، بعد softmax الانتباه، المستخدمة لحساب المتوسط المرجّح في رؤوس الانتباه الذاتي.
- **cross_attentions** (`tuple(torch.Tensor)`، *اختياري*، يُعاد عند تمرير `output_attentions=True` أو عند `config.output_attentions=True`) -- مجموعة مرتبة من `torch.Tensor` (واحدة لكل طبقة) من الشكل `(batch_size, num_heads, sequence_length, sequence_length)`.

  أوزان الانتباه في طبقة الانتباه المتقاطع للمفكّك، بعد softmax للانتباه، وتُستخدم لحساب المتوسط المرجّح في رؤوس الانتباه المتقاطع.
- **encoder_last_hidden_state** (`torch.Tensor` بشكل `(batch_size, sequence_length, hidden_size)`، *اختياري*) -- سلسلة من حالات الإخفاء عند مخرجات الطبقة الأخيرة من المُشفِّر في النموذج.
- **encoder_hidden_states** (`tuple(torch.Tensor)`, *اختياري*, يُعاد عند تمرير `output_hidden_states=True` أو عند `config.output_hidden_states=True`) -- مجموعة مرتبة من `torch.Tensor` (واحدة لمخرجات التضمينات، إذا كان النموذج يحتوي على طبقة تضمين، + واحدة لمخرجات كل طبقة) من الشكل `(batch_size, sequence_length, hidden_size)`.

  حالات المخفية للمشفّر عند مخرج كل طبقة بالإضافة إلى مخرجات التضمين الأولي.
- **encoder_attentions** (`tuple(torch.Tensor)`, *اختياري*, يُعاد عند تمرير `output_attentions=True` أو عند `config.output_attentions=True`) -- مجموعة مرتبة من `torch.Tensor` (واحدة لكل طبقة) من الشكل `(batch_size, num_heads, sequence_length, sequence_length)`.

  أوزان الانتباه للمُشفِّر، بعد softmax للانتباه، المُستخدَمة لحساب المتوسط الموزون في رؤوس الانتباه الذاتي.

مثال:

```python
>>> from transformers import SpeechT5Processor, SpeechT5ForSpeechToText
>>> from datasets import load_dataset

>>> dataset = load_dataset(
...     "hf-internal-testing/librispeech_asr_demo", "clean", split="validation"
... )  # doctest: +IGNORE_RESULT
>>> dataset = dataset.sort("id")
>>> sampling_rate = dataset.features["audio"].sampling_rate

>>> processor = SpeechT5Processor.from_pretrained("microsoft/speecht5_asr")
>>> model = SpeechT5ForSpeechToText.from_pretrained("microsoft/speecht5_asr")

>>> # audio file is decoded on the fly
>>> inputs = processor(audio=dataset[0]["audio"]["array"], sampling_rate=sampling_rate, return_tensors="pt")
>>> predicted_ids = model.generate(**inputs, max_length=100)

>>> # transcribe speech
>>> transcription = processor.batch_decode(predicted_ids, skip_special_tokens=True)
>>> transcription[0]
'mister quilter is the apostle of the middle classes and we are glad to welcome his gospel'
```

```python
>>> inputs["labels"] = processor(text_target=dataset[0]["text"], return_tensors="pt").input_ids

>>> # compute loss
>>> loss = model(**inputs).loss
>>> round(loss.item(), 2)
19.68
```

## SpeechT5ForTextToSpeech[[transformers.SpeechT5ForTextToSpeech]]

#### transformers.SpeechT5ForTextToSpeech[[transformers.SpeechT5ForTextToSpeech]]

```python
transformers.SpeechT5ForTextToSpeech(config: SpeechT5Config)
```

[المصدر](https://github.com/huggingface/transformers/blob/main/src/transformers/models/speecht5/modeling_speecht5.py#L2310)

**المعاملات:**

config ([SpeechT5Config](/docs/transformers/main/ar/model_doc/speecht5#transformers.SpeechT5Config)) : فئة إعدادات النموذج التي تحتوي على جميع معاملات النموذج. عند التهيئة باستخدام ملف إعدادات، لا يتم تحميل الأوزان المرتبطة بالنموذج، بل الإعدادات فقط. راجع طريقة [from_pretrained()](/docs/transformers/main/ar/main_classes/model#transformers.PreTrainedModel.from_pretrained) لتحميل أوزان النموذج.

نموذج SpeechT5 مع مُشفِّر نصي ومُفكِّك صوتي.

يرث هذا النموذج من [PreTrainedModel](/docs/transformers/main/ar/main_classes/model#transformers.PreTrainedModel). راجع توثيق الفئة الأصلية لمعرفة الطرق العامة التي تنفذها المكتبة لجميع نماذجها (مثل التنزيل أو الحفظ، وتغيير حجم تضمينات الإدخال، وقص الرؤوس، وما إلى ذلك).

هذا النموذج هو أيضاً فئة فرعية من [torch.nn.Module](https://pytorch.org/docs/stable/nn.html#torch.nn.Module) في PyTorch. استخدمه كوحدة PyTorch عادية، وارجع إلى توثيق PyTorch لكل ما يتعلق بالاستخدام العام والسلوك.

#### forward[[transformers.SpeechT5ForTextToSpeech.forward]]

```python
forward(input_ids: typing.Optional[torch.LongTensor] = None, attention_mask: typing.Optional[torch.LongTensor] = None, decoder_input_values: typing.Optional[torch.Tensor] = None, decoder_attention_mask: typing.Optional[torch.LongTensor] = None, encoder_outputs: tuple[tuple[torch.Tensor]] | None = None, past_key_values: transformers.cache_utils.Cache | None = None, use_cache: bool | None = None, output_attentions: bool | None = None, output_hidden_states: bool | None = None, return_dict: bool | None = None, speaker_embeddings: typing.Optional[torch.Tensor] = None, labels: typing.Optional[torch.Tensor] = None, stop_labels: typing.Optional[torch.Tensor] = None, **kwargs)
```

[المصدر](https://github.com/huggingface/transformers/blob/main/src/transformers/models/speecht5/modeling_speecht5.py#L2341)

**المعاملات:**

input_ids (`torch.LongTensor` من الشكل `(batch_size, sequence_length)`) : فهارس رموز تسلسل الإدخال في قاموس الكلمات. يمكن الحصول على الفهارس باستخدام [SpeechT5Tokenizer](/docs/transformers/main/ar/model_doc/speecht5#transformers.SpeechT5Tokenizer). راجع [encode()](/docs/transformers/main/ar/internal/tokenization_utils#transformers.PreTrainedTokenizerBase.encode) و [__call__()](/docs/transformers/main/ar/internal/tokenization_utils#transformers.PreTrainedTokenizerBase.__call__) للتفاصيل. [ما هي معرّفات الإدخال؟](../glossary#input-ids)

attention_mask (`torch.LongTensor` من الشكل `(batch_size, sequence_length)`، *اختياري*) : قناع لتجنّب تنفيذ الانتباه على فهارس رموز الحشو. قيم القناع المختارة من `[0, 1]`: - 1 للرموز **غير المقنّعة**، - 0 للرموز **المقنّعة**. [ما هي أقنعة الانتباه؟](../glossary#attention-mask)

decoder_input_values (`torch.Tensor` من الشكل `(batch_size, sequence_length, config.num_mel_bins)`) : قيم رقمية عشرية لطيف الميّل (mel spectrogram) المدخل. يستخدم SpeechT5 طيفًا صفرًا بالكامل كرمز بداية لتوليد `decoder_input_values`. إذا تم استخدام `past_key_values`، فاختياريًا لا يجب إدخال سوى آخر `decoder_input_values` (انظر `past_key_values`).

decoder_attention_mask (`torch.LongTensor` من الشكل `(batch_size, target_sequence_length)`، *اختياري*) : السلوك الافتراضي: توليد متجه يتجاهل رموز الحشو في `decoder_input_values`. كما سيتم استخدام قناع السببية (Causal mask) افتراضيًا. إذا كنت ترغب في تغيير سلوك الحشو، فيجب عليك قراءة `SpeechT5Decoder._prepare_decoder_attention_mask` وتعديله حسب احتياجاتك. راجع الشكل 1 في [الورقة البحثية](https://huggingface.co/papers/1910.13461) لمزيد من المعلومات حول الاستراتيجية الافتراضية.

encoder_outputs (`tuple[tuple[torch.Tensor]]`، *اختياري*) : يتكوّن المصفوفة من (`last_hidden_state`، *اختياري*: `hidden_states`، *اختياري*: `attentions`) `last_hidden_state` من الشكل `(batch_size, sequence_length, hidden_size)`، *اختياري*) هو تسلسل من حالات الإخفاء عند مخرج الطبقة الأخيرة من المُشفِّر. يُستخدم في الانتباه المتقاطع (cross-attention) في المُفكِّك.

past_key_values (`~cache_utils.Cache`، *اختياري*) : حالات مخفية محسوبة مسبقًا (المفاتيح والقيم في كتل الانتباه الذاتي وكتل الانتباه المتقاطع) يمكن استخدامها لتسريع فك الترميز التسلسلي. يتكوّن هذا عادةً من `past_key_values` التي يعيدها النموذج في مرحلة سابقة من فك الترميز، عندما يكون `use_cache=True` أو `config.use_cache=True`. يُسمح فقط بتمرير كائن [Cache](/docs/transformers/main/ar/internal/generation_utils#transformers.Cache) كمدخل، راجع [دليل ذاكرة kv](https://huggingface.co/docs/transformers/en/kv_cache). إذا لم يتم تمرير `past_key_values`، فسيتم تهيئة [DynamicCache](/docs/transformers/main/ar/internal/generation_utils#transformers.DynamicCache) افتراضيًا. سيُخرج النموذج نفس تنسيق الذاكرة المؤقتة المُدخل. إذا تم استخدام `past_key_values`، يُتوقع من المستخدم إدخال `input_ids` غير المعالجة فقط (تلك التي لم تُعطَ حالات مفاتيح وقيم سابقة لها في هذا النموذج) بأبعاد `(batch_size, unprocessed_length)` بدلاً من جميع `input_ids` بأبعاد `(batch_size, sequence_length)`.

use_cache (`bool`، *اختياري*) : إذا تم ضبطه على `True`، تُعاد حالات المفاتيح والقيم `past_key_values` ويمكن استخدامها لتسريع فك الترميز (انظر `past_key_values`).

output_attentions (`bool`، *اختياري*) : ما إذا كان سيتم إرجاع مصفوفات الانتباه لجميع طبقات الانتباه. راجع `attentions` ضمن المصفوفات المُرجعة لمزيد من التفاصيل.

output_hidden_states (`bool`, *اختياري*) : ما إذا كان سيتم إرجاع الحالات المخفية لجميع الطبقات. راجع `hidden_states` ضمن الموترات المُرجعة لمزيد من التفاصيل.

return_dict (`bool`، *اختياري*) : ما إذا كان سيتم إرجاع [ModelOutput](/docs/transformers/main/ar/main_classes/output#transformers.utils.ModelOutput) بدلاً من tuple عادي.

speaker_embeddings (`torch.Tensor` من الشكل `(batch_size, config.speaker_embedding_dim)`، *اختياري*) : متجه يحتوي على تضمينات المتحدثين.

labels (`torch.Tensor` من الشكل `(batch_size, sequence_length, config.num_mel_bins)`، *اختياري*) : قيم رقمية عشرية لطيف المييل المستهدف. تُتجاهل الخطوات الزمنية (تُقنَّع) التي تم ضبطها على `-100.0` في حساب الخسارة. يمكن الحصول على الأطياف باستخدام [SpeechT5Processor](/docs/transformers/main/ar/model_doc/speecht5#transformers.SpeechT5Processor). راجع [SpeechT5Processor.__call__()](/docs/transformers/main/ar/model_doc/speecht5#transformers.SpeechT5Processor.__call__) للتفاصيل.

stop_labels (`torch.Tensor` من الشكل `(batch_size, sequence_length)`، *اختياري*) : مصفوفة ثنائية تشير إلى موضع رمز التوقف في التسلسل.

**يعيد:** [Seq2SeqSpectrogramOutput](/docs/transformers/main/ar/main_classes/output#transformers.modeling_outputs.Seq2SeqSpectrogramOutput) أو `tuple(torch.Tensor)`

[Seq2SeqSpectrogramOutput](/docs/transformers/main/ar/main_classes/output#transformers.modeling_outputs.Seq2SeqSpectrogramOutput) أو مجموعة من `torch.Tensor` (إذا تم تمرير `return_dict=False` أو عندما يكون `config.return_dict=False`) وتتضمن عناصر مختلفة اعتماداً على الإعداد ([SpeechT5Config](/docs/transformers/main/ar/model_doc/speecht5#transformers.SpeechT5Config)) والمدخلات.

تتجاوز طريقة [SpeechT5ForTextToSpeech](/docs/transformers/main/ar/model_doc/speecht5#transformers.SpeechT5ForTextToSpeech) الخاصة بالتقديم (forward) الطريقة الخاصة `__call__`.

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

- **loss** (`torch.Tensor` من الشكل `(1,)`، *اختياري*، يُعاد عند توفير `labels`) -- خسارة توليد الطيف الصوتي.
- **مطياف التردد** (`torch.Tensor` من الشكل `(batch_size, sequence_length, num_bins)`) -- مطياف التردد المتوقع.
- **past_key_values** (`EncoderDecoderCache`، *اختياري*، يُعاد عند تمرير `use_cache=True` أو عند `config.use_cache=True`) -- هو كائن من نوع [EncoderDecoderCache](/docs/transformers/main/ar/internal/generation_utils#transformers.EncoderDecoderCache). لمزيد من التفاصيل، راجع [دليل ذاكرة kv](https://huggingface.co/docs/transformers/en/kv_cache).

  تحتوي على حالات مخفية محسوبة مسبقًا (مفاتيح وقيم في كتل الانتباه الذاتي وكتل الانتباه المتقاطع) يمكن استخدامها (انظر مدخل `past_key_values`) لتسريع فك الترميز التسلسلي.
- **decoder_hidden_states** (`tuple(torch.Tensor)`, *اختياري*, يُعاد عند تمرير `output_hidden_states=True` أو عند `config.output_hidden_states=True`) -- مجموعة مرتبة من `torch.Tensor` (واحدة لمخرجات التضمينات، إذا كان النموذج يحتوي على طبقة تضمين، + واحدة لمخرجات كل طبقة) من الشكل `(batch_size, sequence_length, hidden_size)`.

  حالات المخفية (Hidden states) لمفكّك الترميز (decoder) عند مخرج كل طبقة بالإضافة إلى مخرجات التضمين الأولي (initial embedding).
- **decoder_attentions** (`tuple(torch.Tensor)`, *اختياري*, يُعاد عند تمرير `output_attentions=True` أو عند `config.output_attentions=True`) -- مجموعة مرتبة من `torch.Tensor` (واحدة لكل طبقة) من الشكل `(batch_size, num_heads, sequence_length, sequence_length)`.

  أوزان الانتباه في المفكّك، بعد softmax الانتباه، المستخدمة لحساب المتوسط المرجّح في رؤوس الانتباه الذاتي.
- **cross_attentions** (`tuple(torch.Tensor)`، *اختياري*، يُعاد عند تمرير `output_attentions=True` أو عند `config.output_attentions=True`) -- مجموعة مرتبة من `torch.Tensor` (واحدة لكل طبقة) من الشكل `(batch_size, num_heads, sequence_length, sequence_length)`.

  أوزان الانتباه في طبقة الانتباه المتقاطع للمفكّك، بعد softmax للانتباه، وتُستخدم لحساب المتوسط المرجّح في رؤوس الانتباه المتقاطع.
- **encoder_last_hidden_state** (`torch.Tensor` بشكل `(batch_size, sequence_length, hidden_size)`، *اختياري*) -- سلسلة من حالات الإخفاء عند مخرجات الطبقة الأخيرة من المُشفِّر في النموذج.
- **encoder_hidden_states** (`tuple(torch.Tensor)`, *اختياري*, يُعاد عند تمرير `output_hidden_states=True` أو عند `config.output_hidden_states=True`) -- مجموعة مرتبة من `torch.Tensor` (واحدة لمخرجات التضمينات، إذا كان النموذج يحتوي على طبقة تضمين، + واحدة لمخرجات كل طبقة) من الشكل `(batch_size, sequence_length, hidden_size)`.

  حالات المخفية للمشفّر عند مخرج كل طبقة بالإضافة إلى مخرجات التضمين الأولي.
- **encoder_attentions** (`tuple(torch.Tensor)`, *اختياري*, يُعاد عند تمرير `output_attentions=True` أو عند `config.output_attentions=True`) -- مجموعة مرتبة من `torch.Tensor` (واحدة لكل طبقة) من الشكل `(batch_size, num_heads, sequence_length, sequence_length)`.

  أوزان الانتباه للمُشفِّر، بعد softmax للانتباه، المُستخدَمة لحساب المتوسط الموزون في رؤوس الانتباه الذاتي.

مثال:

```python
>>> from transformers import SpeechT5Processor, SpeechT5ForTextToSpeech, SpeechT5HifiGan, set_seed
>>> import torch

>>> processor = SpeechT5Processor.from_pretrained("microsoft/speecht5_tts")
>>> model = SpeechT5ForTextToSpeech.from_pretrained("microsoft/speecht5_tts")
>>> vocoder = SpeechT5HifiGan.from_pretrained("microsoft/speecht5_hifigan")

>>> inputs = processor(text="Hello, my dog is cute", return_tensors="pt")
>>> speaker_embeddings = torch.zeros((1, 512))  # or load xvectors from a file

>>> set_seed(555)  # make deterministic

>>> # generate speech
>>> speech = model.generate(inputs["input_ids"], speaker_embeddings=speaker_embeddings, vocoder=vocoder)
>>> speech.shape
torch.Size([15872])
```

#### generate[[transformers.SpeechT5ForTextToSpeech.generate]]

```python
generate(input_ids: LongTensor, attention_mask: typing.Optional[torch.LongTensor] = None, speaker_embeddings: typing.Optional[torch.Tensor] = None, threshold: float = 0.5, minlenratio: float = 0.0, maxlenratio: float = 20.0, vocoder: typing.Optional[torch.nn.Module] = None, output_cross_attentions: bool = False, return_output_lengths: bool = False, **kwargs)
```

[المصدر](https://github.com/huggingface/transformers/blob/main/src/transformers/models/speecht5/modeling_speecht5.py#L2464)

**المعاملات:**

input_ids (`torch.LongTensor` من الشكل `(batch_size, sequence_length)`) : فهارس رموز تسلسل الإدخال في قاموس الكلمات. يمكن الحصول على الفهارس باستخدام [SpeechT5Tokenizer](/docs/transformers/main/ar/model_doc/speecht5#transformers.SpeechT5Tokenizer). راجع [encode()](/docs/transformers/main/ar/internal/tokenization_utils#transformers.PreTrainedTokenizerBase.encode) و [__call__()](/docs/transformers/main/ar/internal/tokenization_utils#transformers.PreTrainedTokenizerBase.__call__) للتفاصيل. [ما هي معرّفات الإدخال؟](../glossary#input-ids)

attention_mask (`torch.LongTensor` من الشكل `(batch_size, sequence_length)`) : قناع الانتباه من مُجزِّئ الرموز، وهو مطلوب للاستدلال المجمّع لإبلاغ النموذج بالأماكن التي يجب تجاهل الرموز المحشوة فيها من input_ids.

speaker_embeddings (`torch.Tensor` من الشكل `(batch_size, config.speaker_embedding_dim)`، *اختياري*) : متجه يحتوي على تضمينات المتحدثين.

threshold (`float`، *اختياري*، القيمة الافتراضية 0.5) : تنتهي التسلسل المولّد عندما تتجاوز احتمالية رمز الإيقاف المتوقع هذه القيمة.

minlenratio (`float`، *اختياري*، القيمة الافتراضية 0.0) : يُستخدم لحساب الحد الأدنى للطول المطلوب لسلسلة الإخراج.

maxlenratio (`float`، *اختياري*، القيمة الافتراضية 20.0) : يُستخدم لحساب الحد الأقصى المسموح به لطول تسلسل الإخراج.

vocoder (`nn.Module`، *اختياري*) : المُصوِّت الذي يحوّل مطياف الميّل إلى موجة صوتية. إذا كان `None`، فإن المخرَج هو مطياف الميّل.

output_cross_attentions (`bool`، *اختياري*، القيمة الافتراضية `False`) : ما إذا كان يجب إرجاع تينسورات الانتباه لطبقات الانتباه المتقاطع في المُفكِّك أم لا.

return_output_lengths (`bool`، *اختياري*، الافتراضي `False`) : ما إذا كان يجب إرجاع أطوال الطيف/الموجة الفعلية أم لا.

**يعيد:** `tuple(torch.Tensor)` يتكوّن من عناصر مختلفة اعتمادًا على المدخلات

- عندما يكون `return_output_lengths` كاذبًا
  - **مطياف التردد** (*اختياري*، يُعاد عند عدم تقديم `vocoder`) `torch.Tensor` من الشكل `(output_sequence_length, config.num_mel_bins)` -- مطياف اللوغ-ميل المتوقع.
  - **waveform** (*اختياري*، يُعاد عند توفير `vocoder`) `torch.Tensor` من الشكل `(num_frames,)` -- موجة الصوت المتوقعة.
  - **cross_attentions** (*اختياري*، يُعاد عند تعيين `output_cross_attentions` إلى `True`) `torch.Tensor` من الشكل `(config.decoder_layers, config.decoder_attention_heads, output_sequence_length, input_sequence_length)` -- مخرجات طبقات الانتباه المتقاطع في المُفكِّك.
- عندما يكون `return_output_lengths` بقيمة True
  - **الطيف الصوتي** (*اختياري*، يُعاد عند عدم تقديم `vocoder`) `torch.Tensor` من الشكل `(batch_size, output_sequence_length, config.num_mel_bins)` -- الأطياف الصوتية اللوغاريتمية المتوقعة التي تمت تعبئتها حتى الطول الأقصى.
  - **spectrogram_lengths** (*اختياري*، يُعاد عند عدم تقديم `vocoder`) `list[Int]` -- قائمة بجميع الأطوال المحددة لكل طيف صوتي.
  - **الموجات الصوتية** (*اختياري*، يُعاد عند توفير `vocoder`) `torch.Tensor` من الشكل `(batch_size, num_frames)` -- موجات الكلام المتوقعة التي تمت إضافة الحشو إليها حتى الطول الأقصى.
  - **waveform_lengths** (*اختياري*، يُعاد عند توفير `vocoder`) `list[Int]` -- قائمة بجميع الأطوال المحددة لكل موجة صوتية.
  - **cross_attentions** (*اختياري*، يُعاد عند تعيين `output_cross_attentions` إلى `True`) `torch.Tensor` من الشكل `(batch_size, config.decoder_layers, config.decoder_attention_heads, output_sequence_length, input_sequence_length)` -- مخرجات طبقات الانتباه المتقاطع في المُفكِّك.

يحوّل تسلسل الرموز المدخلة إلى تسلسل من مطيافات ميل، والتي تُحوَّل بدورها إلى موجة صوتية باستخدام مُصوِّت.

## SpeechT5ForSpeechToSpeech[[transformers.SpeechT5ForSpeechToSpeech]]

#### transformers.SpeechT5ForSpeechToSpeech[[transformers.SpeechT5ForSpeechToSpeech]]

```python
transformers.SpeechT5ForSpeechToSpeech(config: SpeechT5Config)
```

[المصدر](https://github.com/huggingface/transformers/blob/main/src/transformers/models/speecht5/modeling_speecht5.py#L2658)

**المعاملات:**

config ([SpeechT5Config](/docs/transformers/main/ar/model_doc/speecht5#transformers.SpeechT5Config)) : فئة إعدادات النموذج التي تحتوي على جميع معاملات النموذج. عند التهيئة باستخدام ملف إعدادات، لا يتم تحميل الأوزان المرتبطة بالنموذج، بل الإعدادات فقط. راجع طريقة [from_pretrained()](/docs/transformers/main/ar/main_classes/model#transformers.PreTrainedModel.from_pretrained) لتحميل أوزان النموذج.

نموذج SpeechT5 مع مُشفِّر صوتي ومُفكِّك صوتي.

يرث هذا النموذج من [PreTrainedModel](/docs/transformers/main/ar/main_classes/model#transformers.PreTrainedModel). راجع توثيق الفئة الأصلية لمعرفة الطرق العامة التي تنفذها المكتبة لجميع نماذجها (مثل التنزيل أو الحفظ، وتغيير حجم تضمينات الإدخال، وقص الرؤوس، وما إلى ذلك).

هذا النموذج هو أيضاً فئة فرعية من [torch.nn.Module](https://pytorch.org/docs/stable/nn.html#torch.nn.Module) في PyTorch. استخدمه كوحدة PyTorch عادية، وارجع إلى توثيق PyTorch لكل ما يتعلق بالاستخدام العام والسلوك.

#### forward[[transformers.SpeechT5ForSpeechToSpeech.forward]]

```python
forward(input_values: typing.Optional[torch.Tensor] = None, attention_mask: typing.Optional[torch.LongTensor] = None, decoder_input_values: typing.Optional[torch.Tensor] = None, decoder_attention_mask: typing.Optional[torch.LongTensor] = None, encoder_outputs: tuple[tuple[torch.Tensor]] | None = None, past_key_values: transformers.cache_utils.Cache | None = None, use_cache: bool | None = None, output_attentions: bool | None = None, output_hidden_states: bool | None = None, return_dict: bool | None = None, speaker_embeddings: typing.Optional[torch.Tensor] = None, labels: typing.Optional[torch.Tensor] = None, stop_labels: typing.Optional[torch.Tensor] = None, **kwargs)
```

[المصدر](https://github.com/huggingface/transformers/blob/main/src/transformers/models/speecht5/modeling_speecht5.py#L2678)

**المعاملات:**

input_values (`torch.Tensor` من الشكل `(batch_size, sequence_length)`) : قيم رقمية عشرية لموجة الصوت الخام المُدخلة. يمكن الحصول على هذه القيم عن طريق تحميل ملف صوتي من نوع *.flac* أو *.wav* في مصفوفة من النوع `list[float]`، أو `numpy.ndarray`، أو `torch.Tensor`، *على سبيل المثال* باستخدام مكتبة torchcodec (`pip install torchcodec`) أو مكتبة soundfile (`pip install soundfile`). ولتحضير المصفوفة إلى `input_values`، يجب استخدام [SpeechT5Processor](/docs/transformers/main/ar/model_doc/speecht5#transformers.SpeechT5Processor) لإضافة الحشو (padding) والتحويل إلى متجه (tensor) من النوع `torch.Tensor`. راجع [SpeechT5Processor.__call__()](/docs/transformers/main/ar/model_doc/speecht5#transformers.SpeechT5Processor.__call__) للتفاصيل.

attention_mask (`torch.LongTensor` من الشكل `(batch_size, sequence_length)`، *اختياري*) : قناع لتجنّب تنفيذ الانتباه على فهارس رموز الحشو. قيم القناع المختارة من `[0, 1]`: - 1 للرموز **غير المقنّعة**، - 0 للرموز **المقنّعة**. [ما هي أقنعة الانتباه؟](../glossary#attention-mask)

decoder_input_values (`torch.Tensor` من الشكل `(batch_size, sequence_length, config.num_mel_bins)`) : قيم رقمية عشرية لطيف الميّل (mel spectrogram) المدخل. يستخدم SpeechT5 طيفًا صفرًا بالكامل كرمز بداية لتوليد `decoder_input_values`. إذا تم استخدام `past_key_values`، فاختياريًا لا يجب إدخال سوى آخر `decoder_input_values` (انظر `past_key_values`).

decoder_attention_mask (`torch.LongTensor` من الشكل `(batch_size, target_sequence_length)`، *اختياري*) : السلوك الافتراضي: توليد متجه يتجاهل رموز الحشو في `decoder_input_values`. كما سيتم استخدام قناع السببية (Causal mask) افتراضيًا. إذا كنت ترغب في تغيير سلوك الحشو، فيجب عليك قراءة `SpeechT5Decoder._prepare_decoder_attention_mask` وتعديله حسب احتياجاتك. راجع الشكل 1 في [الورقة البحثية](https://huggingface.co/papers/1910.13461) لمزيد من المعلومات حول الاستراتيجية الافتراضية.

encoder_outputs (`tuple[tuple[torch.Tensor]]`، *اختياري*) : يتكوّن المصفوفة من (`last_hidden_state`، *اختياري*: `hidden_states`، *اختياري*: `attentions`) `last_hidden_state` من الشكل `(batch_size, sequence_length, hidden_size)`، *اختياري*) هو تسلسل من حالات الإخفاء عند مخرج الطبقة الأخيرة من المُشفِّر. يُستخدم في الانتباه المتقاطع (cross-attention) في المُفكِّك.

past_key_values (`~cache_utils.Cache`، *اختياري*) : حالات مخفية محسوبة مسبقًا (المفاتيح والقيم في كتل الانتباه الذاتي وكتل الانتباه المتقاطع) يمكن استخدامها لتسريع فك الترميز التسلسلي. يتكوّن هذا عادةً من `past_key_values` التي يعيدها النموذج في مرحلة سابقة من فك الترميز، عندما يكون `use_cache=True` أو `config.use_cache=True`. يُسمح فقط بتمرير كائن [Cache](/docs/transformers/main/ar/internal/generation_utils#transformers.Cache) كمدخل، راجع [دليل ذاكرة kv](https://huggingface.co/docs/transformers/en/kv_cache). إذا لم يتم تمرير `past_key_values`، فسيتم تهيئة [DynamicCache](/docs/transformers/main/ar/internal/generation_utils#transformers.DynamicCache) افتراضيًا. سيُخرج النموذج نفس تنسيق الذاكرة المؤقتة المُدخل. إذا تم استخدام `past_key_values`، يُتوقع من المستخدم إدخال `input_ids` غير المعالجة فقط (تلك التي لم تُعطَ حالات مفاتيح وقيم سابقة لها في هذا النموذج) بأبعاد `(batch_size, unprocessed_length)` بدلاً من جميع `input_ids` بأبعاد `(batch_size, sequence_length)`.

use_cache (`bool`، *اختياري*) : إذا تم ضبطه على `True`، تُعاد حالات المفاتيح والقيم `past_key_values` ويمكن استخدامها لتسريع فك الترميز (انظر `past_key_values`).

output_attentions (`bool`، *اختياري*) : ما إذا كان سيتم إرجاع مصفوفات الانتباه لجميع طبقات الانتباه. راجع `attentions` ضمن المصفوفات المُرجعة لمزيد من التفاصيل.

output_hidden_states (`bool`, *اختياري*) : ما إذا كان سيتم إرجاع الحالات المخفية لجميع الطبقات. راجع `hidden_states` ضمن الموترات المُرجعة لمزيد من التفاصيل.

return_dict (`bool`، *اختياري*) : ما إذا كان سيتم إرجاع [ModelOutput](/docs/transformers/main/ar/main_classes/output#transformers.utils.ModelOutput) بدلاً من tuple عادي.

speaker_embeddings (`torch.Tensor` من الشكل `(batch_size, config.speaker_embedding_dim)`، *اختياري*) : متجه يحتوي على تضمينات المتحدثين.

labels (`torch.Tensor` من الشكل `(batch_size, sequence_length, config.num_mel_bins)`، *اختياري*) : قيم رقمية عشرية لطيف المييل المستهدف. يمكن الحصول على الأطياف باستخدام [SpeechT5Processor](/docs/transformers/main/ar/model_doc/speecht5#transformers.SpeechT5Processor). راجع [SpeechT5Processor.__call__()](/docs/transformers/main/ar/model_doc/speecht5#transformers.SpeechT5Processor.__call__) للتفاصيل.

stop_labels (`torch.Tensor` من الشكل `(batch_size, sequence_length)`، *اختياري*) : مصفوفة ثنائية تشير إلى موضع رمز التوقف في التسلسل.

**يعيد:** [Seq2SeqSpectrogramOutput](/docs/transformers/main/ar/main_classes/output#transformers.modeling_outputs.Seq2SeqSpectrogramOutput) أو `tuple(torch.Tensor)`

[Seq2SeqSpectrogramOutput](/docs/transformers/main/ar/main_classes/output#transformers.modeling_outputs.Seq2SeqSpectrogramOutput) أو مجموعة من `torch.Tensor` (إذا تم تمرير `return_dict=False` أو عندما يكون `config.return_dict=False`) وتتضمن عناصر مختلفة اعتماداً على الإعداد ([SpeechT5Config](/docs/transformers/main/ar/model_doc/speecht5#transformers.SpeechT5Config)) والمدخلات.

تتجاوز طريقة [SpeechT5ForSpeechToSpeech](/docs/transformers/main/ar/model_doc/speecht5#transformers.SpeechT5ForSpeechToSpeech) الخاصة بالتقديم (forward) الطريقة الخاصة `__call__`.

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

- **loss** (`torch.Tensor` من الشكل `(1,)`، *اختياري*، يُعاد عند توفير `labels`) -- خسارة توليد الطيف الصوتي.
- **مطياف التردد** (`torch.Tensor` من الشكل `(batch_size, sequence_length, num_bins)`) -- مطياف التردد المتوقع.
- **past_key_values** (`EncoderDecoderCache`، *اختياري*، يُعاد عند تمرير `use_cache=True` أو عند `config.use_cache=True`) -- هو كائن من نوع [EncoderDecoderCache](/docs/transformers/main/ar/internal/generation_utils#transformers.EncoderDecoderCache). لمزيد من التفاصيل، راجع [دليل ذاكرة kv](https://huggingface.co/docs/transformers/en/kv_cache).

  تحتوي على حالات مخفية محسوبة مسبقًا (مفاتيح وقيم في كتل الانتباه الذاتي وكتل الانتباه المتقاطع) يمكن استخدامها (انظر مدخل `past_key_values`) لتسريع فك الترميز التسلسلي.
- **decoder_hidden_states** (`tuple(torch.Tensor)`, *اختياري*, يُعاد عند تمرير `output_hidden_states=True` أو عند `config.output_hidden_states=True`) -- مجموعة مرتبة من `torch.Tensor` (واحدة لمخرجات التضمينات، إذا كان النموذج يحتوي على طبقة تضمين، + واحدة لمخرجات كل طبقة) من الشكل `(batch_size, sequence_length, hidden_size)`.

  حالات المخفية (Hidden states) لمفكّك الترميز (decoder) عند مخرج كل طبقة بالإضافة إلى مخرجات التضمين الأولي (initial embedding).
- **decoder_attentions** (`tuple(torch.Tensor)`, *اختياري*, يُعاد عند تمرير `output_attentions=True` أو عند `config.output_attentions=True`) -- مجموعة مرتبة من `torch.Tensor` (واحدة لكل طبقة) من الشكل `(batch_size, num_heads, sequence_length, sequence_length)`.

  أوزان الانتباه في المفكّك، بعد softmax الانتباه، المستخدمة لحساب المتوسط المرجّح في رؤوس الانتباه الذاتي.
- **cross_attentions** (`tuple(torch.Tensor)`، *اختياري*، يُعاد عند تمرير `output_attentions=True` أو عند `config.output_attentions=True`) -- مجموعة مرتبة من `torch.Tensor` (واحدة لكل طبقة) من الشكل `(batch_size, num_heads, sequence_length, sequence_length)`.

  أوزان الانتباه في طبقة الانتباه المتقاطع للمفكّك، بعد softmax للانتباه، وتُستخدم لحساب المتوسط المرجّح في رؤوس الانتباه المتقاطع.
- **encoder_last_hidden_state** (`torch.Tensor` بشكل `(batch_size, sequence_length, hidden_size)`، *اختياري*) -- سلسلة من حالات الإخفاء عند مخرجات الطبقة الأخيرة من المُشفِّر في النموذج.
- **encoder_hidden_states** (`tuple(torch.Tensor)`, *اختياري*, يُعاد عند تمرير `output_hidden_states=True` أو عند `config.output_hidden_states=True`) -- مجموعة مرتبة من `torch.Tensor` (واحدة لمخرجات التضمينات، إذا كان النموذج يحتوي على طبقة تضمين، + واحدة لمخرجات كل طبقة) من الشكل `(batch_size, sequence_length, hidden_size)`.

  حالات المخفية للمشفّر عند مخرج كل طبقة بالإضافة إلى مخرجات التضمين الأولي.
- **encoder_attentions** (`tuple(torch.Tensor)`, *اختياري*, يُعاد عند تمرير `output_attentions=True` أو عند `config.output_attentions=True`) -- مجموعة مرتبة من `torch.Tensor` (واحدة لكل طبقة) من الشكل `(batch_size, num_heads, sequence_length, sequence_length)`.

  أوزان الانتباه للمُشفِّر، بعد softmax للانتباه، المُستخدَمة لحساب المتوسط الموزون في رؤوس الانتباه الذاتي.

مثال:

```python
>>> from transformers import SpeechT5Processor, SpeechT5ForSpeechToSpeech, SpeechT5HifiGan, set_seed
>>> from datasets import load_dataset
>>> import torch

>>> dataset = load_dataset(
...     "hf-internal-testing/librispeech_asr_demo", "clean", split="validation"
... )  # doctest: +IGNORE_RESULT
>>> dataset = dataset.sort("id")
>>> sampling_rate = dataset.features["audio"].sampling_rate

>>> processor = SpeechT5Processor.from_pretrained("microsoft/speecht5_vc")
>>> model = SpeechT5ForSpeechToSpeech.from_pretrained("microsoft/speecht5_vc")
>>> vocoder = SpeechT5HifiGan.from_pretrained("microsoft/speecht5_hifigan")

>>> # audio file is decoded on the fly
>>> inputs = processor(audio=dataset[0]["audio"]["array"], sampling_rate=sampling_rate, return_tensors="pt")

>>> speaker_embeddings = torch.zeros((1, 512))  # or load xvectors from a file

>>> set_seed(555)  # make deterministic

>>> # generate speech
>>> speech = model.generate_speech(inputs["input_values"], speaker_embeddings, vocoder=vocoder)
>>> speech.shape
torch.Size([77824])
```

#### generate_speech[[transformers.SpeechT5ForSpeechToSpeech.generate_speech]]

```python
generate_speech(input_values: Tensor, speaker_embeddings: typing.Optional[torch.Tensor] = None, attention_mask: typing.Optional[torch.LongTensor] = None, threshold: float = 0.5, minlenratio: float = 0.0, maxlenratio: float = 20.0, vocoder: typing.Optional[torch.nn.Module] = None, output_cross_attentions: bool = False, return_output_lengths: bool = False)
```

[المصدر](https://github.com/huggingface/transformers/blob/main/src/transformers/models/speecht5/modeling_speecht5.py#L2796)

**المعاملات:**

input_values (`torch.Tensor` من الشكل `(batch_size, sequence_length)`) : قيم رقمية عشرية لموجة الصوت الخام المدخلة. يمكن الحصول على هذه القيم عن طريق تحميل ملف صوتي من نوع *.flac* أو *.wav* في مصفوفة من النوع `list[float]`، أو `numpy.ndarray`، أو `torch.Tensor`، *على سبيل المثال* باستخدام مكتبة torchcodec (`pip install torchcodec`) أو مكتبة soundfile (`pip install soundfile`). لتحضير المصفوفة إلى `input_values`، يجب استخدام [SpeechT5Processor](/docs/transformers/main/ar/model_doc/speecht5#transformers.SpeechT5Processor) لإضافة الحشو والتحويل إلى متجه من النوع `torch.Tensor`. راجع [SpeechT5Processor.__call__()](/docs/transformers/main/ar/model_doc/speecht5#transformers.SpeechT5Processor.__call__) للتفاصيل.

speaker_embeddings (`torch.Tensor` من الشكل `(batch_size, config.speaker_embedding_dim)`، *اختياري*) : متجه يحتوي على تضمينات المتحدثين.

attention_mask (`torch.LongTensor` من الشكل `(batch_size, sequence_length)`، *اختياري*) : قناع لتجنب تنفيذ الالتفاف والانتباه على فهارس رموز الحشو. قيم القناع المختارة في `[0, 1]`: - 1 للرموز التي **ليست مقنّعة**، - 0 للرموز التي **مقنّعة**. [ما هي أقنعة الانتباه؟](../glossary#attention-mask)

threshold (`float`، *اختياري*، القيمة الافتراضية 0.5) : تنتهي التسلسل المولّد عندما تتجاوز احتمالية رمز الإيقاف المتوقع هذه القيمة.

minlenratio (`float`، *اختياري*، القيمة الافتراضية 0.0) : يُستخدم لحساب الحد الأدنى للطول المطلوب لسلسلة الإخراج.

maxlenratio (`float`، *اختياري*، القيمة الافتراضية 20.0) : يُستخدم لحساب الحد الأقصى المسموح به لطول تسلسل الإخراج.

vocoder (`nn.Module`، *اختياري*، القيمة الافتراضية `None`) : المُصوِّت الذي يحوّل طيف الميّل إلى موجة صوتية. إذا كانت `None`، فإن المخرَج هو طيف الميّل.

output_cross_attentions (`bool`، *اختياري*، القيمة الافتراضية `False`) : ما إذا كان يجب إرجاع تينسورات الانتباه لطبقات الانتباه المتقاطع في المُفكِّك أم لا.

return_output_lengths (`bool`، *اختياري*، الافتراضي `False`) : ما إذا كان يجب إرجاع أطوال الطيف/الموجة الفعلية أم لا.

**يعيد:** `tuple(torch.Tensor)` يتكوّن من عناصر مختلفة اعتمادًا على المدخلات

- عندما يكون `return_output_lengths` كاذبًا
  - **مطياف التردد** (*اختياري*، يُعاد عند عدم تقديم `vocoder`) `torch.Tensor` من الشكل `(output_sequence_length, config.num_mel_bins)` -- مطياف اللوغ-ميل المتوقع.
  - **waveform** (*اختياري*، يُعاد عند توفير `vocoder`) `torch.Tensor` من الشكل `(num_frames,)` -- موجة الصوت المتوقعة.
  - **cross_attentions** (*اختياري*، يُعاد عند تعيين `output_cross_attentions` إلى `True`) `torch.Tensor` من الشكل `(config.decoder_layers, config.decoder_attention_heads, output_sequence_length, input_sequence_length)` -- مخرجات طبقات الانتباه المتقاطع في المُفكِّك.
- عندما يكون `return_output_lengths` بقيمة True
  - **الطيف الصوتي** (*اختياري*، يُعاد عند عدم تقديم `vocoder`) `torch.Tensor` من الشكل `(batch_size, output_sequence_length, config.num_mel_bins)` -- الأطياف الصوتية اللوغاريتمية المتوقعة التي تمت تعبئتها حتى الطول الأقصى.
  - **spectrogram_lengths** (*اختياري*، يُعاد عند عدم تقديم `vocoder`) `list[Int]` -- قائمة بجميع الأطوال المحددة لكل طيف صوتي.
  - **الموجات الصوتية** (*اختياري*، يُعاد عند توفير `vocoder`) `torch.Tensor` من الشكل `(batch_size, num_frames)` -- موجات الكلام المتوقعة التي تمت إضافة الحشو إليها حتى الطول الأقصى.
  - **waveform_lengths** (*اختياري*، يُعاد عند توفير `vocoder`) `list[Int]` -- قائمة بجميع الأطوال المحددة لكل موجة صوتية.
  - **cross_attentions** (*اختياري*، يُعاد عند تعيين `output_cross_attentions` إلى `True`) `torch.Tensor` من الشكل `(batch_size, config.decoder_layers, config.decoder_attention_heads, output_sequence_length, input_sequence_length)` -- مخرجات طبقات الانتباه المتقاطع في المُفكِّك.

يحوّل موجة صوت خام إلى سلسلة من مطيافات ميل، ثم تُعاد تحويلها إلى موجة صوت باستخدام مُنشئ الصوت (Vocoder).

## SpeechT5HifiGan[[transformers.SpeechT5HifiGan]]

#### transformers.SpeechT5HifiGan[[transformers.SpeechT5HifiGan]]

```python
transformers.SpeechT5HifiGan(config: SpeechT5HifiGanConfig)
```

[المصدر](https://github.com/huggingface/transformers/blob/main/src/transformers/models/speecht5/modeling_speecht5.py#L2954)

**المعاملات:**

config ([SpeechT5HifiGanConfig](/docs/transformers/main/ar/model_doc/speecht5#transformers.SpeechT5HifiGanConfig)) : فئة إعدادات النموذج التي تحتوي على جميع معاملات النموذج. عند التهيئة باستخدام ملف إعدادات، لا يتم تحميل الأوزان المرتبطة بالنموذج، بل الإعدادات فقط. راجع طريقة [from_pretrained()](/docs/transformers/main/ar/main_classes/model#transformers.PreTrainedModel.from_pretrained) لتحميل أوزان النموذج.

مُصوِّت HiFi-GAN.

يرث هذا النموذج من [PreTrainedModel](/docs/transformers/main/ar/main_classes/model#transformers.PreTrainedModel). راجع توثيق الفئة الأصلية لمعرفة الطرق العامة التي تنفذها المكتبة لجميع نماذجها (مثل التنزيل أو الحفظ، وتغيير حجم تضمينات الإدخال، وقص الرؤوس، وما إلى ذلك).

هذا النموذج هو أيضاً فئة فرعية من [torch.nn.Module](https://pytorch.org/docs/stable/nn.html#torch.nn.Module) في PyTorch. استخدمه كوحدة PyTorch عادية، وارجع إلى توثيق PyTorch لكل ما يتعلق بالاستخدام العام والسلوك.

#### forward[[transformers.SpeechT5HifiGan.forward]]

```python
forward(spectrogram: Tensor, **kwargs)
```

[المصدر](https://github.com/huggingface/transformers/blob/main/src/transformers/models/speecht5/modeling_speecht5.py#L3022)

**المعاملات:**

spectrogram (`torch.Tensor`) : متجه يحتوي على مطيافات اللوغ-ميل. يمكن أن يكون مُجمَّعًا (batched) وبشكل `(batch_size, sequence_length, config.model_in_dim)`، أو غير مُجمَّع وبشكل `(sequence_length, config.model_in_dim)`.

**يعيد:** `torch.Tensor`

مصفوفة تحتوي على موجة الصوت. إذا كان الطيف الصوتي المدخل مُجمَّعًا (batched)، فستكون على شكل `(batch_size, num_frames,)`. وإذا لم يكن مُجمَّعًا، فستكون على شكل `(num_frames,)`.

يحوّل طيف لوج-ميل (log-mel spectrogram) إلى موجة صوتية. عند تمرير دفعة من طيفات لوج-ميل، تُعاد دفعة من الموجات الصوتية. عند تمرير طيف لوج-ميل واحد غير مُجمَّع، تُعاد موجة صوتية واحدة غير مُجمَّعة.

