جلسة التعامل مع الصوت وتبديل الصوت

تنفذ Aura حلقة معالجة صوتية تعتمد على الجلسة. تكون الأوامر الصوتية لإدارة الحالة نشطة فقط خلال جلسة تسجيل محددة.

                                                        ## إعدادات

يتم التحكم في السلوك الداخلي للجلسة من خلال: ENABLE_WAKE_WORD = True/False (في config/settings.py)

                                         ## المنطق التشغيلي

على عكس المستمع المستمر في الخلفية، يقوم محرك Aura’s STT (Vosk) بمعالجة الصوت فقط عندما يتم تشغيل جلسة التسجيل خارجيًا (على سبيل المثال، عبر مفتاح التشغيل السريع).

Aura هو التلسكوب الخاص بك 🔭 للكمبيوتر الشخصي: التحكم عن بعد!

                  ### التبديل أثناء الجلسة ("Teleskop")
                        عند ضبط `ENABLE_WAKE_WORD` على **True**:
1. **المشغل:** يبدأ المستخدم الجلسة يدويًا.
  1. تبديل: يؤدي قول “Teleskop” أثناء الجلسة إلى التبديل بين حالتي النشيطة والمعلقة.

  2. السلوك: يسمح هذا للمستخدم بـ “إيقاف مؤقت” و”استئناف” معالجة النص باستخدام الأوامر الصوتية دون إنهاء البث الصوتي.

                                     ### الخصوصية والكفاءة
    

    عند تعيين ENABLE_WAKE_WORD على False (افتراضي):

  • منع STT: أثناء وجودك في حالة التعليق، يتم تخطي الاستدعاءات إلى AcceptWaveform وPartialResult تمامًا.

  • الخصوصية: لا يتم تحليل أي بيانات صوتية إلا إذا كان النظام في حالة نشطة صريحة.

  • إدارة الموارد: يتم تقليل استخدام وحدة المعالجة المركزية إلى الحد الأدنى عن طريق تجاوز تحليل الشبكة العصبية أثناء التعليق.

                                             ## الكمون والأداء
    
  • الاستئناف الفوري: نظرًا لأن RawInputStream يظل مفتوحًا طوال الجلسة، فإن التبديل من SUSPENDED إلى ACTIVE له زمن انتقال إضافي يبلغ 0 مللي ثانية.

  • توقيت الحلقة: تعمل حلقة المعالجة بفاصل زمني يصل إلى 100 مللي ثانية تقريبًا (q.get(timeout=0.1))، مما يضمن أوقات استجابة شبه فورية.