وظائف نظام تحويل النص إلى صوت
مما سبق يمكن تلخيص وظائف نظام تحويل النص إلى صوت TTS في الشكل 2. وفيما يلي سنقوم بشرح كل وظيفة بشيء من التفصيل.
2.1 تطبيع النص Text Normalization
أي تحويل النص المدخل إلى سلسلة من كلمات محكية، وبالتالي من البديهي أن الجملة التالية " فَتَحَ البَابَ " سيتم تحويلها إلى سلسلة من الكلمات " فَتَحَ" و "البَابَ" مع وجود مؤشر (أو رمز) يدل على وجود فترة زمنية ساكنة (للتعبير عن الفاصل بين الكلمات)، وفي حال وجود أرقام ضمن الجملة أو رموز أخرى فيجب أن تفسيرها لكي يتم نطقها. إن خطوات هذه المرحلة تتخلص بما يلي: ..........
الشكل 2 – مكونات نظام TTS
- عزل الكلمات ضمن النص وهي خطوة بديهية حيث يتم أخذ كل مجموعة من المحارف المتصلة واعتبارها كلمة واحدة.
- يتم البحث عن الأرقام والوقت والتاريخ وأي رموز أخرى ومن ثم تحليلها وتحويلها إلى كلمات (مثال "52 ل.س" يتم تحويلها إلى اثنان وخمسون ليرة سورية)، وبالتالي يجب وضع قواعد من أجل تحويل هذه الرموز إلى كلمات.
- تحويل الاختصارات إلى كلمات معبرة (مثلاً "سم" تحول إلى "سنتيمتر" و "الخ" إلى "إلى آخره") في هذه الخطوة يعتمد النظام على قاعدة بيانات تحوي جميع الاختصارات مع الكلمات المقابلة لها، ولا ننسى أن تفسير بعض الاختصارات يعتمد على سياق الجملة.
- ومن ثم يتم معالجة علامات الترقيم.
- تحويل اللام الشمسية والتنوين والشدة والمد و ..... إلى ما يوافقها من الأحرف، وهذه العملية تتطلب دراسة عميقة لقواعد اللغة العربية.
وبمجرد أن يتم إنهاء هذه الخطوة ننتقل إلى المرحلة التالية إزالة الغموض الكتابي.
2.2 إزالة الغموض الكتابي Homograph Disambiguationعادة لا يمكن اعتبار هذه المرحلة مستقلة بحد ذاتها وإنما يتم دمجها مع مرحلة تطبيع النص أو مرحلة اللفظ، ولكن تم فصلها لتوضيح أهميتها.
في هذه العملية تتم عملية تشكيل النص العربي، فنحن نعلم أنه يوجد العديد من الكلمات في اللغة العربية التي لها نفس الكتابة ولكنها تلفظ بطرق مختلفة اعتماداً على ورودها ضمن الجملة، كما يمكن أن يكون هناك غموض في الاختصارات، فيمكن أن يكون لنفس الاختصار أكثر من تفسير اعتماداً على مكان وروده في النص.
يقوم النظام بإزالة الغموض عن طريق إعراب الكلمة بشكل صحيح وهذا يتم باستخدام المعرب (المحلل الصرفي والمحلل القواعدي)، الذي يستعين بالمعجم وبمجموعة قواعد حتى يتمكن من إعراب النص. وبمجرد انتهاء هذه الخطوة يتم إرسال الكلمات إلى المرحلة التالية من أجل نطقها.
2.3 نطق الكلمة Word Pronunciation يدخل إلى هذه المرحلة النص وينتج في الخرج سلسلة من المقاطع الصوتية Phonemes (الترميزات
الصوتية)، ويتم هذا باستخدام مجموعة قواعد "حرف إلى صوت" "letter to sound" والتي تقوم بتخمين لفظ كلمة من النص وهي تشبه إلى حد بعيد الطريقة التي تعلمناها في المدرسة. بمجرد توليد اللفظ لجميع الكلمات نتقل إلى مرحلة العروض.
وسوف نقوم بدراسة نطق الكلمة بالتفصيل لاحقاً لأنها تشكل جوهر هذا البحث.
2.4 العروض Prosody العروض هو عبارة عن تحديد حدة وسرعة وحجم الصوت التي تستخدم لنطق المقاطع الصوتية والكلمات والجمل، وبدون العروض فإن نظام TTS يبدو وكأنه روبوت وعند استخدام عروض سيء سيبدو النص مضحك. إن التقنيات التي يستخدمها النظام لتركيب العروض تختلف ولكن يوجد بعض التقنيات العامة.
في هذه المرحلة يتم البحث عن مواطن التوكيد والأمر والتعجب والاستفهام والدمج ومن ثم تركيب هذه المعلومات مع بعضها من أجل توليد النص الكلي، ويكون خرج هذه المرحلة قائمة من الفونيمات مع الحدة والسرعة والحجم لكل فونيم.
في هذا البحث لن نتطرق إلى هذا الموضوع لكونه متقدم جداً.
2.5 تشغيل الصوت Play Audioفي هذه المرحلة نكون قد انتهينا من تركيب الكلام تقريباً وبقي أن يقوم النظام بتحويل الفونيمات وسرعة وحدة وحجم
الصوت لكل فونيم إلى إشارة صوتية رقمية.
تختلف طرق توليد الإشارة الصوتية ولكن العديد من أنظمة تحويل النص إلى نطق تقوم بدمج تسجيلات مسبقة للفونيمات، حيث يتم تسجيل هذه المقاطع الصوتية من قبل شخص ما. وبشكل مبسط يمكن القول أن كتلة الناطق الصوتي تستقبل الفونيمات التي يجب نطقها ومن ثم يتم تحميل الإشارة الصوتية لكل فونيم من قاعدة البيانات وتضاف بعض التأثيرات إلى الإشارة الصوتية وأخيراً يتم توليد الإشارة الصوتية كاملة.
ولكن هذه العملية ليست بسيطة لهذه الدرجة وذلك لعدة أسباب، أهمها أن حدة وسرعة الصوت عند نهاية الكلمة تختلف عنها في حال ورود الفونيم في بداية الكلمة وبالتالي هذا سيسبب خلل ملحوظ في الإشارة الصوتية وعادة يتم التقليل من هذا الخلل عن طريق دمج حواف المقطعين الصوتيين معاً بحيث يصبح لهما نفس حدة وسرعة الصوت عند نقطة التقاطع.
وبما أن الصوت المنطوق لكل فونيم يتأثر بشكل واضح بالفونيمات المحيطة به لذلك سنحتاج إلى تسجيل جميع المقاطع الصوتية الممكنة لكل فونيم.
وبمجرد أن يتم دمج الفونيمات الصوتية بشكل صحيح، يقوم الحاسب بنطق النص المكتوب.
2.6 توليد صوت Generating a Voiceلتوليد جميع الفونيمات الصوتية، نحضر شخص ذو نطق واضح ويقوم بقراءة مقاطع نصية تحوي جميع الاحتمالات الممكنة للفونيمات، ومن ثم نقوم بتمرير الصوت الناتج إلى برنامج تعرف على الصوت ليقوم بتحليلها وتشكيل المقاطع الصوتية المطلوبة أو يتم ذلك يدوياً. وأخيراً يتم تخزين المقاطع الصوتية في قاعدة البيانات.
في الدرس التالي سنبدأ بالجزء العملي لتنفيذ البرمجية .... لا تنسونا من الدعاء