#AUDIO_DIAGNOSTICS_EN.md

                       # تشخيص الصوت لنظام Linux لـ Aura


                                         ### 1. تحديد الأجهزة

قم بإدراج كافة الأجهزة الصوتية كما تراها بيئة بايثون:

./.venv/bin/python3 -m sounddevice > /tmp/aura_devices.txt && kate /tmp/aura_devices.txt
  • ما الذي تبحث عنه: لاحظ رقم الفهرس و معرف الجهاز (hw:X,Y) الخاص بالميكروفون.

                                  ### 2. من يستخدم الأجهزة؟
    

إذا حصلت على خطأ “الجهاز مشغول” أو “المهلة”، فتحقق من العملية (PID) التي تقوم حاليًا بتأمين أجهزة الصوت:

fuser -v /dev/snd/*
  • نصيحة: إذا رأيت pipewire أو wireplumber، فهذا يعني أن خادم الصوت يدير الجهاز. إذا رأيت “python3” أو “obs” PID مباشرةً على جهاز PCM، فمن المحتمل أنهما يحظران الآخرين.

          ### 3. المراقبة في الوقت الحقيقي (PipeWire)
    

إذا كان نظامك يستخدم PipeWire (قياسي في Manjaro الحديث)، فهذه هي أفضل أداة للتشخيص المباشر:

pw-top
  • ما الذي يجب البحث عنه: تحقق من عمود ERR بحثًا عن حالات التسرب وتأكد من أن Aura (16000 هرتز) وOBS (48000 هرتز) لا يتسببان في إعادة التشكيل الزائد على وحدة المعالجة المركزية.

                          ### 4. مراقبة الأحداث الصوتية
    

شاهد التحديثات المباشرة عند كتم صوت الميكروفونات، أو إلغاء كتم صوتها، أو عند إنشاء عمليات بث جديدة:

pactl subscribe
  • الاستخدام: قم بتشغيل هذا، ثم ابدأ تشغيل Aura. إذا رأيت العديد من أحداث “الإزالة” على الفور، فهذا يعني أن العملية تتعطل أو يتم رفضها.

                              ### 5. اختبار تجاوز الأجهزة
    

اختبر ما إذا كان الميكروفون الخاص بك يعمل على مستوى الأجهزة الأولية (تجاوز PulseAudio/PipeWire). يؤدي هذا إلى تسجيل 5 ثوانٍ من الصوت:

# Replace hw:1,0 with your device index
arecord -D hw:1,0 -f S16_LE -r 16000 -d 5 /tmp/test.wav && vlc /tmp/test.wav
  • النتيجة: إذا نجح هذا ولكن لم يعمل Aura، فإن المشكلة تكمن في تكوين Sound-Server، وليس في الجهاز.

                ### 6. إعادة الضبط في حالات الطوارئ
                      إذا كان النظام الصوتي عالقًا:
    
systemctl --user restart pipewire wireplumber
# Or for older PulseAudio systems:
pulseaudio -k
                             **تلميح أسهل لسير العمل:**

 `/tmp/diagnose.txt && kate /tmp/diagnose.txt` an den Befehl an. 🌵🚀