مرجع لغة ترميزية لتركيب الكلام (SSML) (إصدار تجريبي)

يتيح نظام "المهام مع مساعد Google" عددًا من ميزات الإصدار التجريبي من SSML بالإضافة إلى عناصر SSML العادية في "المهام مع مساعد Google".

ملخّص ميزات الإصدار التجريبي من SSML المتوافقة:

  • <phoneme>: يمكنك تخصيص طريقة لفظ كلمات معيّنة.
  • <say-as interpret-as="duration">: تحديد المُدد
  • <voice>: التبديل بين الأصوات في الطلب نفسه
  • <lang>: استخدام لغات متعددة في الطلب نفسه
  • النقاط الزمنية: استخدِم العلامة <mark> لعرض النقطة الزمنية لنقطة معيّنة في النص.

<phoneme>

يمكنك استخدام العلامة <phoneme> لإنتاج طُرق لفظ مخصّصة للكلمات المضمّنة. يقبل "المهام مع مساعد Google" الأحرف الأبجدية الصوتية IPA وX-SAMPA. يمكنك الانتقال إلى صفحة أرقام الهواتف للاطّلاع على قائمة باللغات ورموز الهواتف المتوافقة.

يوجّه كل تطبيق للعلامة <phoneme> طريقة لفظ كلمة واحدة:

  <phoneme alphabet="ipa" ph="ˌmænɪˈtoʊbə">manitoba</phoneme>
  <phoneme alphabet="x-sampa" ph='m@"hA:g@%ni:'>mahogany</phoneme>

علامات الإجهاد

هناك ما يصل إلى ثلاثة مستويات من الإجهاد يمكن وضعها في نص:

  1. الإجهاد الأساسي: يرمز إليه بـ ˈ في IPA و" في X-SAMPA.
  2. الإجهاد الثانوي: يرمز إليه بـ ˌ في IPA و% في X-SAMPA.
  3. غير متأثر بالإجهاد: لا يرمز له برمز (في أي من الترميزات).

قد تشتمل بعض اللغات على أقل من ثلاثة مستويات أو لا تدل على موضع التوتر على الإطلاق. راجع صفحة أرقام الهواتف لمعرفة مستويات الإجهاد المتاحة للغتك. يتم وضع علامات الإجهاد في بداية كل مقطع تم الضغط عليه. على سبيل المثال، باللغة الإنجليزية (الولايات المتحدة):

مثال على الكلمة IPA سامبا X-SAMPA
ماء ˈwɑːtɚ "wA:t@`
تحت الماء ˌʌndɚˈwɑːtɚ %Vnd@"wA:t@

تحويل الصوت إلى نص باستخدام عبارات واسعة النطاق في مقابل ضيقة

بشكل عام، يجب أن تكون النصوص المحوَّلة أكثر اتساعًا وذات صوت صوتي بطبيعتها. على سبيل المثال، يمكنك تحويل الصوت إلى نص t باللغة الإنجليزية (بدلاً من استخدام نقرة):

