استعادة الكلام — Sidon

أعِد الكلام المشوّش أو ذا الصدى أو محدود النطاق إلى صوت نظيف بمعدّل 48 kHz باستخدام Sidon — نموذج واحد يجمع بين إزالة الضوضاء وإزالة الصدى وتوسيع عرض النطاق. يعمل بالكامل على الجهاز (CoreML على Apple Silicon، وONNX Runtime في غيره). ولأنّه يعيد بناء الكلام من تمثيلات مكتسَبة بدلًا من مجرّد تقنيع الضوضاء، فهو فعّال بشكل خاصّ في تحضير مرجع استنساخ الصوت: ينظّف التسجيل مع الحفاظ على هويّة المتحدّث.

متى تستخدم Sidon مقابل DeepFilterNet3

تحسين الكلام (DeepFilterNet3) هو مُخمِّد ضوضاء صغير جدًّا يعمل في الوقت الحقيقي. أمّا Sidon فنموذج استعادة توليديّة أثقل: يزيل الصدى أيضًا ويعيد بناء التفاصيل عالية التردّد إلى 48 kHz. استخدم DeepFilterNet3 لإزالة الضوضاء المباشرة، وSidon للتنظيف غير المتزامن للمراجع والتسجيلات الأرشيفيّة.

البنية

Sidon خطّ معالجة من مرحلتين: متنبّئ سمات ذاتيّ الإشراف ينقّي تمثيل الكلام، ثمّ vocoder عصبيّ يعيد تركيب موجة نظيفة منه.

المرحلةالتفاصيل
الواجهة الأماميّةسمات log-mel من w2v-BERT 2.0 SeamlessM4T (16 kHz ← 160 بُعدًا)
المتنبّئw2v-BERT 2.0 (8 طبقات) مع رأس تنقية مضبوط بـ LoRA ← سمات منقّاة
الـ Vocoderفاكّ DAC يعيد تركيب صوت 48 kHz من السمات المنقّاة

خطّ المعالجة هو 16 kHz audio → features → predictor → DAC decoder → 48 kHz audio. الإجمالي ≈ 246M معلمة (193.6M للمتنبّئ + 52.4M للـ vocoder).

خطّ المعالجة

  1. استخراج السمات — حساب سمات log-mel من w2v-BERT 2.0 من المدخل بمعدّل 16 kHz (Accelerate/vDSP على Apple، وC++ على المنصّات الأخرى)
  2. المتنبّئ — يخطّط مرمّز w2v-BERT المضبوط بـ LoRA السمات المشوّشة/ذات الصدى إلى سمات نظيفة
  3. الـ Vocoder — يعيد فاكّ DAC بناء موجة نظيفة بمعدّل 48 kHz من السمات المنقّاة
  4. التقطيع — يُعالَج الصوت الأطول في نوافذ ثابتة (~10 ث) ويُخاط على المحور الزمنيّ بمعدّل 48 kHz

الجودة

على مقطع مرجعيّ ذي صدى، ترفع الاستعادة الجودة الإدراكيّة مع الحفاظ على هويّة المتحدّث سليمة (MOS بلا مرجع):

الصوتDNSMOS OVRLUTMOSتشابه المتحدّث (cosine)
المدخل (ذو صدى)2.902.99
بعد استعادة Sidon3.293.400.79

أكبر مكسب في درجة الخلفية (إزالة الصدى). ويُحافَظ على تشابه المتحدّث، وهو ما يهمّ عند تنظيف مرجع استنساخ.

إصدارات النموذج

يضغط التكميم المتنبّئ؛ بينما يبقى vocoder الـ DAC بدقّة أعلى (لجودة الصوت). على Apple، يستخدم int8 تجزئة k-means؛ وعلى ONNX، يكون int8 على الأوزان فقط لكلّ قناة.

الصيغةالدقّةحجم الحزمة
CoreMLint8 (المتنبّئ) + FP16 (vocoder)~407 MB
CoreMLFP16~713 MB
ONNXint8 (المتنبّئ) + FP16 (vocoder)~286 MB
ONNXFP16~470 MB
ONNXFP32~939 MB

الاستخدام من سطر الأوامر

# Restore audio (denoise + dereverb) to clean 48 kHz
.build/release/speech restore noisy.wav -o clean.wav

# Clean a voice-cloning reference before TTS
.build/release/speech speak "Hello world" --voice-sample ref.wav --clean-reference
مهم

يُخرج Sidon صوتًا بمعدّل 48 kHz بغضّ النظر عن معدّل عيّنة المدخل (يرفع معدّل العيّنات ويستعيد عرض النطاق). إنّه نموذج استعادة غير متزامن — أثقل من DeepFilterNet3 — ويُفضَّل تشغيله على ملفّ لا على بثّ مباشر.

تنزيلات النماذج

النموذجالصيغةHuggingFace
Sidon (CoreML)fp16 + int8aufklarer/Sidon-CoreML
Sidon (ONNX)int8 + fp16 + fp32soniqo/Sidon-ONNX

الدمج مع نماذج أخرى

يُعدّ Sidon أكثر فائدة كخطوة معالجة أوّليّة:

واجهة Swift

import SpeechRestoration

let restorer = try await SpeechRestorer.fromPretrained()
let cleanAudio = try restorer.restore(audio: noisySamples, sampleRate: 16000)

متاح أيضًا على Android وLinux وWindows عبر Speech Core (ONNX Runtime). مبنيّ على Sidon (MIT).