إصلاح الأخطاء: تشويه الصوت وتعليق PipeWire (Linux)¶
يصف هذا المستند كيفية حل تشويه الصوت (“klirren”)، والمؤثرات الصوتية الآلية، وتوقف صوت النظام الذي يمكن أن يحدث عند استخدام SL5-aura-service إلى جانب تطبيقات الوسائط الأخرى مثل OBS، أو AnyDesk، أو تدفقات TTS عالية التردد.
## أعراض
يبدو إخراج/إدخال الصوت مشوهًا أو معدنيًا أو “مرنًا”.
يتوقف صوت النظام مع ظهور الرسالة: “جارٍ إنشاء اتصال بـ PulseAudio” أو “الرجاء الانتظار”.
إجمالي فقدان الصوت بعد تحميل وحدة المعالجة المركزية العالية أو استخدام الدفق المتزامن.
تظهر سجلات دفتر اليومية:
spa.alsa: hw:X: snd_pcm_status error: لا يوجد مثل هذا الجهاز.## السبب الجذري
في Manjaro وغيره من توزيعات Linux الحديثة، يقوم PipeWire بإدارة الصوت. عادة ما ينبع التشويه من:
** نقص سعة المخزن المؤقت: ** تعارض بين التدفقات المتزامنة (على سبيل المثال، يقوم AnyDesk بالتقاط الصوت أثناء تشغيل TTS/OBS).
** عدم تطابق معدل العينة: ** التبديل المتكرر بين 44.1 كيلو هرتز و48 كيلو هرتز.
مشكلات توقيت USB: يؤدي ارتفاع حمل الناقل إلى قطع اتصال سماعات رأس USB (مثل Plantronics/Poly) مؤقتًا.
--- ## الحلول
1. الاسترداد الفوري (إعادة الضبط “النووي”)¶
إذا تم تجميد حزمة الصوت أو تشويهها، قم بإنهاء جميع العمليات المتعلقة بالصوت. سيتم إعادة تشغيلهم تلقائيًا على الفور.
# Force kill PipeWire and its PulseAudio compatibility layer
killall -9 pulseaudio pipewire pipewire-pulse
### 2. إعدادات الوقاية والاستقرار
#### تعطيل AnyDesk Audio
غالبًا ما يحاول برنامج AnyDesk الاتصال بجهاز الصوت، مما يتسبب في حدوث تعارضات في الأجهزة.
الإجراء: افتح إعدادات AnyDesk -> الصوت -> قم بتعطيل “إرسال الصوت” و “إعادة إنتاج الصوت”.
#### إصلاح معدل عينة PipeWire (مستحسن)
قم بإجبار PipeWire على البقاء عند 48 كيلو هرتز لتجنب إعادة تشكيل القطع الأثرية أثناء تشغيل TTS.
قم بإنشاء دليل التكوين:
mkdir -p ~/.config/pipewireانسخ التكوين الافتراضي:
cp /usr/share/pipewire/pipewire.conf ~/.config/pipewire/قم بتحرير
~/.config/pipewire/pipewire.confوقم بتعيين:
default.clock.rate = 48000
4. إعادة تشغيل الخدمات:
systemctl --user restart pipewire pipewire-pulse wireplumber
---
## 3. استرداد ما بعد الإنتاج (FFmpeg)
إذا قمت بتسجيل جلسة وكان الصوت مشوهًا (“clirring”)، فاستخدم سلسلة التصفية ffmpeg التالية لإصلاح الملف.
### أمر الإصلاح الموصى به
يطبق هذا الأمر أداة إزالة المقص وتقليل الضوضاء ومرشح الترددات المنخفضة لإزالة القطع الأثرية الرقمية عالية التردد دون إعادة تشفير الفيديو.
تم اختباره وجيد جدًا:
ffmpeg -i input_video.mp4
-af "adeclip, afftdn, lowpass=f=5000, volume=1.5" \
-c:v copy reparatur_output.mp4
قد يكون أفضل مع (لم يتم اختباره):
ffmpeg -i input_video.mp4 \
-af "adeclip, afftdn, lowpass=f=3500, volume=1.8" \
-c:v copy repaired_audio_output.mp4
لم يتم اختباره:
ffmpeg -i input_video.mp4 -af "arnndn=m=cb.rnnn, lowpass=f=5000" -c:v copy ki_reparatur.mp4
** انهيار التصفية: **
- `adeclip`: لتقريب مسامير القطع الرقمية.
afftdn: يقلل من الضوضاء الرقمية المستندة إلى FFT.lowpass=f=3500: يقطع الترددات التي تزيد عن 3.5 كيلو هرتز حيث يحدث معظم “التشويش” (يجعل الصوت أكثر وضوحًا/أكثر دفئًا).الحجم=1.8: يعوض فقدان الحجم أثناء التصفية.-c:v نسخة: يحافظ على جودة الفيديو الأصلية (سريعة للغاية).--- ## أدوات التصحيح
لمراقبة سلامة الصوت في الوقت الفعلي أثناء التطوير:
pw-top: يعرض الأخطاء في الوقت الفعلي (عمود ERR) وحالة المخزن المؤقت.journalctl --user -u Pipewire: التحقق من قطع اتصال الأجهزة.