{"_id":"deepfilter-standalone","_rev":"3-afe0d9a708bd1d24f7ae68504d428c2d","name":"deepfilter-standalone","dist-tags":{"latest":"1.0.2"},"versions":{"1.0.0":{"name":"deepfilter-standalone","version":"1.0.0","keywords":["deepfilter","noise-reduction","audio","denoising","wasm"],"license":"MIT","_id":"deepfilter-standalone@1.0.0","maintainers":[{"name":"abdullahtalal","email":"abdullahtalal1122@gmail.com"}],"dist":{"shasum":"49b847dcddadfd726911b66cd93ec804b21604ad","tarball":"https://registry.npmjs.org/deepfilter-standalone/-/deepfilter-standalone-1.0.0.tgz","fileCount":12,"integrity":"sha512-lIMO0GdF3+fsN9keCIITWLEwNZnqKWuiAxwerY6beEUKyjAfI26/NLVQxUx7P8Hc01r0ZQys6rr/OT/BG4D64Q==","signatures":[{"sig":"MEUCIQDp3nycVBAqJ/F6gU8C5z7Hr7iAACdThYBpwlvnuLHMqAIgcPwHUg1ed3ocK6CGGRewJWBOo5E1vBnK03GMgSn/2PY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":51563},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"}},"gitHead":"52a8c1bcd0fbf01b3909f32759749b521aafed9d","scripts":{"build":"tsc","prepublishOnly":"npm run build"},"_npmUser":{"name":"abdullahtalal","email":"abdullahtalal1122@gmail.com"},"_npmVersion":"11.5.2","description":"Standalone DeepFilterNet3 audio denoiser - direct buffer processing without AudioWorklet","directories":{},"_nodeVersion":"22.19.0","dependencies":{},"_hasShrinkwrap":false,"devDependencies":{"vite":"^5.0.0","typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/deepfilter-standalone_1.0.0_1771276388155_0.25642248856400074","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"deepfilter-standalone","version":"1.0.1","keywords":["deepfilter","noise-reduction","audio","denoising","wasm"],"license":"MIT","_id":"deepfilter-standalone@1.0.1","maintainers":[{"name":"abdullahtalal","email":"abdullahtalal1122@gmail.com"}],"homepage":"https://github.com/abubakarwaqas/deepfilter-standalone#readme","bugs":{"url":"https://github.com/abubakarwaqas/deepfilter-standalone/issues"},"dist":{"shasum":"450edec3508a73c6317b838058daa9e0d00aae66","tarball":"https://registry.npmjs.org/deepfilter-standalone/-/deepfilter-standalone-1.0.1.tgz","fileCount":12,"integrity":"sha512-AEMRpKh3wsRq0fRau8XpxYLd7FKS5qTvVDhQx6BFrAUoSRiX3Upk2X0kKyr4+buglPV0e3SnZ3aqmjX8wKlyaQ==","signatures":[{"sig":"MEYCIQD4FUQkig/9q9UOIfsmbaf0SeFORT0Q9Fo1tilJqG2BIQIhAJOoiNlGeE2HrTLqvJaVvzNSPi5thHy4AKEYUBL9rDWa","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":51848},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"}},"gitHead":"69693dd8914ae78f6e7f6226d5ce1fe29b794a3f","scripts":{"build":"tsc","prepublishOnly":"npm run build"},"_npmUser":{"name":"abdullahtalal","email":"abdullahtalal1122@gmail.com"},"repository":{"url":"git+https://github.com/abubakarwaqas/deepfilter-standalone.git","type":"git"},"_npmVersion":"11.5.2","description":"Standalone DeepFilterNet3 audio denoiser - direct buffer processing without AudioWorklet","directories":{},"_nodeVersion":"22.19.0","dependencies":{},"_hasShrinkwrap":false,"devDependencies":{"vite":"^5.0.0","typescript":"^5.3.0"},"_npmOperationalInternal":{"tmp":"tmp/deepfilter-standalone_1.0.1_1771277640093_0.9074166877835146","host":"s3://npm-registry-packages-npm-production"}},"1.0.2":{"name":"deepfilter-standalone","version":"1.0.2","description":"Standalone DeepFilterNet3 audio denoiser - direct buffer processing without AudioWorklet","type":"module","main":"dist/index.js","module":"dist/index.js","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"}},"repository":{"type":"git","url":"git+https://github.com/abdullahtalal1122/deepfilternet3-standalone-raw-audio-denoising.git"},"bugs":{"url":"https://github.com/abdullahtalal1122/deepfilternet3-standalone-raw-audio-denoising/issues"},"homepage":"https://github.com/abdullahtalal1122/deepfilternet3-standalone-raw-audio-denoising#readme","scripts":{"build":"tsc","prepublishOnly":"npm run build"},"keywords":["deepfilter","noise-reduction","audio","denoising","wasm"],"license":"MIT","devDependencies":{"typescript":"^5.3.0","vite":"^5.0.0"},"dependencies":{},"_id":"deepfilter-standalone@1.0.2","gitHead":"69693dd8914ae78f6e7f6226d5ce1fe29b794a3f","_nodeVersion":"22.19.0","_npmVersion":"11.5.2","dist":{"integrity":"sha512-9BV9HC/dqP3tYcz6CV2XBwarsLrGjKTLRSwbOIiRCRE3cZ8E2l1W46jApuVF+lFZrqoss4HCXKJE557z+V4P6Q==","shasum":"13ba1847ba85dd998c51b2798a5186c77ae8334e","tarball":"https://registry.npmjs.org/deepfilter-standalone/-/deepfilter-standalone-1.0.2.tgz","fileCount":12,"unpackedSize":51932,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQDpVgz+8gjd2otX8rO0VrYaFwOFYUiWyKWGA5OpPCKMOAIgA9TXZpAR6kne8aaxUtV0hyn20kFSnxIfD2vGzQndgCo="}]},"_npmUser":{"name":"abdullahtalal","email":"abdullahtalal1122@gmail.com"},"directories":{},"maintainers":[{"name":"abdullahtalal","email":"abdullahtalal1122@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/deepfilter-standalone_1.0.2_1771277738448_0.37822688908777"},"_hasShrinkwrap":false}},"time":{"created":"2026-02-16T21:13:08.060Z","modified":"2026-02-16T21:35:38.714Z","1.0.0":"2026-02-16T21:13:08.285Z","1.0.1":"2026-02-16T21:34:00.256Z","1.0.2":"2026-02-16T21:35:38.590Z"},"bugs":{"url":"https://github.com/abdullahtalal1122/deepfilternet3-standalone-raw-audio-denoising/issues"},"license":"MIT","homepage":"https://github.com/abdullahtalal1122/deepfilternet3-standalone-raw-audio-denoising#readme","keywords":["deepfilter","noise-reduction","audio","denoising","wasm"],"repository":{"type":"git","url":"git+https://github.com/abdullahtalal1122/deepfilternet3-standalone-raw-audio-denoising.git"},"description":"Standalone DeepFilterNet3 audio denoiser - direct buffer processing without AudioWorklet","maintainers":[{"name":"abdullahtalal","email":"abdullahtalal1122@gmail.com"}],"readme":"# DeepFilterNet3 Standalone\n\nA standalone implementation of DeepFilterNet3 audio denoising that provides **direct buffer-to-buffer processing** without requiring AudioWorklet or LiveKit infrastructure.\n\n## 🎯 Key Features\n\n- **Zero AudioWorklet overhead** - Direct WASM-based processing\n- **Simple API** - Just `processAudio(buffer)` to denoise\n- **Pre-initialization** - Load WASM once at app startup, instant processing thereafter\n- **Perfect for push-to-talk** - No activation delay after initialization\n\n## 📦 Installation\n\n```bash\nnpm install\n```\n\n## 🚀 Quick Start\n\n```typescript\nimport { StandaloneDeepFilter } from './src/StandaloneDeepFilter';\n\n// Initialize once at app startup\nconst denoiser = new StandaloneDeepFilter({\n  attenuationLimit: 50,  // Noise reduction strength (0-100 dB)\n  postFilterBeta: 0.02   // Post filter (0-0.05, 0 disables)\n});\n\nawait denoiser.initialize();\nconsole.log('Denoiser ready!');\n\n// Later, when you have audio to process:\nconst noisyAudio = new Float32Array(/* your 48kHz mono audio */);\nconst cleanAudio = denoiser.processAudio(noisyAudio);\n\n// Or with statistics:\nconst { audio, stats } = denoiser.processAudioWithStats(noisyAudio);\nconsole.log(`Processed ${stats.inputSamples} samples in ${stats.processingTimeMs}ms`);\n```\n\n## 🛠️ API Reference\n\n### `StandaloneDeepFilter`\n\n#### Constructor Options\n\n```typescript\ninterface DeepFilterConfig {\n  cdnUrl?: string;           // CDN for WASM/model (default: official CDN)\n  attenuationLimit?: number; // Noise reduction in dB (default: 50)\n  postFilterBeta?: number;   // Post filter strength (default: 0.02)\n}\n```\n\n#### Methods\n\n| Method | Description |\n|--------|-------------|\n| `initialize()` | Load WASM and model. Call once at startup. |\n| `processAudio(input: Float32Array)` | Denoise audio buffer (48kHz mono) |\n| `processAudioWithStats(input)` | Denoise with timing statistics |\n| `setAttenuationLimit(db: number)` | Adjust noise reduction strength |\n| `setPostFilterBeta(beta: number)` | Adjust post filter |\n| `getFrameLength()` | Get the WASM model's frame size |\n| `isReady()` | Check if initialized |\n| `destroy()` | Cleanup resources |\n\n## 🎮 Demo\n\nRun the interactive demo:\n\n```bash\nnpm run demo\n```\n\nThis opens a browser with:\n- 🎙️ Microphone recording with instant denoising\n- 📁 Audio file upload and processing\n- ⚙️ Real-time parameter adjustment\n- 📊 Processing statistics\n\n## 📐 Architecture\n\nThis package extracts the core WASM processing from [livekit-deepfilternet3-noise-filter](https://github.com/phuvinh010701/livekit-deepfilternet3-noise-filter) and provides a simpler interface:\n\n```\nOriginal Package:\n┌─────────────────────────────────────────────┐\n│  LiveKit TrackProcessor                      │\n│  └── AudioWorkletNode                        │\n│      └── AudioWorkletProcessor               │\n│          └── WASM (df_process_frame)         │  ← We use this directly!\n└─────────────────────────────────────────────┘\n\nThis Package:\n┌─────────────────────────────────────────────┐\n│  StandaloneDeepFilter                        │\n│  └── WASM (df_process_frame)                 │  ← Direct access\n└─────────────────────────────────────────────┘\n```\n\n## ⚠️ Requirements\n\n- **Sample Rate**: 48kHz (resample if needed)\n- **Channels**: Mono (mix down stereo if needed)\n- **Browser**: Modern browser with WebAssembly support\n\n## 📄 License\n\n\nMIT License\n\n## Attribution & License Compliance\n\nThis package reuses and builds upon code from [livekit-deepfilternet3-noise-filter](https://github.com/phuvinh010701/livekit-deepfilternet3-noise-filter), which is licensed under the MIT License. Portions of WASM processing and model loading logic are directly adapted from the original project.\n\nWe gratefully acknowledge the authors and contributors of livekit-deepfilternet3-noise-filter. Please see their repository for full license and copyright information.\n\nYou must retain the original MIT license and attribution if redistributing or modifying this package.\n\n---\nMIT - Based on DeepFilterNet3 and livekit-deepfilternet3-noise-filter\n","readmeFilename":"README.md"}