audio-dspy

A package for audio DSP tools


License
MIT
Install
pip install audio-dspy==0.0.4

Documentation

Audio DSPy

CircleCI codecov CodeFactor Documentation Status

audio_dspy is a Python package for audio signal processing tools.

Current tools include:

  • EQ filter design
  • Nonlinear Processors
  • Sine Sweep Tools
  • Plotting Frequency Responses and Static Curves
  • Converting transfer functions to minimum or linear phase
  • Prony's method, and Prony's method with frequency warping
  • Modal modelling tools

Install using pip:

pip install audio-dspy

Examples

import audio_dspy as adsp
import matplotlib.pyplot as plt

# Plot nonlinear static curves
adsp.plot_static_curve (lambda x : adsp.hard_clipper (x), range=2.5)
adsp.plot_static_curve (lambda x : adsp.soft_clipper (x), range=2.5)
plt.title ('Comparing Nonlinearities')
plt.legend (['Hard Clipper', 'Soft Clipper'])

Pic

# Design and plot EQ filters
fs = 44100
b, a = adsp.design_lowshelf (800, 2.0, 2, fs)
adsp.plot_magnitude_response (b, a, fs=fs)
plt.title ('Low Shelf Filter')

Pic

# Perform level detection
from scipy.io import wavfile

fs, x = wavfile.read('drums.wav')
x = adsp.normalize(x[:,0]) # only take left channel, normalize
plt.plot(x, label='input')

for mode in ['peak', 'rms', 'analog']:
    y = adsp.level_detect(x, fs, mode=mode)
    plt.plot(y, label=mode)

plt.title('Level Detection Example')
plt.xlabel('Time [samples]')
plt.legend()

Pic