الصوت العربيّ الاصطناعيّ: لماذا يشوّه TTS أسماء العلامات، وكيف عالجناه
أصوات تحويل النصّ العربيّ إلى صوت (TTS) تقرأ أسماء العلامات المكتوبة بحروف لاتينيّة، مثل TKAWEN أو Algeria Certify، حرفًا حرفًا أو بنطق مشوّه، حتّى حين يكون الصوت العربيّ نفسه جيّدًا. عالجنا ذلك في TKAWEN بخريطة إعادة كتابة صوتيّة تُطبَّق على نصّ الرواية وحده قبل إرساله إلى محرّك الصوت، فيُنطق TKAWEN «تكوّن»، بينما تبقى الترجمة المكتوبة على الشاشة باللاتينيّة. واخترنا صوت ar-SA-HamedNeural من Microsoft للعربيّة الفصحى بعد ملاحظة أنّ أصواتًا لهجيّة تغيّر نطق القاف والجيم.
المشكلة كما قسناها
ننتج في TKAWEN فيديوهات عربيّة بصوت راوٍ اصطناعيّ، للتعريف بالدورات والمنتجات. في أحد هذه الفيديوهات، كانت الترجمة المكتوبة صحيحة تمامًا، وكان الصوت العربيّ واضحًا في الجمل العاديّة، لكنّ كلّ اسم لاتينيّ كان يخرج مشوّهًا. محرّك الصوت يرى كلمة TKAWEN في وسط جملة عربيّة، فلا يعرف كيف ينطقها، فيقرؤها حرفًا حرفًا، أو يركّب لها نطقًا لا علاقة له بالاسم الحقيقيّ. والأمر نفسه مع Algeria Certify ومع عنوان الموقع tkawen.com.
النتيجة: فيديو جيّد في كلّ شيء، إلّا في الكلمة الأهمّ فيه، أي اسم العلامة. والمشاهد لا يلاحظ أنّ الترجمة صحيحة إذا كان ما يسمعه خاطئًا. والأسوأ أنّ هذا الخطأ لا يظهر عند مراجعة النصّ، لأنّ النصّ سليم؛ لا يظهر إلّا عند الاستماع إلى الصوت المصدَّر نفسه.
لماذا يحدث هذا؟
الأصوات العصبيّة (neural TTS) تتعلّم النطق من نصوص وتسجيلات بلغة معيّنة. الصوت العربيّ تعلّم كيف تُنطق الكلمات العربيّة، لكنّه لم يتعلّم كيف تُنطق أسماء تجاريّة جزائريّة مكتوبة بحروف لاتينيّة. وحين يصادف كلمة لا يعرفها، يلجأ إلى قواعد احتياطيّة: قراءة الحروف منفردة، أو تطبيق نطق لغة أخرى. لا يوجد في المحرّك ما يخبره أنّ TKAWEN اسم عربيّ الأصل يُنطق «تكوّن».
الحلّ: خريطة إعادة كتابة صوتيّة قبل TTS
الحلّ الذي طبّقناه بسيط في فكرته، لكنّه يتطلّب انضباطًا في التنفيذ. أنشأنا خريطة تربط كلّ اسم لاتينيّ بكتابته الصوتيّة العربيّة:
| النصّ المكتوب | ما يُرسَل إلى محرّك الصوت |
|---|---|
| TKAWEN OS | تكوّن أو إس |
| TKAWEN | تكوّن |
| Algeria Certify | ألجيريا سيرتيفاي |
| tkawen.com | تكوّن دوت كوم |
وتقوم الطريقة على ثلاثة مبادئ.
الأطول أوّلًا. تُطبَّق الخريطة بترتيب من العبارة الأطول إلى الأقصر. لو بدأنا بكلمة TKAWEN، لتحوّلت عبارة TKAWEN OS إلى «تكوّن OS»، ثمّ بقيت OS لاتينيّة فيقرؤها المحرّك بطريقته. حين نبدأ بالعبارة الأطول، تُستبدل TKAWEN OS كاملة بـ«تكوّن أو إس» قبل أن تصل القاعدة الأقصر إليها. والمنطق نفسه ينطبق على tkawen.com.
نصّ الرواية وحده. الاستبدال يحدث فقط على النصّ الذي يُرسل إلى محرّك الصوت. أمّا النصّ الظاهر على الشاشة وملفّ الترجمة SRT فيبقيان باللاتينيّة. المشاهد يقرأ TKAWEN مكتوبة كما هي، ويسمعها «تكوّن». هكذا يبقى الاسم المكتوب صحيحًا لمحرّكات البحث والقرّاء، ويصبح المسموع صحيحًا للأذن.
لا شيء لاتينيّ يصل إلى المحرّك. القاعدة التي نلتزم بها: لا يُرسل أيّ نصّ يحتوي على حروف لاتينيّة إلى محرّك الصوت قبل هذه الخطوة. وأيّ اسم منتج جديد يُضاف إلى الخريطة قبل استعماله في أيّ فيديو. بهذه القاعدة يتحوّل الخطأ من مشكلة نكتشفها بعد التصدير إلى شرط نتحقّق منه قبله.
مثال كامل
لنأخذ جملة رواية مكتوبة هكذا:
«تحقّق من شهادتك على Algeria Certify، أو زر tkawen.com لاكتشاف TKAWEN OS.»
قبل الإرسال إلى المحرّك، تمرّ الجملة بالخريطة من الأطول إلى الأقصر، فتصبح:
«تحقّق من شهادتك على ألجيريا سيرتيفاي، أو زر تكوّن دوت كوم لاكتشاف تكوّن أو إس.»
هذه الجملة الثانية هي ما يسمعه المشاهد. أمّا الترجمة على الشاشة فتبقى مطابقة للجملة الأصليّة، بأسمائها اللاتينيّة. والقاعدة أن لا يصل إلى المحرّك نصّ بقي فيه حرف لاتينيّ واحد.
اختيار الصوت: الفصحى ونطق القاف والجيم
المشكلة الثانية أقلّ وضوحًا من مشكلة الأسماء، لكنّها تظهر بسرعة لدى المستمع العربيّ. الأصوات العربيّة المتاحة في محرّكات الصوت ليست كلّها بالنطق نفسه:
- الأصوات ذات اللهجة الخليجيّة تنطق القاف قريبة من /g/.
- الأصوات ذات اللهجة المصريّة تنطق الجيم /g/.
هذا طبيعيّ في الكلام اليوميّ، لكنّه غير مناسب لفيديو تعريفيّ موجّه إلى جمهور عربيّ واسع بالفصحى. كلمة «قانون» أو «جودة» تتغيّر حين يتغيّر نطق حرف واحد فيها، ويشعر المستمع بأنّ النصّ الفصيح يُقرأ بلهجة لا تناسبه.
لذلك نستعمل للفصحى صوت ar-SA-HamedNeural من Microsoft. والاختيار لم يكن مسألة ذوق، بل نتيجة الاستماع إلى الحروف التي تتغيّر بين اللهجات.
الأدوات التي نعمل بها
نشغّل خدمة تحويل نصّ إلى صوت على tts.tkawen.com، واستوديو للإنتاج على studio.tkawen.com. وتُطبَّق خريطة إعادة الكتابة على كلّ نصّ رواية قبل تحويله إلى صوت.
الدروس التي خرجنا بها
- الترجمة الصحيحة لا تعني صوتًا صحيحًا. يجب الاستماع إلى الناتج، لا قراءة النصّ فقط.
- المشكلة في الأسماء لا في اللغة. الصوت العربيّ قد يكون ممتازًا في الجمل، ومع ذلك يفشل في اسم واحد هو الأهمّ.
- عالج الخطأ قبل وقوعه. قاعدة «لا حرف لاتينيّ يصل إلى المحرّك» أرخص من إعادة تصدير الفيديوهات.
- اللهجة قرار تحريريّ. اختيار الصوت يحدّد كيف تُنطق القاف والجيم، وهذا يؤثّر في انطباع المستمع.
- فصل المكتوب عن المسموع. النصّ على الشاشة يخدم القارئ ومحرّكات البحث، والنصّ المرسل إلى المحرّك يخدم الأذن.
ما لا ندّعيه
- لا ندّعي أنّنا طوّرنا محرّك صوت خاصًّا بنا؛ نستعمل أصواتًا عصبيّة متاحة، ونعالج النصّ قبل إرساله إليها.
- لا ندّعي أنّ ar-SA-HamedNeural الصوت المناسب لكلّ استعمال؛ هو اختيارنا للفصحى في فيديوهاتنا.
- لا نملك قياسًا رقميًّا لجودة النطق، ولذلك نصف المشكلة والحلّ دون نسب مئويّة.
للاطّلاع على باقي أعمالنا في الذكاء الاصطناعيّ، راجع TKAWEN والذكاء الاصطناعيّ. وعن استعمال الذكاء الاصطناعيّ في بناء الحقائب التدريبيّة، راجع الذكاء الاصطناعيّ في التكوين المهنيّ.
أسئلة شائعة
لماذا يقرأ محرّك تحويل النصّ العربيّ إلى صوت الأسماء اللاتينيّة حرفًا حرفًا؟
لأنّ الصوت العربيّ تعلّم نطق الكلمات العربيّة، ولا يعرف كيف يُنطق اسم تجاريّ مكتوب بحروف لاتينيّة. فيلجأ إلى قراءة الحروف منفردة أو إلى نطق لغة أخرى.
كيف تجعل الصوت الاصطناعيّ ينطق اسم العلامة صحيحًا؟
اكتب الاسم بكتابة صوتيّة عربيّة في نصّ الرواية فقط قبل إرساله إلى المحرّك. في TKAWEN يتحوّل TKAWEN إلى «تكوّن» وAlgeria Certify إلى «ألجيريا سيرتيفاي»، بينما تبقى الترجمة على الشاشة باللاتينيّة.
لماذا تُطبَّق الخريطة من الأطول إلى الأقصر؟
حتّى لا تقطع القاعدة القصيرة عبارة أطول. لو استُبدلت TKAWEN أوّلًا لبقيت OS في عبارة TKAWEN OS لاتينيّة، أمّا البدء بالعبارة الأطول فيحوّلها كاملة إلى «تكوّن أو إس».
أيّ صوت عربيّ تستعمل TKAWEN للفصحى؟
نستعمل صوت ar-SA-HamedNeural من Microsoft. لاحظنا أنّ الأصوات الخليجيّة تنطق القاف قريبة من /g/، وأنّ الأصوات المصريّة تنطق الجيم /g/، وهذا لا يناسب نصًّا فصيحًا.
هل تؤثّر إعادة الكتابة الصوتيّة في الترجمة المكتوبة أو في محرّكات البحث؟
لا. الاستبدال يحدث على النصّ المرسل إلى محرّك الصوت فقط، أمّا النصّ على الشاشة وملفّ SRT فيبقيان بالأسماء اللاتينيّة الأصليّة.


