الأصوات الموصى بها لـ Web Speech API
يعد هذا المستودع جزءًا من مشروع أكبر يهدف إلى تحديد أفضل الممارسات لتنفيذ ميزة القراءة بصوت عالٍ في تطبيقات القراءة.
مع توفر مئات الأصوات افتراضيًا عبر مختلف المتصفحات وأنظمة التشغيل، قد يكون من الصعب على المطورين توفير إعدادات افتراضية معقولة وقائمة منسقة من الأصوات.
من خلال التركيز على اختيار الصوت، فإن هدف هذا المشروع هو توثيق الأصوات عالية الجودة المتوفرة على منصات مختلفة وتوفير طريقة سهلة لتنفيذ هذه التوصيات باستخدام ملفات تكوين JSON.
حالات الاستخدام
- توفير أفضل صوت افتراضي ممكن لكل لغة
- عرض قائمة مرتبة من الأصوات حسب الجودة
- عرض الأسماء الصوتية سهلة الاستخدام
- تصفية الأصوات الموصى بها حسب الجنس والعمر (الكبار مقابل الأطفال)
- تصفية الأصوات الجديدة والمنخفضة الجودة
- معاينة الصوت مع كلام الاختبار
تجريبي
يتوفر عرض توضيحي مباشر يعتمد على مشروع Readium Speech.
يطبق هذا العرض التوضيحي أفضل الممارسات لاختيار الصوت بالإضافة إلى البيانات من هذا المستودع.
قائمة اللغات المدعومة
الهدف من هذا المشروع هو دعم جميع اللغات الـ 43 المتوفرة على نظامي التشغيل Windows وmacOS.
في حالته الحالية، فهو يغطي 43 لغة:
- العربية (الجزائر، البحرين، مصر، العراق، الأردن، الكويت، لبنان، ليبيا، المغرب، عمان، قطر، المملكة العربية السعودية، سوريا، تونس، الإمارات العربية المتحدة، اليمن)
- الباسك
- البنغالية (الهند وبنغلاديش)
- البهوجبرية
- البلغارية
- الكاتالونية
- الصينية:
- لغة الماندرين الصينية (البر الرئيسي للصين، تايوان)
- وو الصينية (ويعرف أيضًا باسم "شنغهاينيز")
- يوي الصينية (ويعرف أيضا باسم "الكانتونية")
- الكرواتية
- التشيكية
- دانماركي
- الهولندية (هولندا وبلجيكا)
- الإنجليزية (الولايات المتحدة والمملكة المتحدة وأستراليا وكندا وهونج كونج والهند وأيرلندا وكينيا ونيوزيلندا ونيجيريا واسكتلندا وسنغافورة وجنوب أفريقيا وتنزانيا)
- الفنلندية
- الفرنسية (فرنسا وكندا وبلجيكا وسويسرا)
- الجاليكية
- الألمانية (ألمانيا والنمسا وسويسرا)
- اليونانية
- العبرية
- الهندية
- المجرية
- الاندونيسية
- ايطالي
- اليابانية
- الكانادا
- كوري
- لغة الملايو
- المهاراتية
- النرويجية
- الفارسية
- بولندي
- البرتغالية (البرتغال والبرازيل)
- روماني
- الروسية
- السلوفاكية
- السلوفينية
- الإسبانية (إسبانيا، الأرجنتين، بوليفيا، شيلي، كولومبيا، كوستاريكا، كوبا، جمهورية الدومينيكان، الإكوادور، السلفادور، غينيا الاستوائية، غواتيمالا، هندوراس، المكسيك، نيكاراغوا، بنما، باراغواي، بيرو، بورتوريكو، الولايات المتحدة، أوروغواي و فنزويلا)
- السويدية
- التاميل (الهند وسريلانكا وماليزيا وسنغافورة)
- التيلجو
- التايلاندية
- تركي
- الأوكرانية
- الفيتنامية
قائمة الأصوات المراد تصفيتها
وعلى الجانب الآخر من الطيف، يحدد هذا المشروع أيضًا عددًا من الأصوات التي يجب تصفيتها من مكون محدد الصوت.
بعضها يضر بتجربة القراءة بشكل عام، بينما يتمتع البعض الآخر بجودة منخفضة جدًا على الأنظمة الأساسية حيث تتوفر خيارات أفضل محملة مسبقًا.
- أصوات الجدة (أجهزة أبل)
- أصوات ذات جودة منخفضة جدًا (أجهزة Apple ونظام التشغيل Chrome)
المبادئ التوجيهية
- تم ترتيب كل قائمة صوتية وتهدف إلى توفير تجربة استماع مثالية على جميع المتصفحات/أنظمة التشغيل/اللغات التي يغطيها هذا المشروع.
- ولكن تتضمن كل قائمة أيضًا خيارات افتراضية، للتأكد من وجود شيء يمكن الاعتماد عليه دائمًا.
- مع أخذ هذين الهدفين في الاعتبار، يتم إدراج الأصوات ذات الجودة العالية في أعلى القائمة، بينما يتم إدراج الأصوات ذات الجودة المنخفضة أو الأصوات المتخصصة في الأسفل.
- يمكن أن يبدو عدد الأصوات هائلاً (أكثر من 110 أصوات باللغة الإنجليزية وحدها)، ولكن من الناحية العملية، سيكون عدد قليل منها فقط متاحًا للمستخدمين على كل جهاز من أجهزتهم.
- الأسماء الصوتية التي يتم إرجاعها بواسطة Web Speech API ليست سهلة الاستخدام، وهذا هو السبب في أن هذه القائمة توفر أسماء بديلة تتضمن عادةً الاسم الأول (أو الجنس) إلى جانب المنطقة المرتبطة بالصوت.
- كلما أمكن، سأحاول دائمًا تضمين مزيج جيد من الجودة العالية والخيارات الافتراضية لكلا الجنسين.
- لكن يجب ترتيب أولويات القائمة بطريقة أو بأخرى، حيث يتم حاليًا إدراج الأصوات النسائية أعلى من أصوات الذكور. وبما أن الجنس المرتبط بكل صوت موثق، فإن ذلك يسمح للمنفذين بإعادة ترتيب أولويات/تصفية القائمة بناءً على هذه المعايير.
- يتم أيضًا تجميع المتغيرات الإقليمية معًا في قائمة واحدة بدلاً من فصلها في ملفات خاصة بها عن قصد. في بعض الأجهزة، قد يتوفر صوتان أو ثلاثة أصوات فقط ولن يكون من المنطقي فصل المتغيرات الإقليمية.
- ولكن يجب إعطاء الأولوية للمتغيرات الإقليمية بطريقة أو بأخرى في القائمة. في الوقت الحالي، تم إدراج المناطق التي تحتوي على أفضل اختيارات الأصوات أعلاه، ولكن يوصى بشدة للمنفذين بمراعاة التفضيلات الإقليمية للمستخدم.
بناء الجملة
يتوفر مخطط JSON للتحقق من الصحة أو للمساهمين المحتملين المهتمين بفتح العلاقات العامة للغات الجديدة أو الإضافات الصوتية.
ملصق
label
مطلوبة لكل صوت موصى به وتوفر تسمية صديقة للإنسان لكل صوت.
هذه السلسلة مترجمة للغة الهدف وعادةً ما تحتوي على المعلومات التالية:
- الاسم الأول (إن وجد)
- الجنس (عندما يكون الاسم الأول مفقودًا)
- البلد/المنطقة
مثال 1: أصوات مايكروسوفت الطبيعية
في حين أن الأسماء التي وثقتها مايكروسوفت لأصواتها الطبيعية سهلة الفهم، إلا أنها تميل إلى أن تكون طويلة جدًا وجميعها مترجمة باللغة الإنجليزية.
{
"label" : " Isabella (Italia) " ,
"name" : " Microsoft Isabella Online (Natural) - Italian (Italy) " ,
"language" : " it-IT "
}
المثال 2: أصوات نظام التشغيل Chrome
يوفر نظام التشغيل Chrome عددًا من الأصوات عالية الجودة من خلال أنظمة Android الفرعية، ولكنها تأتي مع بعض من أسوأ الأسماء الممكنة للمستخدم النهائي.
{
"label" : " Female voice 1 (US) " ,
"name" : " Android Speech Recognition and Synthesis from Google en-us-x-tpc-network " ,
"language" : " en-US "
}
الأسماء
name
مطلوب لكل صوت موصى به ويتم استخدامه كمعرف رئيسي للأصوات في هذا المشروع.
تكون الأسماء مستقرة في الغالب عبر المتصفحات، مما يعني أنه بالنسبة لمعظم الأصوات، تكون سلسلة واحدة كافية.
ولكن هناك للأسف بعض القيم المتطرفة: أصوات Android وiOS وiPadOS وmacOS.
بالنسبة لهذه الأصوات، غالبًا ما يتم ترجمة جزء من السلسلة على الأقل، ويمكن أن تكون التسمية غير متسقة عبر المتصفحات ويمكن أن تتغير اعتمادًا على عدد المتغيرات المثبتة.
ولهذا السبب، يمكن أن تحتوي كل قائمة أيضًا على الخصائص التالية:
-
altNames
مع مجموعة من السلاسل البديلة لصوت معين - و
localizedName
الذي يحدد نمط السلسلة المستخدم لتوطين هذه الأصوات
مثال 3: نسخة بديلة من صوت Apple تم تحميله مسبقًا
{
"label" : " Samantha (US) " ,
"name" : " Samantha " ,
"localizedName" : " apple " ,
"altNames" : [
" Samantha (Enhanced) " ,
" Samantha (English (United States)) "
],
"language" : " en-US "
}
اللغات
language
مطلوبة لكل صوت موصى به.
يحتوي على علامة لغة BCP 47 حيث رمز اللغة المكون من حرفين متبوعًا برمز البلد المكون من حرفين كبيرين.
يتم فصل رموز اللغة والدولة باستخدام واصلة (-).
بعض الأصوات قادرة أيضًا على التعامل مع لغة أخرى، على سبيل المثال قد يكون الصوت الإسباني للولايات المتحدة قادرًا أيضًا على التعامل مع اللغة الإنجليزية.
لهذا السبب، تتوفر أيضًا خاصية additionalLanguages
على الرغم من أنها نادرًا ما يتم استخدامها في الوقت الحالي.
يحتوي على قائمة اللغات التي تستخدم رموزًا مكونة من حرفين فقط، بدون علامة فرعية.
بعض الأصوات الجديدة تمامًا من Microsoft قادرة أيضًا على إنتاج مخرجات متعددة اللغات. لا يتم دعم تبديل اللغة في منتصف الجملة، ولكن يبدو أن الإخراج قادر على اكتشاف لغة كل جملة تلقائيًا واعتماد نفسه وفقًا لذلك.
ومن أجل دعم ذلك، قد يتحول الإخراج تلقائيًا إلى صوت مختلف في هذه العملية.
ويتم التعرف على هذه الأصوات باستخدام القيمة المنطقية multiLingual
.
مثال 4: صوت بمخرجات متعددة اللغات
{
"label" : " Emma (US) " ,
"name" : " Microsoft EmmaMultilingual Online (Natural) - English (United States) " ,
"language" : " en-US " ,
"multiLingual" : true
}
مثال 5: صوت قادر على التعامل مع لغة ثانوية
{
"label" : " Sylvie (Canada) " ,
"name" : " Microsoft Sylvie Online (Natural) - French (Canada) " ,
"language" : " fr-CA " ,
"otherLanguages" : [
" en "
]
}
أصوات الجنسين والأطفال
gender
هي خاصية اختيارية لكل صوت، تعمل على توثيق الجنس المرتبط بكل صوت.
يتم دعم القيم التالية: female
أو male
أو neutral
.
children
أيضًا اختياريون ويحددون أصوات الأطفال باستخدام قيمة منطقية.
مثال 6: صوت الأطفال الإناث
{
"label" : " Ana (US) " ,
"name" : " Microsoft Ana Online (Natural) - English (United States) " ,
"language" : " en-US " ,
"gender" : " female " ,
"children" : true
}
جودة
quality
هي خاصية اختيارية لكل صوت، والتي توثق جودة المتغيرات المختلفة للصوت.
يتم دعم القيم التالية:
- مرتفع جدًا
- جودة عالية جدًا في تركيب الكلام لا يمكن تمييزها تقريبًا من قبل الإنسان
- عالي
- جودة عالية تشبه الإنسان في تركيب الكلام
- طبيعي
- الجودة الطبيعية لتركيب الكلام
- قليل
- جودة تركيب الكلام منخفضة وليست شبيهة بالإنسان
- منخفض جدًا
- جودة تركيب الكلام منخفضة جدًا، ولكنها لا تزال واضحة
مثال 7: صوت Apple متوفر بثلاثة أنواع مختلفة من الجودة
{
"label" : " Ava (US) " ,
"name" : " Ava " ,
"note" : " This voice can be installed on all Apple devices and offers three variants. Like all voices that can be installed on Apple devices, it suffers from inconsistent naming due to localization. " ,
"altNames" : [
" Ava (Premium) " ,
" Ava (Enhanced) " ,
" Ava (English (United States)) " ,
],
"language" : " en-US " ,
"gender" : " female " ,
"quality" : [
" low " ,
" normal " ,
" high "
],
"rate" : 1 ,
"pitch" : 1 ,
"os" : [
" macOS " ,
" iOS " ,
" iPadOS "
]
}
نظام التشغيل والمتصفح
يعد كل من os
browser
من الخصائص الاختيارية. يتم استخدامها للإشارة إلى أنظمة التشغيل والمتصفحات التي يتوفر فيها الصوت.
من المفترض أن يتم تفسير هاتين الخاصيتين بشكل منفصل وليس كمجموعة.
المثال 8: صوت Microsoft متوفر في كل من Edge وWindows
{
"label" : " Denise (France) " ,
"name" : " Microsoft Denise Online (Natural) - French (France) " ,
"note" : " This voice is preloaded in Edge on desktop. In other browsers, it requires the user to run Windows 11 and install the voice pack. " ,
"language" : " fr-FR " ,
"gender" : " female " ,
"os" : [
" Windows "
],
"browser" : [
" Edge "
]
}
بالإضافة إلى ذلك، يشير preloaded
إلى ما إذا كان الصوت قد تم تحميله مسبقًا في جميع أنظمة التشغيل والمتصفحات التي تم تحديدها.
باستخدام النهج الحالي، ليس من الممكن الإشارة إلى أن الصوت متاح على Chrome وWindows، ولكنه يتطلب التنزيل على Windows على سبيل المثال.
المثال 9: صوت Google تم تحميله مسبقًا على سطح مكتب Chrome
{
"label" : " Google female voice (UK) " ,
"name" : " Google UK English Female " ,
"language" : " en-GB " ,
"gender" : " female " ,
"browser" : [
" ChromeDesktop "
],
"preloaded" : true
}
معدل الكلام ودرجة الصوت
عند استخدام Web Speech API، يدعم SpeechSynthesisUtterance
القيم الاختيارية لـ:
-
rate
للتحكم في معدل الكلام -
pitch
للسيطرة على الملعب
يدعم كل صوت موثق في هذا الريبو الخصائص الاختيارية التالية:
-
pitchControl
هو قيمة منطقية افتراضيًا إلى true
ويشير إلى ما إذا كان يمكن التحكم في درجة الصوت -
rate
هو عدد صحيح بين 0.1 و10 والذي يكون افتراضيًا 1 ويوفر معدل الكلام الافتراضي الموصى به لكل صوت -
pitch
هي عدد صحيح بين 0 و2 والذي يكون افتراضيًا 1 ويوفر طبقة صوت افتراضية موصى بها لكل صوت
مثال 10: صوت Microsoft حيث لا يمكن ضبط درجة الصوت
{
"label" : " Ana (US) " ,
"name" : " Microsoft Ana Online (Natural) - English (United States) " ,
"language" : " en-US " ,
"gender" : " female " ,
"pitchControl" : false
}
المثال 11: صوت Google مع معدلات الصوت والسرعة الموصى بها
{
"label" : " Voix Google féminine (France) " ,
"name" : " Google français " ,
"language" : " fr-FR " ,
"gender" : " female " ,
"rate" : 1 ,
"pitch" : 0.8
}
ملاحظات إضافية
ومن خلال العمل المنجز لتوثيق قائمة بالأصوات الموصى بها، انتهى بي الأمر أيضًا باختبار العديد من المتصفحات/أنظمة التشغيل لمعرفة كيفية عملها. يهدف هذا القسم إلى تلخيص بعض هذه المعلومات.
يتوفر أيضًا تصنيف مخصص لتتبع المشكلات الخارجية التي يتم الإبلاغ عنها إلى Apple أو Google أو Microsoft أو Mozilla.
عام
- تقوم واجهة Web Speech API بإرجاع الحقول التالية من خلال طريقة
getVoices()
: name
و voiceURI
و lang
و localService
و default
. - في حين أن
voiceURI
يجب أن يكون الطريقة الأكثر اتساقًا لتحديد الصوت من الناحية النظرية، إلا أنه من الناحية العملية لا يمكن أن يكون هذا أبعد عن الحقيقة. تستخدم معظم المتصفحات نفس القيمة التي يستخدمها name
لـ voiceURI
ولا تفرض التفرد. - كما سنرى في الملاحظات الخاصة بمتصفحات/أنظمة تشغيل محددة، يتم تنفيذ
name
أيضًا بشكل غير متسق ويمكن أن يعرض قيمًا مختلفة لنفس الصوت على نفس الجهاز. - تشير
localService
إلى ما إذا كان الصوت متاحًا للاستخدام دون اتصال بالإنترنت ويبدو أنه يعمل كما هو متوقع، ولهذا السبب لا تحتوي القائمة الحالية للأصوات الموصى بها على تلك المعلومات. - يبدو أن
lang
يمكن الاعتماد عليه في الغالب عبر التطبيقات، حيث يُرجع لغة باستخدام علامات اللغة BCP 47، مع اللغة الرئيسية بالأحرف السفلية والعلامة الفرعية بالأحرف الكبيرة ( pt-BR
). - هناك للأسف بعض القيم المتطرفة:
- على Android، يستخدم Samsung وChrome شرطة سفلية كفاصل بدلاً من ذلك:
en_us
(مشكلة ذات صلة) - بينما يصبح Firefox على Android أكثر إبداعًا، باستخدام رموز مكونة من ثلاثة أحرف للغات وإضافة سلسلة إضافية في النهاية:
eng-US-f000
(مشكلة ذات صلة)
-
default
هو الإشارة إلى ما إذا كان الصوت هو الصوت الافتراضي للغة التطبيق الحالية. من الناحية النظرية، يجب أن يكون هذا مفيدًا للغاية، ولكن من الناحية العملية، من الصعب جدًا استخدامه بسبب عدم الاتساق بين عمليات التنفيذ، والسياق المحدود (النظام الافتراضي مقابل الإعداد الافتراضي للمستخدم) ونقص القدرة على تعيين صوت افتراضي لكل لغة. - بالإضافة إلى استخدام
default
، يجب على المنفذين دائمًا التفكير في استخدام رأس Accept-Language
HTTP أيضًا، لأنه يحتوي على قائمة مرتبة باللغة/المنطقة المفضلة لمستخدم معين.
أندرويد
- في الوقت الحالي، قمنا بتغطية الاختبار والوثائق فقط على إصدارات Android البسيطة، كما هو متاح على أجهزة Google Pixel. قد تختلف قائمة الأصوات المتاحة بشكل كبير بناءً على الشركة المصنعة للجهاز والجهاز وإصدار Android.
- نظرًا لطبيعة Android، سيكون توثيق كل هذه الاختلافات أمرًا صعبًا للغاية. سيتم إجراء المزيد من المحاولات في الإصدار المستقبلي من هذا المشروع من خلال استخدام مزارع الأجهزة (مشكلة ذات صلة).
- في الإصدارات الأخيرة من Vanilla Android، هناك مجموعة ممتازة من الأصوات عالية الجودة التي تغطي مجموعة واسعة من اللغات/المناطق (67 اعتبارًا من أبريل 2024).
- لاستخدام هذه الأصوات، يحتاج المستخدم إلى التعمق إلى حد ما في إعدادات النظام إما لتنزيلها (يتم تحميل لغة النظام وبعض اللغات الأكثر شيوعًا بشكل افتراضي فقط) أو تحديد الصوت المفضل لكل لغة/منطقة.
- لسوء الحظ، لا يعرض Chrome على Android قائمة الأصوات المتاحة للمستخدمين، وبدلاً من ذلك يعرض قائمة غير مفلترة باللغات/المناطق (مشكلة ذات صلة).
- ومما زاد الطين بلة، أن هذه الأصوات والمناطق كلها مترجمة مع لغة النظام.
- وهذا يعني، من بين أمور أخرى، أنه حتى اللغات والمناطق التي تتطلب تثبيت حزمة صوتية ستظهر في القائمة التي تعرضها Web Speech API (مشكلة ذات صلة).
- إذا حدد المستخدم لغة/منطقة يلزم تنزيل الحزمة الصوتية لها، فسيقوم Chrome افتراضيًا بتعيين الصوت باللغة الإنجليزية بدلاً من ذلك (مشكلة ذات صلة).
- حتى عند تثبيت حزمة صوتية، قد يحتاج المستخدم إلى تحديد صوت افتراضي لكل منطقة قبل أن يتم استخدام اللغة/المنطقة على الإطلاق.
- مع هذا الأسلوب السيئ في اختيار الصوت، لا يشير Chrome على Android إلى اللغة/المنطقة المفضلة للمستخدم سواء باستخدام
default
(مشكلة ذات صلة).
سطح المكتب كروم
- على سطح المكتب، يأتي Chrome محملاً مسبقًا بمجموعة محدودة من 19 صوتًا عالي الجودة عبر 15 لغة.
- تتطلب كل هذه الأصوات الوصول عبر الإنترنت لاستخدامها، دون الرجوع إلى متغير أقل جودة دون الاتصال بالإنترنت.
- لسوء الحظ، تعاني هذه الأصوات أيضًا من خطأ إذا استغرق أي كلام تمت قراءته بواسطة Web Speech API وقتًا أطول من 14 ثانية (مشكلة ذات صلة) ولا تُرجع أحداثًا حدودية (مشكلة ذات صلة).
- في ظل الظروف الحالية، تم منح الأولوية لأصوات Google هذه بدرجة أقل من نظيراتها من Microsoft/Apple في قائمة الأصوات الموصى بها.
- بشكل عام، من المؤسف أن Chrome Desktop يتخلف كثيرًا عن Android وChrome OS عندما يتعلق الأمر بمجموعة الأصوات واللغات المدعومة افتراضيًا (مشكلة ذات صلة).
نظام التشغيل كروم
- يأتي نظام التشغيل Chrome مزودًا بأربع مجموعات من الأصوات: أصوات نظام التشغيل Chrome، وأصوات Android (أكثر من 50 لغة)، والأصوات الطبيعية، وأصوات eSpeak (38 لغة).
- افتراضيًا، يقوم نظام التشغيل Chrome بتنزيل أصوات نظام التشغيل Chrome للغة النظام لديك، بينما تتوفر أصوات Android وeSpeak لجميع اللغات.
- تضيف Google أيضًا دعمًا تدريجيًا للأصوات الطبيعية، والتي تعد في الأساس المتغيرات ذات الجودة الأعلى لأصوات Android مع ميزة إضافية تتمثل في العمل دون اتصال بالإنترنت. تتطلب الأصوات الطبيعية من المستخدم الانتقال إلى إعدادات النظام لتثبيتها.
- لدى نظام التشغيل Chrome ميل مؤسف إلى إلغاء تثبيت الحزم الصوتية عند تثبيت تحديث جديد لنظام التشغيل Chrome، وهو ما يحدث كثيرًا.
- تقدم معظم أصوات Android متغيرات دون الاتصال بالإنترنت وعبر الإنترنت، وهي تتساوى من حيث الجودة مع ما تقدمه Apple من حيث الأصوات القابلة للتنزيل.
- تحتوي أصوات Android هذه على بعض من أسوأ الأسماء على أي نظام أساسي/متصفح، مما يجعلها غير قابلة للاستخدام بدون نوع إعادة التصنيف الذي يقدمه هذا المشروع.
- تعاني أصوات Android أيضًا من مشكلات تتعلق بزمن الوصول و/أو التوفر. في بعض الحالات، قد يستغرق الأمر ما يصل إلى دقيقة لقراءة الكلام الأول بصوت عالٍ.
- تعد أصوات Chrome أقل بخطوة من أصوات Android، ولكنها توفر اختيارًا مناسبًا للغات الأكثر شيوعًا.
- يجب تجنب أصوات eSpeak بأي ثمن نظرًا لجودتها المنخفضة للغاية وقد تم توثيقها بشكل منفصل من أجل تصفيتها.
حافة
- على سطح المكتب، يوفر Edge أفضل مجموعة من الأصوات عالية الجودة مع أكثر من 250 صوتًا تم تحميلها مسبقًا عبر 75 لغة (اعتبارًا من أبريل 2024).
- تعتمد كل هذه الأصوات "الطبيعية" المزعومة على التعلم الآلي (ML) وبالتالي تتطلب الوصول عبر الإنترنت لاستخدامها.
- كما أن عددًا صغيرًا من هذه الأصوات متعدد اللغات ويبدو أنه قادر على اكتشاف لغة الجملة والتكيف وفقًا لذلك. لسوء الحظ، هذا لا يعمل بشكل جيد عندما يكون هناك تبديل للغة في منتصف الجملة.
- في نظام التشغيل macOS على الأقل، هناك خطأ غريب حيث يعرض Edge 18 صوتًا طبيعيًا فقط في البداية، ولكن هذا يمتد إلى 250+ بمجرد استخدام Web Speech API لإخراج كلام.
- هناك أيضًا مشكلات إضافية يجب على المنفذين معرفتها عند استخدام هذه الأصوات: فهي لا تدعم ضبط درجة الصوت (مشكلة ذات صلة) ويجب الهروب من عدد من الأحرف لتجنب مشكلات التشغيل (مشكلة ذات صلة).
- على الهاتف المحمول، Edge ليس مثيرًا للاهتمام تقريبًا:
- إنه غير قابل للاستخدام تمامًا على Android نظرًا لأنه يعرض قائمة فارغة من الأصوات، مما يجعل من المستحيل استخدامه مع Web Speech API (مشكلة ذات صلة).
- على نظامي التشغيل iOS/iPadOS، تضطر جميع المتصفحات حاليًا إلى استخدام Safari كمحرك لها، مما يعني أن Edge يتصرف تمامًا مثل Safari Mobile.
فايرفوكس
- على سطح المكتب، يبدو Firefox واضحًا إلى حد ما عندما يتعلق الأمر باختيار الصوت.
- على عكس Chrome وEdge، لا يأتي Firefox بأي صوت تم تحميله مسبقًا.
- يتبع Firefox أسلوبًا مختلفًا فيما يتعلق بـ
voiceURI
حيث يتم التعرف على كل صوت بالفعل بواسطة URN فريد. - نظرًا لأن هذا فريد بالنسبة لمتصفح Firefox، فإن ملفات JSON الحالية لا تقوم بتوثيق URI هذه حتى الآن، ولكن قد تكون هذه إضافة مستقبلية.
- على نظام التشغيل macOS، يتطلب Firefox إعادة تشغيل النظام بالكامل حتى تظهر الأصوات الجديدة في القائمة.
iOS وiPadOS
- يأتي كلا نظامي التشغيل مع نفس مجموعة الأصوات المحملة مسبقًا والأصوات القابلة للتنزيل مقارنة بنظام macOS. اقرأ قسم macOS أدناه للحصول على معلومات إضافية حول الأصوات المتاحة.
- لسبب غير معروف، يتم أيضًا إدراج بعض الأصوات المحملة مسبقًا مرتين ولكنها توفر نفس إخراج الصوت.
- يجب أن تعمل جميع المتصفحات على عرض ويب النظام مما يعني أنها مجرد غلاف أعلى Safari Mobile وليست متصفحات مختلفة حقًا.
- يمكن أن يتغير هذا الوضع بسبب قانون السوق الرقمية في أوروبا، مما يجبر شركة Apple على تغيير سياستها بشأن متصفحات الطرف الثالث وعروض الويب.
ماك
- يوفر نظام macOS قائمة واسعة من الأصوات عبر 45 لغة، سواء كانت محملة مسبقًا أو قابلة للتنزيل.
- يمكن أن تحتوي هذه الأصوات على ما يصل إلى ثلاثة أشكال مختلفة، بناءً على جودة الإخراج (وحجم التنزيل).
- من المحتمل أن تكون الأصوات الأعلى جودة هي تلك المتاحة لـ Siri، ولكنها للأسف غير متوفرة من خلال Web Speech API (مشكلة ذات صلة).
- على الطرف الآخر من الطيف، كانت لدى شركة Apple فكرة مؤسفة تتمثل في التحميل المسبق لمجموعة كبيرة من الأصوات ذات الجودة المنخفضة والغريبة مثل حزم الصوت Eloquence (8 أصوات) والتأثيرات (15 صوتًا).
- يعد وجود هذه الأصوات وحدها سببًا جيدًا لتصفية الأصوات المتاحة لمستخدمي macOS وإبراز الأصوات الموصى بها في هذا الريبو.
- على عكس الأنظمة الأساسية/أنظمة التشغيل الأخرى، قرر نظام التشغيل macOS توطين الأسماء الصوتية. لن تكون هذه مشكلة إذا كان من الممكن استخدام
voiceURI
كمعرف موثوق للأصوات، ولكن هذا ليس هو الحال (مشكلة ذات صلة). - في حالته الحالية، يوثق هذا الريبو عمليات الترجمة للغات المدعومة رسميًا فقط وليس اللغات الـ 45 التي يدعمها محرك macOS TTS.
سفاري
- للأفضل أو للأسوأ، يكون سلوك Safari متسقًا في الغالب بين إصدارات سطح المكتب والإصدارات المحمولة.
- لا تظهر الأصوات القابلة للتنزيل في القائمة التي يتم إرجاعها بواسطة Web Speech API (مشكلة ذات صلة).
- والأسوأ من ذلك أنه عند تثبيت إصدارات أعلى جودة من الأصوات المحملة مسبقًا، تختفي هذه الأصوات في Safari، مما يعني أن اللغات بأكملها قد تختفي تمامًا.
- تعود جميع الأصوات إلى
default
true
Safari، مما يجعل من المستحيل اكتشاف وتحديد الإعداد الافتراضي للنظام/المستخدم (مشكلة ذات صلة).
ويندوز
- توفر Microsoft صفحة مفيدة جدًا، حيث تسرد جميع الأصوات المتوفرة عبر نظامي التشغيل Windows 10 و11 لإجمالي 98 صوتًا عبر 36 لغة.
- توفر الأصوات الطبيعية تجربة أفضل بكثير ولكنها تتطلب إصدارًا محدثًا من Windows 11 ويجب تنزيلها (مع الميزة الإضافية المتمثلة في أنها تعمل أيضًا دون اتصال بالإنترنت).
- لقد كانت Microsoft بطيئة في إضافة هذه الأصوات الطبيعية إلى نظام التشغيل Windows 11 بشكل عام. حتى وقت قريب إلى حد ما، كانت الأصوات الأمريكية فقط (3 أصوات) متاحة. أصبحت القائمة الآن أطول قليلاً (23 صوتًا عبر 8 لغات) ولكنها تظل متخلفة كثيرًا عما تقدمه عبر Edge (أكثر من 250 صوتًا عبر 75 لغة).
- لسوء الحظ، هذه الأصوات عالية الجودة غير مدرجة بشكل صحيح في Chrome أو Firefox حاليًا (مشكلة ذات صلة). تظهر فقط في Edge، حيث يتم تحميلها مسبقًا على أي حال ولكن للاستخدام عبر الإنترنت فقط.