Skip to main content

Real-time audio denoising using DeepFilterNet with streaming

Project description

DeepFilterNet Streaming

A Python library for real-time audio denoising using DeepFilterNet, providing streaming audio processing capabilities through C API bindings.

Platform Support

Currently supports the following platforms:

  • macOS ARM64 (Apple Silicon)
  • Linux x86_64
  • Linux ARM64 (aarch64)

Installation

pip install dfnstream-py

Quick Start

from dfnstream_py import DeepFilterNetStreaming
import numpy as np

# Initialize the processor
processor = DeepFilterNetStreaming()

# Process audio chunks
audio_chunk = np.random.randn(1024).astype(np.float32)  # Your audio data
denoised_chunk = processor.process_chunk(audio_chunk)

# Don't forget to cleanup
processor.close()

Examples

The examples/ folder contains sample scripts demonstrating different use cases:

Single File Processing

uv run python examples/enhance_wav.py input_audio.wav

Processes a single WAV file and saves the denoised version as input_audio_denoised.wav.

Batch Directory Processing

uv run python examples/enhance_dir.py /path/to/wav/files/

Processes all WAV files in a directory and saves enhanced versions to an outputs/ folder.

API Reference

DeepFilterNetStreaming

The main class for audio processing.

DeepFilterNetStreaming(
    model_path=None,          # Optional custom model path
    atten_lim=None,           # Attenuation limit in dB (None = no limit)
    log_level="warn",         # Logging level: "error", "warn", "info", "debug", "trace"
    compensate_delay=True,    # Enable delay compensation
    post_filter_beta=0.0      # Post-filter beta (0.0 = disabled)
)

Key Methods

  • process_chunk(audio_chunk) - Process a chunk of audio data
  • process_frame(audio_frame) - Process a single frame
  • finalize() - Get remaining delayed samples
  • close() - Clean up resources

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

dfnstream_py-0.2.1.tar.gz (89.0 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

dfnstream_py-0.2.1-py3-none-any.whl (89.1 MB view details)

Uploaded Python 3

File details

Details for the file dfnstream_py-0.2.1.tar.gz.

File metadata

  • Download URL: dfnstream_py-0.2.1.tar.gz
  • Upload date:
  • Size: 89.0 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.7.13

File hashes

Hashes for dfnstream_py-0.2.1.tar.gz
Algorithm Hash digest
SHA256 a6f36e237af979fb6b076f56b42610f6316a3eda88b8472fcfa775c1e3161b57
MD5 f32b6c26b8782c8a4285609e87d53236
BLAKE2b-256 bf18fa54398932ed173a239005aa1b1b3306578eb55cfeb7ff2001c0ac44b7d9

See more details on using hashes here.

File details

Details for the file dfnstream_py-0.2.1-py3-none-any.whl.

File metadata

File hashes

Hashes for dfnstream_py-0.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 683db593ba3a25e019c733f8c1dee4c8d2130153e82c5b9daf4e58ee62eee591
MD5 1f61da001276c58cf83fffb42450057a
BLAKE2b-256 90a7716736a536d7dce3521dd73034b7a00a001ad8083cc48e3ef3ae24e79b1c

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page