مثال على الكلمة IPA سامبا X-SAMPA
زبدة ˈbʌtɚ بدلاً من ˈbʌɾɚ "bVt@` بدلاً من "bV4@`

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

وأحد الأمثلة على ذلك هو التعبير عن استيعاب s باللغة الإنجليزية. في هذه الحالة يجب أن ينعكس الاستيعاب في النص:

مثال على الكلمة IPA سامبا X-SAMPA
القطط ˈkæts "k{ts
الكلاب ˈdɑːgz بدلاً من ˈdɑːgs "dA:gz بدلاً من "dA:gs

تقليل

يجب أن يحتوي كل مقطع على حرف متحرك واحد (فقط). هذا يعني أنه يجب عليك تجنب الأحرف الساكنة المقطعية وبدلاً من ذلك كتابتها بحرف متحرك مخفض. على سبيل المثال:

مثال على الكلمة IPA سامبا X-SAMPA
هرّة صغيرة ˈkɪtən بدلاً من ˈkɪtn "kIt@n بدلاً من "kitn
غلّاية ˈkɛtəl بدلاً من ˈkɛtl "kEt@l بدلاً من "kEtl

الشرح

يمكنك اختياريًا تحديد حدود المقاطع باستخدام .. يجب أن يحتوي كل مقطع على حرف متحرك واحد (واحد فقط). مثال:

مثال على الكلمة IPA سامبا X-SAMPA
سهولة القراءة ˌɹiː.də.ˈbɪ.lə.tiː %r\i:.d@."bI.l@.ti:

الفترات

يتيح نظام "المهام مع مساعد Google" استخدام ميزة "<say-as interpret-as="duration">" لقراءة المدد بشكل صحيح. على سبيل المثال، سيتم الشرح اللفظي للمثال التالي على أنّه "خمس ساعات وثلاثون دقيقة":

<say-as interpret-as="duration" format="h:m">5:30</say-as>

تتوافق سلسلة التنسيق مع القيم التالية:

الاختصار القيمة
h ساعتان
m دقيقة/دقائق
s ثانية
ms لا مللي ثانية

<voice>

تسمح لك العلامة <voice> باستخدام أكثر من صوت واحد في طلب SSML واحد. في المثال التالي، الصوت التلقائي هو صوت ذكر إنجليزي. سيتم توليف جميع الكلمات بهذا الصوت باستثناء عبارة "qu'est-ce qui t'amène ici"، التي سيتم لفظها باللغة الفرنسية باستخدام صوت أنثوي بدلاً من اللغة الافتراضية (الإنجليزية) والجنس (ذكر).

<speak>And then she asked, <voice language="fr-FR" gender="female">qu'est-ce qui
t'amène ici</voice><break time="250ms"/> in her sweet and gentle voice.</speak>

يمكنك بدلاً من ذلك استخدام علامة <voice> لتحديد صوت فردي (اسم الصوت في صفحة الأصوات واللغات المتوافقة) بدلاً من تحديد language و/أو gender:

<speak>The dog is friendly<voice name="fr-CA-Wavenet-B">mais la chat est
mignon</voice><break time="250ms"/> said a pet shop
owner</speak>

عند استخدام العلامة <voice>، من المتوقّع أن تتلقّى "المهام مع مساعد Google" إما name (اسم الصوت الذي تريد استخدامه) أو مزيج من السمات التالية. إنّ السمات الثلاث جميعها اختيارية، ولكن يجب تقديم سمة واحدة على الأقل إذا لم تقدّم السمة name.

  • gender: قيمة من male أو female أو neutral
  • variant: يتم استخدامها كمقطع فاصل في الحالات التي تتوفر فيها إمكانية استخدام الصوت استنادًا إلى الإعدادات التي اخترتها.
  • language: اللغة المطلوبة يمكن تحديد لغة واحدة فقط في علامة <voice> محددة. حدِّد لغتك بتنسيق BCP-47. يمكنك العثور على رمز BCP-47 للغتك في عمود رمز اللغة في صفحة الأصوات واللغات المتوافقة.

يمكنك أيضًا التحكّم في الأولوية النسبية لكل سمة من سمات gender وvariant وlanguage باستخدام علامتَين إضافيتَين: required وordering.

  • required: إذا تم تصنيف إحدى السمات على أنّها required ولم يتم ضبطها بشكل صحيح، سيتعذّر تنفيذ الطلب.
  • ordering: أي سمات يتم إدراجها بعد علامة ordering تُعتبر سمات مفضّلة وليس مطلوبة. تراعي أداة SSML السمات المفضّلة وفقًا لأفضل إمكانيات متوفرة بالترتيب الذي تم إدراجها بعد علامة ordering. وفي حال ضبط أي سمات مفضّلة بشكل غير صحيح، قد تعرض "المهام مع مساعد Google" صوتًا صالحًا ولكن مع تجاهل الإعدادات غير الصحيحة.

أمثلة على عمليات الضبط باستخدام العلامتَين required وordering:

<speak>And there it was <voice language="en-GB" gender="male" required="gender"
ordering="gender language">a flying bird </voice>roaring in the skies for the
first time.</speak>
<speak>Today is supposed to be <voice language="en-GB" gender="female"
ordering="language gender">Sunday Funday.</voice></speak>

<lang>

يمكنك استخدام <lang> لتضمين نص بلغات متعددة ضمن طلب SSML نفسه. سيتم تجميع كل اللغات بالصوت نفسه، ما لم تستخدم علامة <voice> لتغيير الصوت بشكل واضح. يجب أن تحتوي السلسلة xml:lang على اللغة الهدف بتنسيق BCP-47 (يتم إدراج هذه القيمة على أنّها "رمز اللغة" في جدول الأصوات المتوافقة). في المثال التالي، سيتم الشرح اللفظي لكلمة "chat" باللغة الفرنسية بدلاً من اللغة الافتراضية (الإنجليزية):

<speak>The french word for cat is <lang xml:lang="fr-FR">chat</lang></speak>

يتيح منصّة "المهام مع مساعد Google" استخدام العلامة <lang> على أساس أفضل الجهود. لا تُنتج كل مجموعات اللغات نتائج الجودة نفسها إذا تم تحديدها في طلب SSML نفسه. في بعض الحالات، قد ينتج عن تركيب اللغة تأثيرًا يمكن اكتشافه ولكنه دقيق أو يُنظر إليه على أنه سلبي. المشاكل المعروفة:

  • لا يمكن استخدام العلامة <lang> مع اللغة اليابانية التي تستخدم أحرف كانجي. يتم تحويل الإدخال الصوتي إلى أحرف صينية.
  • لا تتوافق العلامة <lang> مع اللغات السامية، مثل العربية والعبرية والفارسية، وسيؤدي ذلك إلى الصمت. إذا كنت تريد استخدام أي من هذه اللغات، ننصحك باستخدام علامة <voice> للتبديل إلى صوت يتحدّث لغتك المطلوبة (إذا كانت متاحة).