تحسين الكلام — DeepFilterNet3

أزل ضوضاء الخلفية من تسجيلات الكلام باستخدام DeepFilterNet3. يعمل النموذج على Neural Engine عبر CoreML لاستدلال فعّال، بينما تجري كلّ معالجة الإشارة (STFT، مجموعة مرشّحات ERB، deep filtering) على وحدة المعالجة المركزيّة عبر Accelerate/vDSP.

البنية

يستخدم DeepFilterNet3 بنية ذات فاكَّين تفصل بين تحسين الغلاف الطيفي واستعادة التفاصيل الطيفيّة الدقيقة.

المرحلةالتفاصيل
STFTتحويل فورييه قصير الزمن عبر vDSP
Encoder4 طبقات SepConv2d + SqueezedGRU
ERB Decoderقناع sigmoid يُطبَّق على نطاقات التردّد بمقياس ERB
DF Decoderمعاملات ترشيح عقديّة بخمسة taps
iSTFTSTFT العكسي لإعادة بناء الإشارة في المجال الزمني

يقدّر ERB Decoder قناع ربح على مقياس Equivalent Rectangular Bandwidth (ERB)، ويتولّى التشكيل الطيفي الواسع. ويتنبّأ DF Decoder بمعاملات ترشيح عقديّة بخمسة taps للتفاصيل الدقيقة، ويطبّق مرشّحات مكتسَبة مباشرة في مجال التردّد.

خطّ المعالجة

  1. STFT — تحليل الصوت المشوّش إلى تمثيل زمنيّ-تردّديّ باستخدام vDSP
  2. سمات ERB — تخطيط حُزَم STFT إلى نطاقات تردّد بمقياس ERB
  3. الشبكة العصبيّة — يعالج Encoder السمات على Neural Engine؛ ويتنبّأ فاكّا ERB وDF بمعاملات التحسين
  4. التقنيع بـ ERB — تطبيق قناع الربح sigmoid لقمع الضوضاء في الغلاف الطيفي
  5. Deep filtering — تطبيق المعاملات العقديّة بخمسة taps لاستعادة التفاصيل الطيفيّة الدقيقة
  6. iSTFT — إعادة بناء الصوت النظيف من الطيف المحسَّن

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

الإصدارالحجمالدقّة
INT8 (افتراضي)~2.2 MBكَمّيّ بـ 8 بت
FP32~4.3 MBدقّة كاملة

يضمّ النموذج نحو 2.1M معلمة. يُستخدَم إصدار INT8 افتراضيًّا، ويوفّر جودة معادلة بحجم النصف.

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

# Denoise audio (output to _denoised.wav)
.build/release/speech denoise noisy.wav

# Specify output file
.build/release/speech denoise noisy.wav -o clean.wav

# Use FP32 model variant
.build/release/speech denoise noisy.wav --model fp32

الخيارات

الخيارالوصف
--output, -oمسار ملفّ الخرج (الافتراضي <input>_denoised.wav)
--modelإصدار النموذج: int8 (افتراضي) أو fp32
مهم

يعمل DeepFilterNet3 على Neural Engine عبر CoreML، لا على GPU عبر MLX. هذا يعني أنّه يعمل بكفاءة حتّى عندما تكون نماذج أخرى مبنيّة على GPU (ASR وTTS) قيد التشغيل. لا حاجة إلى تجميع metallib.

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

النموذجالحجمHuggingFace
DeepFilterNet3 (CoreML FP16)~4.2 MBaufklarer/DeepFilterNet3-CoreML

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

يُعدّ تحسين الكلام مفيدًا بشكل خاصّ كخطوة معالجة أوّليّة قبل نماذج أخرى:

# Denoise then transcribe
.build/release/speech denoise noisy.wav -o clean.wav
.build/release/speech transcribe clean.wav

واجهة Swift

import SpeechEnhancement

let model = try await SpeechEnhancer.fromPretrained()
let cleanAudio = try model.enhance(audio: noisySamples, sampleRate: 48000)

متاح أيضًا على Android وLinux وWindows عبر ONNX Runtime.