بناء خط أنابيب متكامل لتحسين الكلام والتعرف الآلي عليه باستخدام SpeechBrain في بايثون
يُقدم هذا البرنامج التعليمي تدفق عمل متطور وعملي باستخدام مكتبة SpeechBrain في بيئة بايثون. سنبدأ بتوليد عينات كلام نظيفة باستخدام gTTS، ثم نقوم عمداً بإضافة ضوضاء لمحاكاة سيناريوهات العالم الحقيقي، وبعد ذلك نطبق نموذج MetricGAN+ من SpeechBrain لتحسين جودة الصوت. بمجرد إزالة الضوضاء من الصوت، سنقوم بتشغيل نظام التعرف الآلي على الكلام باستخدام نظام CRDNN المُعاد تصنيفه بنموذج لغوي، ونقارن معدلات أخطاء الكلمات قبل وبعد التحسين. باتباع هذه الخطوات، سنختبر بأنفسنا كيف تُمكّننا SpeechBrain من بناء خط أنابيب كامل لتحسين الكلام والتعرف عليه ببضع أسطر من التعليمات البرمجية.
إعداد بيئة العمل
في البداية، نقوم بإعداد بيئة العمل في Colab (أو أي بيئة بايثون أخرى) مع جميع المكتبات والأدوات المطلوبة. نقوم بتثبيت SpeechBrain بالإضافة إلى حزم معالجة الصوت، ونُعرّف المسارات والبارامترات الأساسية، ونُحضّر الجهاز ليكون جاهزاً لبناء خط أنابيب الكلام. يمكنك الاطلاع على كامل الشفرة البرمجية [هنا](رابط الشفرة).
pip -q install -U speechbrain gTTS jiwer pydub librosa soundfile torchaudio
!apt -qq install -y ffmpeg >/dev/null
# ... باقي الشفرة
إنشاء وتجهيز عينات الكلام
نقوم بتعريف بعض الوظائف المساعدة التي تُشغّل خط أنابيبنا من البداية إلى النهاية. نقوم بتوليد الكلام باستخدام gTTS وتحويله إلى ملفات WAV، وحقن ضوضاء غاوسية مُتحكمة بمستوى SNR مُحدد، وإضافة وظائف مساعدة لمعاينة الصوت وتطبيع النص. نقوم أيضاً بإنشاء فئة بيانات Sample
لتتبع مسارات كل جملة نظيفة، وصاخبة، ومُحسّنة بشكل مُنظّم. يمكنك الاطلاع على كامل الشفرة البرمجية [هنا](رابط الشفرة).
# ... تعريف وظائف tts_to_wav, add_noise, play, clean_txt, وفئة Sample
توليد جمل الكلام وإضافة الضوضاء
نقوم بتوليد ثلاث جمل مُتحدثة باستخدام gTTS، وحفظ كل من الإصدارات النظيفة والصاخبة، وتنظيمها في كائنات Sample
. ثم نقوم بتحميل نماذج ASR و MetricGAN+ المُدرّبة مسبقاً من SpeechBrain، مما يُوفر لنا جميع المكونات اللازمة لتحويل الصوت الصاخب إلى نص مُزال منه الضوضاء. يمكنك الاطلاع على كامل الشفرة البرمجية [هنا](رابط الشفرة).
sentences = [
"الذكاء الاصطناعي يُغيّر الحياة اليومية.",
"الأدوات مفتوحة المصدر تُمكّن من البحث والابتكار السريع.",
"SpeechBrain تُقدم خطوط أنابيب كلام مرنة في بايثون."
]
# ... باقي الشفرة لتوليد العينات وإضافة الضوضاء وتحميل النماذج
تحسين الصوت ونسخ الكلام
نقوم بإنشاء وظائف مساعدة لتحسين الصوت الصاخب، ونسخ الكلام، وتقييم WER (معدل أخطاء الكلمات) مقابل النص المرجعي. ثم نقوم بتشغيل هذه الخطوات عبر جميع عيناتنا، ومقارنة الإصدارات الصاخبة والمحسّنة، وتسجيل كل من النصوص ومعدلات الأخطاء مع وقت المعالجة. يمكنك الاطلاع على كامل الشفرة البرمجية [هنا](رابط الشفرة).
# ... تعريف وظائف enhance_file, transcribe, eval_pair
# ... باقي الشفرة لتشغيل خطوات تحسين الصوت ونسخ الكلام وتقييم WER
النتائج والمناقشة
نقوم بتلخيص تجربتنا من خلال توقيت الاستنتاج، وطباعة نصوص لكل جملة، ومقارنة WER قبل وبعد التحسين. نقوم أيضاً بفك تشفير دفعة من الملفات، والاستماع إلى عينة مُحسّنة، والإبلاغ عن متوسطات WER لنرى بوضوح المكاسب من MetricGAN+ في خط أنابيبنا. يوضح هذا البرنامج التعليمي قوة دمج تحسين الكلام و ASR في خط أنابيب موحد باستخدام SpeechBrain. من خلال إنشاء الصوت، وإفساده بالضوضاء، وتحسينه، وأخيراً نسخه، نكتسب رؤى عملية حول كيفية تحسين هذه النماذج لدقة التعرف في البيئات الصاخبة.
الخلاصة
في الختام، نرى بوضوح قوة دمج تحسين الكلام والتعرف الآلي على الكلام في خط أنابيب موحد باستخدام SpeechBrain. من خلال توليد الصوت، وإفساده بالضوضاء، وتحسينه، وأخيراً نسخه، نكتسب رؤى عملية حول كيفية تحسين دقة التعرف في البيئات الصاخبة. تُبرز النتائج الفوائد العملية لاستخدام تقنيات الكلام مفتوحة المصدر. نختتم بإطار عمل قابل للتوسيع بسهولة لمجموعات بيانات أكبر، أو نماذج تحسين مختلفة، أو مهام ASR مُخصصة.
اترك تعليقاً