كيفية استخدام الإضافة
تم تصميم إضافة Runtime Speech Recognizer للتعرف على الكلمات من بيانات الصوت الواردة. تستخدم نسخة معدلة قليلاً من whisper.cpp للعمل مع المحرك. لاستخدام الإضافة، اتبع الخطوات التالية:
جانب المحرر
- اخطر نماذج اللغة المناسبة لمشروعك كما هو موضح هنا.
جانب وقت التشغيل
- أنشئ معرّف كلام وحدد المعاملات الضرورية (CreateSpeechRecognizer، للمعاملات انظر هنا).
- اربط بالمفوضين المطلوبين (OnRecognitionFinished, OnRecognizedTextSegment و OnRecognitionError).
- ابدأ التعرف على الكلام (StartSpeechRecognition).
- معالجة بيانات الصوت وانتظر النتائج من المفوضين (ProcessAudioData).
- أوقف معرّف الكلام عند الحاجة (مثلاً، بعد بث OnRecognitionFinished).
تدعم الإضافة بيانات الصوت الواردة بصيغة PCM المتشابك 32 بت ذات النقطة العائمة. بينما تعمل بشكل جيد مع Runtime Audio Importer، فهي لا تعتمد عليه مباشرة.
معاملات التعرف
تدعم الإضافة التعرف على بيانات الصوت المتدفقة وغير المتدفقة. لضبط معاملات التعرف لحالة الاستخدام الخاصة بك، استدعِ SetStreamingDefaults
أو SetNonStreamingDefaults
. بالإضافة إلى ذلك، لديك المرونة لتعيين المعاملات الفردية يدوياً مثل عدد الخيوط، حجم الخطوة، ما إذا كان سيتم ترجمة اللغة الواردة إلى الإنجليزية، وما إذا كان سيتم استخدام النص السابق. راجع قائمة معاملات التعرف للحصول على قائمة كاملة بالمعاملات المتاحة.
تحسين الأداء
يرجى الرجوع إلى قسم كيفية تحسين الأداء للحصول على نصائح حول كيفية تحسين أداء الإضافة.
كشف النشاط الصوتي (VAD)
عند معالجة مدخلات الصوت، خاصة في سيناريوهات البث المباشر، يُوصى باستخدام كشف النشاط الصوتي (VAD) لتصفية مقاطع الصوت الفارغة أو التي تحتوي على ضوضاء فقط قبل وصولها إلى المعرّف. يمكن تمكين هذا التصفية على جانب موجة الصوت القابلة للالتقاط باستخدام إضافة Runtime Audio Importer، مما يساعد على منع نماذج اللغة من الهلوسة - محاولة العثور على أنماط في الضوضاء وإنشاء نصوص غير صحيحة.
للحصول على أفضل نتائج للتعرف على الكلام، نوصي باستخدام مزود Silero VAD الذي يوفر تحملاً متفوقاً للضوضاء وكشفاً أكثر دقة للكلام. Silero VAD متاح كامتداد لإضافة Runtime Audio Importer. للحصول على تعليمات مفصلة حول تكوين VAD، راجع توثيق كشف النشاط الصوتي.
العقد القابلة للنسخ في الأمثلة أدناه تستخدم مزود VAD الافتراضي لأسباب التوافقية. لتحسين دقة التعرف، يمكنك بسهولة التبديل إلى Silero VAD عن طريق:
- تثبيت امتداد Silero VAD كما هو موضح في قسم امتداد Silero VAD
- بعد تمكين VAD باستخدام عقدة Toggle VAD، أضف عقدة Set VAD Provider واختر "Silero" من القائمة المنسدلة
في مشروع التجربة المضمن مع الإضافة، VAD مفعل افتراضيًا. يمكنك العثور على مزيد من المعلومات حول تنفيذ التجربة في مشروع التجربة.
أمثلة
يوجد مشروع تجربة جيد مضمن في مجلد Content -> Demo الخاص بالإضافة، والذي يمكنك استخدامه كمثال للتنفيذ.
هذه الأمثلة توضح كيفية استخدام إضافة Runtime Speech Recognizer مع إدخال الصوت المتدفق وغير المتدفق، باستخدام Runtime Audio Importer للحصول على بيانات الصوت كمثال. يرجى ملاحظة أن تنزيل RuntimeAudioImporter بشكل منفصل مطلوب للوصول إلى نفس مجموعة ميزات استيراد الصور المعروضة في الأمثلة (مثل موجة الصوت القابلة للالتقاط و ImportAudioFromFile). هذه الأمثلة مخصصة فقط لتوضيح المفهوم الأساسي ولا تتضمن معالجة الأخطاء.