مقدمة
تعمل المساعدات الصوتية الحديثة وأنظمة النسخ والتحكم الصوتي بفضل تقنيات التعرف على الصوت. توفر لغة بايثون طريقة سهلة لدمج هذه التقنيات من خلال مكتبة SpeechRecognition — أداة مرنة وقوية لتحويل الإشارات الصوتية إلى نص.
تدعم المكتبة العمل مع الملفات الصوتية والتقاط الصوت من الميكروفون، كما تتفاعل مع محركات تعرف مختلفة — من الحلول المحلية إلى واجهات السحابية، بما في ذلك Google وIBM وSphinx وغيرها. أصبحت هذه المكتبة المعيار لمهام التعرف على الصوت في بايثون بفضل سهولة استخدامها وتعدد استخداماتها.
ما هي مكتبة SpeechRecognition
SpeechRecognition هي مكتبة بايثون مفتوحة المصدر شهيرة، صُممت لتبسيط دمج تقنيات التعرف على الصوت في التطبيقات. أنشأها Anthony Zhang، وتوفر واجهة موحدة للعمل مع محركات تعرف صوت متعددة، مما يجعلها الخيار الأمثل للمطورين من جميع المستويات.
الميزات الرئيسية للمكتبة
تتميز مكتبة SpeechRecognition بالقدرات التالية:
- التوافق عبر المنصات: تعمل على Windows وmacOS وLinux
- دعم واجهات متعددة: تكامل مع أكثر من 7 خدمات تعرف مختلفة
- سهولة الاستخدام: كود بسيط للمهام الأساسية
- مرونة الإعدادات: خيارات تهيئة واسعة للاحتياجات الخاصة
- مجتمع نشط: تحديثات ودعم منتظم
هندسة المكتبة
تم بناء SpeechRecognition على مبدأ نمطي، حيث تشمل المكونات الرئيسية:
- Recognizer — الفئة المركزية لإدارة التعرف
- AudioSource — تجريد لمصادر الصوت (ملفات، ميكروفون)
- AudioData — حاوية للبيانات الصوتية
- Engines — محولات لخدمات التعرف المختلفة
التثبيت وإعداد التبعيات
التثبيت الأساسي
pip install SpeechRecognition
التبعيات الإضافية
للعمل الكامل مع مصادر الصوت المختلفة، ستحتاج إلى حزم إضافية:
للعمل مع الميكروفون:
pip install pyaudio
لدعم تنسيقات الصوت الإضافية:
pip install pydub
للعمل مع Google Cloud Speech API:
pip install google-cloud-speech
ملاحظات التثبيت على منصات مختلفة
Windows
على Windows، قد يواجه تثبيت pyaudio مشاكل. يُنصح باستخدام ملفات wheel المترجمة مسبقًا:
pip install pipwin
pipwin install pyaudio
macOS
brew install portaudio
pip install pyaudio
Linux (Ubuntu/Debian)
sudo apt-get install python3-pyaudio
الاستيراد والمكونات الأساسية
import speech_recognition as sr
الفئات الرئيسية واستخداماتها
- Recognizer() — الفئة الرئيسية للعمل مع التعرف على الصوت
- AudioFile() — فئة للعمل مع الملفات الصوتية
- Microphone() — فئة للعمل مع الميكروفون
العمل مع الملفات الصوتية
التنسيقات المدعومة
تدعم SpeechRecognition تنسيقات الصوت التالية:
- WAV —