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.5.tar.gz (8.8 kB view details)

Uploaded Source

Built Distribution

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

biquad-0.5-py3-none-any.whl (15.3 kB view details)

Uploaded Python 3

File details

Details for the file biquad-0.5.tar.gz.

File metadata

  • Download URL: biquad-0.5.tar.gz
  • Upload date:
  • Size: 8.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.1

File hashes

Hashes for biquad-0.5.tar.gz
Algorithm Hash digest
SHA256 3546110c33f14f0bf426f25709fdf5c5f9e7d491feca08d8206033d33507cd61
MD5 1a7753516b664c7726a791deaedd5059
BLAKE2b-256 4e521a70663028f24cb05d176f89b1a412d0710acfcfa5b857c519921ce755cf

See more details on using hashes here.

File details

Details for the file biquad-0.5-py3-none-any.whl.

File metadata

  • Download URL: biquad-0.5-py3-none-any.whl
  • Upload date:
  • Size: 15.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.1

File hashes

Hashes for biquad-0.5-py3-none-any.whl
Algorithm Hash digest
SHA256 ed4740636c22720503e309d18bb7692b66f53090857caaed86dfce0a620967f5
MD5 2f319f62a6ff3e4263f1382ce7dc09c6
BLAKE2b-256 82af073e483455bf98a78b857a5e61501fc0517b40296bec0f117d445fddaf63

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