Skip to main content

Collection of alterable digital biquad filters for dynamic audio effect creation

Project description

Alterable biquad filters

language license pypi

This is a collection of digital biquad filters whose parameters f (frequency in Hz), g (gain in dB) and q (quality) can be varied at runtime. Following DF1 filter implementations are available:

  • Allpass
  • Bandpass
  • Highpass
  • Lowpass
  • Highshelf
  • Lowshelf
  • Notch
  • Peak

Basic usage

Filter with static configuration:

import biquad
import numpy as np

# load audio samples somehow
x, sr = np.zeros(...), 44100

# create a filter of your choice
f = biquad.bandpass(sr, f=sr/4, q=1)

# process all audio samples
y = f(x)

Filter with dynamic configuration:

import biquad
import numpy as np

# load audio samples somehow
x, sr = np.zeros(...), 44100

# create a filter of your choice
f = biquad.bandpass(sr)

# create parameter modifications as you like
myf = np.linspace(1, sr/4, len(x))
myq = np.linspace(2,  1/2, len(x))

# process all audio samples
y = f(x, f=myf, q=myq)

Keep in mind:

  • All filters have a default value for the persistent parameters g and q, which is set in the particular __init__ method.
  • Parameter f must be set either in the __init__ or in the __call__ method.
  • The optional instantaneous parameters f, g and q, if specified in the __call__ method, override the persistent ones.

References

  1. Cookbook formulae for audio EQ biquad filter coefficients by Robert Bristow-Johnson
  2. Introduction to Digital Filters with Audio Applications by Julius O. Smith III

License

github.com/jurihock/biquad is licensed under the terms of the MIT license. For details please refer to the accompanying LICENSE file distributed with it.

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

biquad-0.4.tar.gz (9.0 kB view hashes)

Uploaded Source

Built Distribution

biquad-0.4-py3-none-any.whl (15.2 kB view hashes)

Uploaded Python 3

Supported by

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