# Gradium Phonon TTS

## نظرة عامة

نموذج Gradium Phonon TTS هو عائلة نماذج تحويل النص إلى كلام تعمل على الجهاز من [Gradium](https://gradium.ai)، وقد تم تدريبها وفق منهجية [Pocket TTS](./pocket_tts): حيث يقرأ محوّل سببي (causal transformer) موجهًا صوتيًا والنص، ثم يُصدر في كل خطوة كامنًا صوتيًا مستمرًا بعدد أبعاد 32 بمعدل 12.5 هرتز عبر رأس تدفق من خطوة واحدة، ويقرر رأس نهاية الكلام متى ينتهي الكلام. يتم فك ترميز الكامونات إلى صوت بمعدل 24 كيلوهرتز بواسطة [Pocket TTS audio tokenizer](./pocket_tts_audio_tokenizer) الذي يحتفظ به المعالج، وهو [PocketTTSProcessor](/docs/transformers/main/ar/model_doc/pocket_tts#transformers.PocketTTSProcessor) الخاص بـ Pocket TTS.

يختلف عن Pocket TTS في طريقة تكييف الصوت: يتكوّن موجه الصوت من كامنات (latents) ذات 512 بُعدًا من شيفرة متحدث (speaker codec) منفصلة، ويُضاف متجه متعلّم للمتحدث إلى كل موضع كامن صوتي. لم يتم إصدار شيفرة المتحدث، لذا تأتي الأصوات على شكل كامنات محسوبة مسبقًا (ملف `default-voice.safetensors` الخاص بكل نقطة تحقق، وفهرس [gradium/phonon-voices](https://huggingface.co/gradium/phonon-voices))، كما أن مُرمّز الصوت (audio tokenizer) يعمل كمفكّك (decoder) فقط: لا يمكن استنساخ الأصوات من تسجيل.

| نقطة التفتيش | المعاملات | اللغات | رخصة |
|---|---|---|---|
| [gradium/phonon-31m-en](https://huggingface.co/gradium/phonon-31m-en) | 31M | الإنجليزية | Apache 2.0 |
| [gradium/phonon-40m-en](https://huggingface.co/gradium/phonon-40m-en) | 40M | الإنجليزية | CC BY-NC 4.0 |
| [gradium/phonon-40m-fr](https://huggingface.co/gradium/phonon-40m-fr) | 40M | الفرنسية | CC BY-NC 4.0 |
| [gradium/phonon-40m-de](https://huggingface.co/gradium/phonon-40m-de) | 40M | الألمانية | CC BY-NC 4.0 |
| [gradium/phonon-40m-es](https://huggingface.co/gradium/phonon-40m-es) | 40M | الإسبانية | CC BY-NC 4.0 |
| [gradium/phonon-40m-pt](https://huggingface.co/gradium/phonon-40m-pt) | 40M | البرتغالية | CC BY-NC 4.0 |
| [gradium/phonon-40m-multilingual](https://huggingface.co/gradium/phonon-40m-multilingual) | 40M | الإنجليزية، الفرنسية، الألمانية، الإسبانية، البرتغالية | CC BY-NC 4.0 |

تُحمَّل جميعها بالطريقة نفسها: فالتبديل بين نقاط التفتيش يعني تغيير معرّف المستودع.

تمت مساهمة هذا النموذج من قِبل [Eustache Le Bihan](https://huggingface.co/eustlb). الكود الأصلي هو [gradium-ai/xn-ptts](https://github.com/gradium-ai/xn-ptts).

## نصائح للاستخدام

- جهّز المدخلات باستخدام [apply_chat_template()](/docs/transformers/main/ar/main_classes/processors#transformers.ProcessorMixin.apply_chat_template): رسالة `user` واحدة لكل نص، وعنصر `{"type": "audio"}` فارغ في موضع الصوت، ومتجهات الصوت الكامنة في `processor_kwargs={"audio_prompt_latents": [...]}`، مع `add_generation_prompt=True`.
- لا يقوم مُجزِّئ النص بكتابة الأرقام أو الكميات أو الرموز أو العناوين بشكل مفصّل، راجع [تطبيع النص](#text-normalization).
- يعيد `generate` القيم `audio_latents` و`audio_latents_mask`؛ قم بفك ترميزها باستخدام [PocketTTSProcessor.decode()](/docs/transformers/main/ar/model_doc/pocket_tts#transformers.PocketTTSProcessor.decode).
- عينة التوليد كما يفعل وقت تشغيل Gradium: `temperature` 0.3 (تباين الضوضاء الابتدائية للتدفق)، ويتوقف بعد تجاوز `eos_threshold` لقيمة logit نهاية الكلام بقليل. يبدأ `do_sample=False` التدفق من ضوضاء صفرية.
- يتم تحميل النموذج في bf16، وهو نوع البيانات الذي تُخزَّن فيه أوزانه؛ مرّر `dtype=torch.float32` على CPU لتطابق بيئة تشغيل Gradium هناك.
- قسّم النص الطويل باستخدام [PocketTTSProcessor.split_text()](/docs/transformers/main/ar/model_doc/pocket_tts#transformers.PocketTTSProcessor.split_text)، بحيث يحتوي كل جزء على محادثة واحدة.

## الاستخدام

### الصوت

الصوت هو متجه من الكمونيات `(num_frames, 512)`. كل نقطة تحقق تتضمن صوتًا واحدًا (`default-voice.safetensors`)، ويحتوي [gradium/phonon-voices](https://huggingface.co/gradium/phonon-voices) على نحو مئة صوت إضافي، بجميع اللغات، ولكل منها معرّف صوت خاص به (تُدرج `voices.jsonl` أسماءها ولغاتها ووصفاتها). يعمل أي صوت مع أي نقطة تحقق.

```python
import torch
from huggingface_hub import hf_hub_download
from safetensors.torch import load_file
from transformers import AutoProcessor, GradiumPhononTTSForConditionalGeneration

model_id = "gradium/phonon-31m-en"
processor = AutoProcessor.from_pretrained(model_id, device_map="auto")
model = GradiumPhononTTSForConditionalGeneration.from_pretrained(model_id, device_map="auto")

def load_voice(voice_id):
    """A voice of gradium/phonon-voices, as latents of shape (num_frames, 512)."""
    path = hf_hub_download("gradium/phonon-voices", f"voices/{voice_id}.safetensors")
    return load_file(path)["speaker_wavs"][0].T.float()

# Easton (en-us); the checkpoint's own voice: hf_hub_download(model_id, "default-voice.safetensors")
voice = load_voice("LMDIYE0Oa377Qh6Z")
# an empty `audio` item marks the voice
conversation = [
    {"role": "user", "content": [{"type": "audio"}, {"type": "text", "text": "Hello from Phonon."}]}
]
inputs = processor.apply_chat_template(
    conversation,
    tokenize=True,
    return_dict=True,
    add_generation_prompt=True,
    processor_kwargs={"audio_prompt_latents": [voice]},
).to(model.device)

outputs = model.generate(**inputs)
audio = processor.decode(outputs.audio_latents, outputs.audio_latents_mask)
processor.save_audio(audio, "phonon.wav")
```

### الدفعات والنص الطويل

معالجة عدة نصوص دفعة واحدة، حيث يمتلك كل نص صوته الخاص، مع تقسيم النص الطويل إلى مقاطع:

```python
text = (
    "Phonon is a small text-to-speech model that runs on your device. "
    "Long texts are split into sentences, and each chunk is one conversation of the batch."
)
chunks = processor.split_text(text)
texts = chunks + ["And this one is said by another voice."]
voices = [load_voice("LMDIYE0Oa377Qh6Z")] * len(chunks) + [load_voice("NbpkqMVS3CJeq2j8")]
conversations = [
    [{"role": "user", "content": [{"type": "audio"}, {"type": "text", "text": text}]}] for text in texts
]
inputs = processor.apply_chat_template(
    conversations,
    tokenize=True,
    return_dict=True,
    add_generation_prompt=True,
    processor_kwargs={"audio_prompt_latents": voices},
).to(model.device)

outputs = model.generate(**inputs)
audio = processor.decode(outputs.audio_latents, outputs.audio_latents_mask)
processor.save_audio([torch.cat(audio[: len(chunks)]), audio[-1]], ["long.wav", "other.wav"])
```

### تطبيع النص

يعمل مُجزّئ النص على تطبيع ما لا يعتمد على اللغة، تمامًا كما يفعل وقت التشغيل الخاص بـ Gradium:

| نص | مُجزِّئ |
|---|---|
| `“Hello” — it’s here…` | `"Hello" it's here.` |
| `hello (world); see you 🚀` | `Hello, world, see you.` |

لا يُملي الأرقام أو الكميات أو الرموز أو العناوين، إذ تعتمد على اللغة:

| نص | مُجزِّئ | بيئة التشغيل الخاصة بـ Gradium |
|---|---|---|
| `It costs $1,234.56.` | `It costs $1,234.56.` | `It costs 1 thousand 234 dollars and 56 cents.` |
| `Write to jean@gradium.ai` | `Write to jean@gradium.ai.` | `Write to jean at gradium dot A-I.` |
| `It is 21°C` | `It is 21°C.` | `It is 21 degrees Celsius.` |

بالنسبة لأولئك، استخدم تطبيع النص في بيئة تشغيل Gradium، [ptts](https://github.com/gradium-ai/xn-ptts)، أو اكتبها كاملة.

## GradiumPhononTTSConfig[[transformers.GradiumPhononTTSConfig]]

#### transformers.GradiumPhononTTSConfig[[transformers.GradiumPhononTTSConfig]]

```python
transformers.GradiumPhononTTSConfig(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, flow_head_config: dict | transformers.configuration_utils.PreTrainedConfig | None = None, vocab_size: int = 4001, hidden_size: int = 768, num_hidden_layers: int = 6, num_attention_heads: int = 12, num_key_value_heads: int | None = None, head_dim: int | None = None, intermediate_size: int = 3072, hidden_act: str = 'gelu', layer_norm_eps: float = 1e-05, attention_bias: bool = False, attention_dropout: float = 0.0, max_position_embeddings: int = 8192, rope_parameters: transformers.modeling_rope_utils.RopeParameters | dict | None = None, latent_dim: int = 32, pad_token_id: int = 3, bos_token_id: int | None = None, eos_token_id: int | None = None, audio_prompt_token_id: int = 5, audio_latent_token_id: int = 6, audio_bos_token_id: int = 4, frame_rate: float = 12.5, initializer_range: float = 0.02, use_cache: bool = True, eos_loss_weight: float = 0.1, flow_loss_num_samples: int = 4, lsd_distill_probability: float = 0.25, lsd_diagonal_weight: float = 0.75, lsd_time_logit_mean: float = 0.4, lsd_time_logit_std: float = 1.0, latent_stats_ema_steps: int = 1000, latent_stats_ema_decay: float = 0.999, audio_prompt_dim: int = 512, num_speakers: int = 1, num_speakers_vocab_size: int = 32, num_speakers_embedding_dim: int = 16, duration_delta: float = 0.0, duration_delta_embedding_dim: int = 128, duration_delta_scale: float = 1000.0, duration_delta_max_period: float = 10000.0)
```

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

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

flow_head_config (`Union[GradiumPhononTTSFlowHeadConfig, dict]`، *اختياري*) : إعدادات رأس التدفق الذي يستخرج كل حالة كامنة من حالة الخلفية المخفية.

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

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

num_hidden_layers (`int`, *اختياري*, الافتراضي هو `6`) : عدد الطبقات المخفية في مُفكِّك Transformer.

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

num_key_value_heads (`int`, *اختياري*) : هذا هو عدد رؤوس key_value التي يجب استخدامها لتنفيذ Grouped Query Attention. إذا كان `num_key_value_heads=num_attention_heads`، فسيستخدم النموذج Multi Head Attention (MHA)، وإذا كان `num_key_value_heads=1` فسيستخدم النموذج Multi Query Attention (MQA)، وإلا فسيتم استخدام GQA. عند تحويل نقطة تفتيش متعددة الرؤوس إلى نقطة تفتيش GQA، يجب بناء كل مجموعة من رؤوس key و value عن طريق meanpooling جميع الرؤوس الأصلية داخل تلك المجموعة. لمزيد من التفاصيل، راجع [هذا الورقة](https://huggingface.co/papers/2305.13245). إذا لم يتم تحديد القيمة، فسيتم افتراض `num_attention_heads`.

head_dim (`int`، *اختياري*) : بُعد رأس الانتباه. إذا كانت القيمة None، فسيتم افتراض hidden_size // num_attention_heads

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

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

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

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

attention_dropout (`float`, *اختياري*, القيمة الافتراضية `0.0`) : نسبة dropout لاحتمالات الانتباه.

max_position_embeddings (`int`، *اختياري*، الافتراضي هو `8192`) : أقصى طول تسلسل قد يُستخدم به هذا النموذج.

rope_parameters (`Union[~modeling_rope_utils.RopeParameters, dict]`، *اختياري*) : قاموس يحتوي على معاملات التهيئة الخاصة بتضمينات RoPE. يجب أن يحتوي القاموس على قيمة لـ `rope_theta`، وبشكل اختياري معاملات تُستخدم للتوسيع في حال رغبتَ في استخدام RoPE مع `max_position_embeddings` أطول.

latent_dim (`int`، *اختياري*، القيمة الافتراضية 32) : بُعد الكامن الصوتي الذي يستقبله الهيكل العظمي كمدخل (`audio_latents`)؛ يساوي `latent_dim` لرأس التدفق ولرمز الصوت.

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

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

eos_token_id (`int`, *اختياري*) : معرّف الرمز المستخدم لنهاية البث في المفردات.

audio_prompt_token_id (`int`، *اختياري*، القيمة الافتراضية 5) : معرّف رمز الوكيل (Placeholder) لإطارات موجه الصوت في `input_ids` (`<|audio_prompt|>`).

audio_latent_token_id (`int`، *اختياري*، القيمة الافتراضية 6) : معرّف الرمز الوهمي لمواقع الكمون الصوتي في `input_ids` (`<|audio_latent|>`).

audio_bos_token_id (`int`، *اختياري*، القيمة الافتراضية 4) : معرّف الرمز (Token id) لأول موضع صوتي، يغلق الاستدعاء (prompt): يحتوي على الكامن (latent) الخاص بـ BOS المُتعلَّم، والذي تُولَّد منه الإطار الأول (`<|audio_bos|>`).

frame_rate (`float`، *اختياري*، القيمة الافتراضية 12.5) : عدد كامنات الصوت لكل ثانية من الصوت: يستمد `generate` ميزانية الإطارات الافتراضية الخاصة به منه.

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

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

eos_loss_weight (`float`، *اختياري*، القيمة الافتراضية 0.1) : وزن خسارة نهاية الكلام في خسارة التدريب.

flow_loss_num_samples (`int`، *اختياري*، القيمة الافتراضية 4) : عدد سحب الضوضاء لكل إطار مستهدف في خسارة التدفق.

lsd_distill_probability (`float`، *اختياري*، القيمة الافتراضية 0.25) : الاحتمال، في كل خطوة تدريب، لحساب حد التوزيع الذاتي من خسارة LSD (مع إعادة الوزن للحفاظ على الخسارة المتوقعة)؛ القيمة 1 تعني حسابه في كل خطوة.

lsd_diagonal_weight (`float`، *اختياري*، القيمة الافتراضية 0.75) : وزن الحد القطري (تدفق لحظي) في خسارة LSD؛ بينما يزن حد التلقائي-التعليم (self-distillation) الباقي.

lsd_time_logit_mean (`float`، *اختياري*، القيمة الافتراضية 0.4) : متوسط توزيع اللوجيت-الطبيعي لأزمنة التدفق التي يسحبها خسارة LSD.

lsd_time_logit_std (`float`، *اختياري*، القيمة الافتراضية 1.0) : الانحراف المعياري لتوزيع اللوجيت-الطبيعي لأزمنة التدفق التي يسحبها خسارة LSD.

latent_stats_ema_steps (`int`، *اختياري*، القيمة الافتراضية 1000) : عدد خطوات التدريب الأولى التي يتبع فيها `latent_mean` و`latent_std` متوسطًا متحركًا أُسّيًا للقيم الكامنة المستهدفة؛ القيمة 0 تُبقيهما مجمّدين.

latent_stats_ema_decay (`float`، *اختياري*، القيمة الافتراضية 0.999) : معدل التلاشي لذلك المتوسط المتحرك.

audio_prompt_dim (`int`، *اختياري*، القيمة الافتراضية 512) : بُعد كامنات موجه الصوت (`audio_prompt_latents`)، وهي الكامنات غير المُكمّاة لرمز المتكلم الخاص بـ Gradium (وهو مُشفِّر Mimi، وليس مُرمِّز الصوت)، التي تُحوِّلها البنية الأساسية إلى `hidden_size`.

num_speakers (`int`، *اختياري*، القيمة الافتراضية 1) : قيمة شرط `num_speakers` : صف جدول البحث الخاص به المُضاف إلى كل موضع كامن للصوت.

num_speakers_vocab_size (`int`، *اختياري*، القيمة الافتراضية 32) : عدد صفوف جدول البحث `num_speakers`.

num_speakers_embedding_dim (`int`, *اختياري*, القيمة الافتراضية 16) : عرض جدول البحث `num_speakers`، المُسقَط إلى `hidden_size`.

duration_delta (`float`، *اختياري*، القيمة الافتراضية 0.0) : قيمة شرط `duration_delta`، المُضمَّنة جيبيًا (sinusoidally) والمُضافة إلى كل موضع كامن (latent) في الصوت.

duration_delta_embedding_dim (`int`، *اختياري*، القيمة الافتراضية 128) : حجم التضمين الجيبية لـ`duration_delta`، المُسقط إلى `hidden_size`.

duration_delta_scale (`float`، *اختياري*، القيمة الافتراضية 1000.0) : العامل المطبَّق على `duration_delta` قبل تضمينه الجيبية.

duration_delta_max_period (`float`، *اختياري*، القيمة الافتراضية 10000.0) : الحد الأقصى لدورة التضمين الجيبية لـ`duration_delta`.

هذه فئة الإعدادات المخزنة لإعدادات نموذج GradiumPhononTTSModel. تُستخدم لاستحداث نموذج Gradium Phonon Tts وفقاً للحجج المحددة، مع تعريف بنية النموذج. إن استحداث إعدادات باستخدام القيم الافتراضية سيؤدي إلى إعدادات مشابهة لتلك الخاصة بـ [gradium/phonon-31m-en](https://huggingface.co/gradium/phonon-31m-en)

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

## GradiumPhononTTSFlowHeadConfig[[transformers.GradiumPhononTTSFlowHeadConfig]]

#### transformers.GradiumPhononTTSFlowHeadConfig[[transformers.GradiumPhononTTSFlowHeadConfig]]

```python
transformers.GradiumPhononTTSFlowHeadConfig(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, hidden_size: int = 512, num_hidden_layers: int = 6, latent_dim: int = 32, condition_dim: int = 768, frequency_embedding_size: int = 256, hidden_act: str = 'silu', layer_norm_eps: float = 1e-06, rms_norm_eps: float = 1e-05, max_period: float = 10000.0, flow_type: typing.Literal['lsd', 'drifting'] = 'lsd', loss_weighting_hidden_size: int = 32, loss_weighting_num_layers: int = 3)
```

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

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

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

num_hidden_layers (`int`, *اختياري*, الافتراضي هو `6`) : عدد الطبقات المخفية في مُفكِّك Transformer.

latent_dim (`int`، *اختياري*، القيمة الافتراضية 32) : بُعد الكامن الصوتي المستمر الذي يتنبأ به الرأس (بُعد الكامن لمُرمِّز الصوت).

condition_dim (`int`، *اختياري*، القيمة الافتراضية 768) : بُعد حالة الخلفية المخفية التي يُشترط عليها الرأس (حالة الخلفية المخفية `hidden_size`).

frequency_embedding_size (`int`، *اختياري*، القيمة الافتراضية 256) : حجم التضمين الجيبية لأزمنة التدفق.

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

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

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

max_period (`float`، *اختياري*، القيمة الافتراضية 10000.0) : الحد الأقصى لدورة التضمين الزمني الجيبية، والذي يخزّنه نقطة الحفظ على شكل `freqs`.

flow_type (`str`، *اختياري*، القيمة الافتراضية `"lsd"`) : الهدف الذي تم تدريب الرأس عليه، والذي يحدد كيفية تكييفه وعيّنته. `"lsd"` (التباعد الذاتي لاغرانجي): مُكيَّف على أوقات البداية والنهاية لخطوة التدفق، ويُعَيَّن بخطوات أويلر من ضوضاء غاوسية. `"drifting"`: لا يوجد تكييف زمني، حيث يُحوِّل الرأس الضوضاء إلى الكمون في استدعاء واحد.

loss_weighting_hidden_size (`int`، *اختياري*، القيمة الافتراضية 32) : عرض شبكة MLP التي تتعلم وزن عدم اليقين لمصطلحات خسارة LSD من أزمنة تدفقها (للتدريب فقط).

loss_weighting_num_layers (`int`، *اختياري*، القيمة الافتراضية 3) : عدد الطبقات المخفية لذلك MLP.

هذه فئة الإعدادات المخزنة لإعدادات نموذج GradiumPhononTTSModel. تُستخدم لاستحداث نموذج Gradium Phonon Tts وفقاً للحجج المحددة، مع تعريف بنية النموذج. إن استحداث إعدادات باستخدام القيم الافتراضية سيؤدي إلى إعدادات مشابهة لتلك الخاصة بـ [gradium/phonon-31m-en](https://huggingface.co/gradium/phonon-31m-en)

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

## GradiumPhononTTSModel[[transformers.GradiumPhononTTSModel]]

#### transformers.GradiumPhononTTSModel[[transformers.GradiumPhononTTSModel]]

```python
transformers.GradiumPhononTTSModel(config: GradiumPhononTTSConfig)
```

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

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

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

الهيكل الأساسي لنظام Gradium Phonon TTS: محوّل سببي (causal transformer) يعمل على تدفق واحد يتكوّن من موجه الصوت (متغيرات كودك المتحدث)، ورموز النص، ومتغيرات الصوت، ويعيد الحالات المخفية المعيارية.

يرث هذا النموذج من [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.GradiumPhononTTSModel.forward]]

```python
forward(input_ids: typing.Optional[torch.LongTensor] = None, audio_prompt_latents: typing.Optional[torch.Tensor] = None, audio_prompt_latents_mask: typing.Optional[torch.Tensor] = None, audio_latents: typing.Optional[torch.Tensor] = None, audio_latents_mask: typing.Optional[torch.Tensor] = None, attention_mask: typing.Optional[torch.Tensor] = None, position_ids: typing.Optional[torch.LongTensor] = None, past_key_values: transformers.cache_utils.Cache | None = None, inputs_embeds: typing.Optional[torch.Tensor] = None, use_cache: bool | None = None, **kwargs: *<class 'transformers.utils.generic.TransformersKwargs'>)
```

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

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

input_ids (`torch.LongTensor` من الشكل `(batch_size, sequence_length)`، *اختياري*) : فهارس رموز تسلسل الإدخال في قاموس الكلمات. سيتم تجاهل الحشو افتراضيًا. يمكن الحصول على الفهارس باستخدام [AutoTokenizer](/docs/transformers/main/ar/model_doc/auto#transformers.AutoTokenizer). راجع [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#input-ids)

audio_prompt_latents (`torch.Tensor` من الشكل `(batch_size, num_prompt_frames, latent_dim)`، *اختياري*) : متغيرات (latents) تلميحات الصوت لمُرمِّز الصوت (المُرمَّزة بواسطة المُعالِج، أو من `voices/` نقطة الحفظ)، مُملوءة يمينًا حتى أطول صوت في الدفعة، وموزعة في مواضع `audio_prompt_token_id`.

audio_prompt_latents_mask (`torch.Tensor` من الشكل `(batch_size, num_prompt_frames)`، *اختياري*) : قناع لإطارات الصوت (`1`) على عكس الحشو (`0`) في `audio_prompt_latents`.

audio_latents (`torch.Tensor` من الشكل `(batch_size, num_latents, latent_dim)`، *اختياري*) : كامنات صوتية مُطبَّعة، موزَّعة في مواضع `audio_latent_token_id`. أما موضع `audio_bos_token_id` الذي يسبقها، والذي يُغلق المُوجِّه ومنه يتم توليد الإطار الأول، فيحصل دائمًا على كامن BOS المُتعلَّم.

audio_latents_mask (`torch.Tensor` من الشكل `(batch_size, num_latents)`، *اختياري*) : قناع لكل صف من الكامنات (`1`) مقابل الحشو (`0`) في `audio_latents`، عندما تحتوي الصفوف على أعداد مختلفة من المواضع الكامنة (التدريب).

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

position_ids (`torch.LongTensor` من الشكل `(batch_size, sequence_length)`، *اختياري*) : فهارس مواضع رموز كل تسلسل إدخال في تضمينات المواضع. يتم اختيارها من النطاق `[0, config.n_positions - 1]`.  [ما هي معرّفات المواضع؟](../glossary#position-ids)

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)`.

inputs_embeds (`torch.Tensor` من الشكل `(batch_size, sequence_length, hidden_size)`، *اختياري*) : بدلاً من تمرير `input_ids`، يمكنك اختيار تمرير تمثيل مضمّن مباشرةً. هذا مفيد إذا كنت ترغب في الحصول على مزيد من التحكم في كيفية تحويل فهارس `input_ids` إلى المتجهات المرتبطة بها، مقارنةً بمصفوفة البحث المضمّنة الداخلية للنموذج.

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

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

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

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

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

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

  إذا تم استخدام `past_key_values`، فإن الحالة المخفية الأخيرة فقط من التسلسلات ذات الشكل `(batch_size, 1, hidden_size)` هي التي تُخرج.
- **past_key_values** (`Cache`، *اختياري*، يُعاد عند تمرير `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).

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

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

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

## GradiumPhononTTSForConditionalGeneration[[transformers.GradiumPhononTTSForConditionalGeneration]]

#### transformers.GradiumPhononTTSForConditionalGeneration[[transformers.GradiumPhononTTSForConditionalGeneration]]

```python
transformers.GradiumPhononTTSForConditionalGeneration(config: GradiumPhononTTSConfig)
```

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

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

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

نموذج Gradium Phonon TTS لتحويل النص إلى كلام: العمود الفقري، ورأس التدفق الذي يستخرج كامنًا صوتيًا واحدًا في كل خطوة، ورأس نهاية الكلام. يقوم بتوليد كامنات مُرمِّز الصوت، والتي يقوم المُعالج بفك ترميزها إلى صوت بتردد 24 كيلو هرتز.

يرث هذا النموذج من [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.GradiumPhononTTSForConditionalGeneration.forward]]

```python
forward(input_ids: typing.Optional[torch.LongTensor] = None, audio_prompt_latents: typing.Optional[torch.Tensor] = None, audio_prompt_latents_mask: typing.Optional[torch.Tensor] = None, audio_latents: typing.Optional[torch.Tensor] = None, labels: typing.Optional[torch.Tensor] = None, labels_mask: typing.Optional[torch.Tensor] = None, attention_mask: typing.Optional[torch.Tensor] = None, position_ids: typing.Optional[torch.LongTensor] = None, past_key_values: transformers.cache_utils.Cache | None = None, inputs_embeds: typing.Optional[torch.Tensor] = None, use_cache: bool | None = None, **kwargs: *<class 'transformers.utils.generic.TransformersKwargs'>)
```

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

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

input_ids (`torch.LongTensor` من الشكل `(batch_size, sequence_length)`، *اختياري*) : فهارس رموز تسلسل الإدخال في قاموس الكلمات. سيتم تجاهل الحشو افتراضيًا. يمكن الحصول على الفهارس باستخدام [AutoTokenizer](/docs/transformers/main/ar/model_doc/auto#transformers.AutoTokenizer). راجع [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#input-ids)

audio_prompt_latents (`torch.Tensor` من الشكل `(batch_size, num_prompt_frames, latent_dim)`، *اختياري*) : متجهات الكامنة (Latents) لـ Voice-prompt الخاصة بمشفر الصوت (audio tokenizer)، مع حشو يميني (right-padded)، وموزعة في مواضع `audio_prompt_token_id`.

audio_prompt_latents_mask (`torch.Tensor` من الشكل `(batch_size, num_prompt_frames)`، *اختياري*) : قناع لإطارات الصوت (`1`) على عكس الحشو (`0`) في `audio_prompt_latents`.

audio_latents (`torch.Tensor` من الشكل `(batch_size, num_latents, latent_dim)`، *اختياري*) : كامنات صوتية مُطبَّعة، موزَّعة في مواضع `audio_latent_token_id`.

labels (`torch.Tensor` من الشكل `(batch_size, num_frames, latent_dim)`، *اختياري*) : الكامنات المستهدفة لمُرمِّز الصوت (التدريب)، مع حشو يميني. ينتهي موجه كل صف بموضع `audio_bos_token_id` يليه موضع `audio_latent_token_id` واحد لكل إطار: يغذّي النموذج الأهداف المُطبَّعة (إجبار المعلم)، ويطبّق خسارة التدفّق على مخرجات BOS وجميع الإطارات باستثناء الأخير، والتي تتنبأ بالإطارات، ويطبّق خسارة نهاية الكلام على جميعها، حيث يكون الأخير نهاية الكلام.

labels_mask (`torch.Tensor` من الشكل `(batch_size, num_frames)`، *اختياري*) : قناع إطارات الهدف لكل صف (`1`) مقابل الحشو (`0`) في `labels`.

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

position_ids (`torch.LongTensor` من الشكل `(batch_size, sequence_length)`، *اختياري*) : فهارس مواضع رموز كل تسلسل إدخال في تضمينات المواضع. يتم اختيارها من النطاق `[0, config.n_positions - 1]`.  [ما هي معرّفات المواضع؟](../glossary#position-ids)

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)`.

inputs_embeds (`torch.Tensor` من الشكل `(batch_size, sequence_length, hidden_size)`، *اختياري*) : بدلاً من تمرير `input_ids`، يمكنك اختيار تمرير تمثيل مضمّن مباشرةً. هذا مفيد إذا كنت ترغب في الحصول على مزيد من التحكم في كيفية تحويل فهارس `input_ids` إلى المتجهات المرتبطة بها، مقارنةً بمصفوفة البحث المضمّنة الداخلية للنموذج.

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

**يعيد:** `GradiumPhononTTSOutputWithPast` أو `tuple(torch.Tensor)`

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

تُعيد طريقة [GradiumPhononTTSForConditionalGeneration](/docs/transformers/main/ar/model_doc/gradium_phonon_tts#transformers.GradiumPhononTTSForConditionalGeneration) الأمامية تعريف الطريقة الخاصة `__call__`.

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

- **loss** (`torch.Tensor` of shape `()`, *اختياري*, يُعاد عند تمرير `labels`) -- خسارة التدريب: خسارة تدفق LSD لللاتنتات المستهدفة بالإضافة إلى `config.eos_loss_weight` مضروبة في خسارة نهاية الكلام.
- **logits** (`torch.Tensor` من الشكل `(batch_size, sequence_length, 1)`) -- قيم logits لنهاية الكلام، قيمة واحدة لكل موضع.
- **past_key_values** (`Cache`، *اختياري*، يُعاد عند تمرير `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`) لتسريع فك الترميز التسلسلي.
- **hidden_states** (`tuple(torch.Tensor)`، *اختياري*، يُعاد عند تمرير `output_hidden_states=True` أو عند تعيين `config.output_hidden_states=True`) -- مجموعة من `torch.Tensor` (واحدة لمخرجات التضمينات، إذا كان النموذج يحتوي على طبقة تضمين، + واحدة لمخرجات كل طبقة) بأبعاد `(batch_size, sequence_length, hidden_size)`.

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

  أوزان الانتباه بعد تطبيق دالة softmax على الانتباه، وتُستخدم لحساب المتوسط الموزون في رؤوس الانتباه الذاتي.
- **last_hidden_state** (`torch.Tensor` من الشكل `(batch_size, sequence_length, hidden_size)`) -- حالات مخفية مُطبَّعة من الهيكل الأساسي، وهي التي تُشكّل شرط رأس التدفق.

مثال:

```python
>>> from transformers import AutoProcessor, GradiumPhononTTSForConditionalGeneration

>>> model = GradiumPhononTTSForConditionalGeneration.from_pretrained("gradium/phonon-31m-en")

>>> processor = AutoProcessor.from_pretrained("gradium/phonon-31m-en")
>>> inputs = processor(text="Hello, my dog is cute", return_tensors="pt")

>>> # generate speech
>>> speech = model(inputs["input_ids"])
```

#### generate[[transformers.GradiumPhononTTSForConditionalGeneration.generate]]

```python
generate(inputs: typing.Optional[torch.Tensor] = None, **kwargs)
```

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

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

inputs (`torch.LongTensor` من الشكل `(batch_size, sequence_length)`، *اختياري*) : `input_ids` المُعدّة بواسطة [PocketTTSProcessor](/docs/transformers/main/ar/model_doc/pocket_tts#transformers.PocketTTSProcessor). يمكن أيضًا تمريرها على شكل `input_ids=`.

kwargs (`dict[str, Any]`، *اختياري*) : `attention_mask`، موجه الصوت (`audio_prompt_latents` و`audio_prompt_latents_mask`، أو ذاكرة مؤقتة لبداية صوتية على شكل `past_key_values`، الأصوات المرفقة، مع موجهات النص فقط)، `frames_after_eos` من المعالج، معاملات التوليد (`do_sample`، `temperature`، `max_new_tokens`، ...)، و`num_flow_steps` و`eos_threshold` و`min_frames_before_eos` الخاصة بـ Pocket TTS، والتي تعتمد افتراضيًا على إعدادات التوليد.

**يعيد:**

[PocketTTSGenerateOutput](/docs/transformers/main/ar/model_doc/pocket_tts#transformers.models.pocket_tts.generation_pocket_tts.PocketTTSGenerateOutput) عند `return_dict_in_generate=True` (إعدادات التوليد الخاصة بالنقاط المحفوظة): `audio_latents` المُكمّلة وقناعها `audio_latents_mask`، والذي يترجمه [PocketTTSProcessor.decode()](/docs/transformers/main/ar/model_doc/pocket_tts#transformers.PocketTTSProcessor.decode) كدفعة واحدة. وإلا، قائمة الكامنات المولّدة، حيث يكون لكل عينة متجه `(num_frames, latent_dim)` يُترجم على حدة.

يولّد الكلام. تتجاوز هذه الطريقة [generate()](/docs/transformers/main/ar/main_classes/text_generation#transformers.GenerationMixin.generate) لجعل القيمة الافتراضية لـ`max_new_tokens` تساوي ميزانية الإطارات الخاصة بوقت التشغيل الأصلي، وهي `ceil((num_text_tokens / 3 + 2) * frame_rate)` لأطول نص في الدفعة. أما كل ما عدا ذلك فيمر عبر خطافات التوليد العادية.

