Skip to content

Latest commit

 

History

History
22 lines (15 loc) · 1013 Bytes

File metadata and controls

22 lines (15 loc) · 1013 Bytes

AdaptiveMultibandFilter

This is a basic Python script to create a simple 4-band (fundamental, 1st, 2nd and 3rd order formants of vocal range) adaptive bandpass filter by automatically detecting the fundamental frequency (F0) of the voice and adjusting the filter parameters with it.

Python Dependencies:

  • pyaudio - For real-time audio input/output
  • numpy - For numerical operations
  • scipy - For biquad filter design and application
  • librosa - Fundamental frequency estimation (using pyin).
  • matplotlib - For plotting the realtime values of gain and F0
  • soundfile - For writing audio output to a WAV file
  • json - Saved caliberation data configuration file

Demo Screengrab

Initialization and Caliberation Phase:

Caliberation & Init

After Caliberation:

After caliberation