/py-audio-effects-autowah

Experimental digital implementation of an AutoWah or Envelope Filter effect in Python

Primary LanguagePython

autowah

Installing

Linux

You will need the port audio C library installed with header files, on Ubuntu 20.04 based distributions the following works:

sudo apt install portaudio19-dev

Running

poetry run autowah &; chrt -b --pid $!
graph LR
    Audio --> EnvelopeDetector
    Audio --> VariableBandwidthLPF
    EnvelopeDetector --> VariableBandwidthLPF  --> AudioOut
Loading

Todo

Done

  • Cleanup Envelope Detector implementation
  • Implement variable bandwidth filter (needs to be computed per sample)
  • Cleanup the variable bw filter
  • Tuneable Q filter (IIR)
  • Fix the underruns based on the filter len... Or get a better tuneable Q filter in there...
  • Finish the autowah integration
  • control variables and interactive plot
  • Get CI working

Important before Blog Post

  • Add a compression block
  • Apply to a wav file
  • Documentation sweep of the code base
  • Breakout unit tests for each section

Blog Post

  • Record some videos
  • Abstract block type + wiring diagram concept?
  • Create plots and gather resources
  • Plots of the movable filter. Maybe even some interactive graphics?
  • Diagram out architecture of the system
  • Write blog post
  • Publish

Someday

  • Fix exiting the program cleanly
  • Migrate to a pyqtplot based UI
  • Clean up the scope code