Interactive Streamlit audio equalizer using RBJ Parametric EQ as the main/default method, with FIR and IIR included for comparison.
- WAV and MP3 audio upload
- Before/after audio player
- FFT spectrum before and after equalization
- Smart presets: Flat, Smiley/Music, Bass Boost, Vocal Clarity, Treble Boost, Warm Sound
- Clipping warning and automatic normalization
- Filter frequency response plot
- Download processed audio as WAV or MP3
- FIR vs IIR vs RBJ comparison table
- Download processed WAV file
- Clean Jupyter notebook for filter design and FFT analysis
RBJ Parametric EQ is recommended as the main method because it is fast, low-latency, and works smoothly with interactive Streamlit sliders.
IIR Butterworth SOS is kept as a strong real-time comparison method. FIR Kaiser is kept for academic filter-design explanation because it has linear phase, but it has higher latency.
streamlit_equalizer_final/
├── app.py
├── dsp_equalizer.py
├── equalizer_fft_filter_design_notebook.ipynb
├── requirements.txt
├── COMPARISON.md
├── README.md
├── .gitignore
└── .streamlit/config.toml
python -m venv .venv
.venv\Scripts\activate
pip install -r requirements.txt
streamlit run app.pyIf PowerShell blocks activation, run:
Set-ExecutionPolicy -Scope CurrentUser RemoteSignedThen activate again:
.venv\Scripts\activate
streamlit run app.pyjupyter notebook equalizer_fft_filter_design_notebook.ipynbgit init
git add .
git commit -m "Add Streamlit DSP equalizer app"
git branch -M main
git remote add origin https://github.com/YOUR_USERNAME/streamlit-dsp-equalizer.git
git push -u origin mainInteractive Streamlit Audio Equalizer using RBJ Parametric EQ with FFT-Based Visualization and FIR/IIR/RBJ Filter Design Comparison
The app supports MP3 upload and MP3 export using pydub.
For Streamlit Cloud deployment, keep this file in the repository root:
packages.txt
It contains:
ffmpeg
This helps the deployed app decode and export MP3 files correctly. Locally, MP3 support also requires FFmpeg to be installed on your computer. WAV will still work without MP3 export.