स्पीच एन्हांसमेंट

DeepFilterNet3 का उपयोग करके स्पीच रिकॉर्डिंग से बैकग्राउंड नॉइज़ हटाएँ। मॉडल कुशल इन्फ़रेंस के लिए CoreML के माध्यम से Neural Engine पर चलता है, जबकि सभी सिग्नल प्रोसेसिंग (STFT, ERB filterbank, deep filtering) Accelerate/vDSP के माध्यम से CPU पर चलती है।

आर्किटेक्चर

DeepFilterNet3 एक dual-decoder आर्किटेक्चर का उपयोग करता है जो spectral envelope एन्हांसमेंट को fine-grained spectral detail रिकवरी से अलग करता है।

चरणविवरण
STFTvDSP के माध्यम से Short-time Fourier transform
Encoder4 SepConv2d layers + SqueezedGRU
ERB DecoderERB-scale frequency bands पर लागू Sigmoid mask
DF Decoder5-tap complex-valued filtering coefficients
iSTFTTime-domain signal को पुनर्निर्माण करने के लिए Inverse STFT

ERB Decoder Equivalent Rectangular Bandwidth (ERB) scale पर एक gain mask का अनुमान लगाता है, जो broad spectral shaping को हैंडल करता है। DF Decoder fine detail के लिए 5-tap complex filtering coefficients का अनुमान लगाता है, जो frequency domain में सीधे learned filters लागू करता है।

प्रोसेसिंग पाइपलाइन

  1. STFT — vDSP का उपयोग करके noisy ऑडियो को time-frequency प्रतिनिधित्व में विघटित करें
  2. ERB Features — STFT bins को ERB-scale frequency bands पर मैप करें
  3. Neural Network — Encoder Neural Engine पर features प्रोसेस करता है; ERB और DF decoders एन्हांसमेंट पैरामीटर का अनुमान लगाते हैं
  4. ERB Masking — spectral envelope में नॉइज़ को दबाने के लिए sigmoid gain mask लागू करें
  5. Deep Filtering — fine spectral detail रिकवरी के लिए 5-tap complex coefficients लागू करें
  6. iSTFT — एन्हांस्ड स्पेक्ट्रम से साफ़ ऑडियो का पुनर्निर्माण करें

मॉडल वेरिएंट

वेरिएंटआकारप्रिसिज़न
INT8 (डिफ़ॉल्ट)~2.2 MB8-bit क्वांटाइज़्ड
FP32~4.3 MBFull precision

मॉडल में लगभग 2.1M पैरामीटर हैं। INT8 वेरिएंट डिफ़ॉल्ट रूप से उपयोग किया जाता है और आधे आकार पर समतुल्य गुणवत्ता प्रदान करता है।

CLI उपयोग

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

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

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

विकल्प

विकल्पविवरण
--output, -oआउटपुट फ़ाइल पथ (डिफ़ॉल्ट <input>_denoised.wav)
--modelमॉडल वेरिएंट: int8 (डिफ़ॉल्ट) या fp32
महत्वपूर्ण

DeepFilterNet3 MLX के माध्यम से GPU पर नहीं, CoreML के माध्यम से Neural Engine पर चलता है। इसका अर्थ है कि यह कुशलता से काम करता है भले ही अन्य GPU-आधारित मॉडल (ASR, TTS) चल रहे हों। किसी metallib कंपाइलेशन की आवश्यकता नहीं है।

मॉडल डाउनलोड

मॉडलआकारHuggingFace
DeepFilterNet3 (CoreML FP16)~4.2 MBaufklarer/DeepFilterNet3-CoreML

अन्य मॉडलों के साथ संयोजन

स्पीच एन्हांसमेंट अन्य मॉडलों से पहले एक प्रीप्रोसेसिंग चरण के रूप में विशेष रूप से उपयोगी है:

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

Swift API

import SpeechEnhancement

let model = try await DeepFilterNet3.loadFromHub()
let cleanAudio = try await model.denoise(audioFile: "noisy.wav")
try cleanAudio.write(to: "clean.wav")

ONNX Runtime के माध्यम से Android और Linux पर भी उपलब्ध