A real-time Machine Learning audio engine for dynamic Equalizer APO optimization.
Project description
EquAI - Smart Audio Engine & Dynamic Equalizer (Real-Time DSP & ML)
📖 Overview
EquAI is a cutting-edge, Python-based digital signal processing (DSP) application that actively monitors your system's audio output via Loopback. By extracting over 20 digital audio features (such as MFCC, RMS, ZCR, and Spectral Centroid) in real-time, EquAI leverages a Random Forest Machine Learning model to apply dynamic EQ optimization directly through Equalizer APO.
Whether you're listening to Spotify, watching YouTube, or gaming, EquAI acts as an intelligent layer that adapts your audio profile on the fly.
Key Features
- 🧠 AI-Powered Automated EQ: Continuously analyzes system audio, predicts the music genre, and applies smooth, ISO-standard EQ transitions with Preamp limiters to prevent clipping.
- 🎛️ Advanced Manual Control: Take the wheel with a 15-band vertical slider architecture backed by SQLite. Load built-in profiles (Rock, Pop, Jazz) or save your custom sonic signatures.
- 🎧 Universal Audio Capture: Employs the
soundcardlibrary for lossless capture of all audio outputs—including Bluetooth headsets—eliminating the need for virtual audio cables. - 🛡️ Seamless APO Integration: Directly writes configurations to
dynamic_eq.txtwithin the project directory, cleanly bypassing strict Windows Administrator restrictions. - 📊 Live DSP Telemetry: Monitor dynamic audio data via a sleek Streamlit interface. Track live BPM, A-Weighted Loudness, Danceability, and spectral power distribution with interactive charts.
Architecture
EquAI is built with a highly modular architecture to ensure low-latency performance and easy scalability:
/core(The Engines):audio_processor.py: The ear of the system, capturing audio via C-Level DLL bindings.ml_engine.py&librosa_engine.py: The brain. Manages ML predictions, Q-Factor math, and smoothing algorithms.db_manager.py: The memory. Handles SQLite database operations for user presets.eq_controller.py: The hand. Translates calculations into Equalizer APO configuration parameters.
/views(The Frontend): Streamlit modules serving the Real-Time EQ dashboard, Manual EQ controls, and Smart Playlist interfaces.
🛠️ Installation & Setup
⚠️ Prerequisites
- Python 3.11 (Strictly recommended. Versions 3.12/3.13 may face Windows DLL compatibility issues with audio libraries).
- Equalizer APO installed and configured on your primary audio device.
⚙️ Quick Start
# 1. Clone the repository
git clone [https://github.com/BButcher-435/Drupe.git](https://github.com/BButcher-435/Drupe.git)
cd Drupe
# 2. Set up a virtual environment
python -3.11 -m venv venv
# 3. Activate the environment
# Windows:
.\venv\Scripts\activate
# macOS/Linux:
source venv/bin/activate
# 4. Install dependencies
pip install -r requirements.txt
# 5. Launch the application
streamlit run app.py
Contributing
Contributions are always welcome! Feel free to open an issue or submit a pull request if you have ideas to improve the DSP pipeline, UI, or ML models
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file equai-1.0.0.tar.gz.
File metadata
- Download URL: equai-1.0.0.tar.gz
- Upload date:
- Size: 4.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c4ad7ab8ba4dde807e04559ec235660e55af491dcea22864811c952e088ece70
|
|
| MD5 |
265ceb6f2b3c3372130e681f15d142cb
|
|
| BLAKE2b-256 |
8b32b001a99edb2ddae5ef06523aab3f22f81ec0210c89ebce9a4bdf132883df
|
File details
Details for the file equai-1.0.0-py3-none-any.whl.
File metadata
- Download URL: equai-1.0.0-py3-none-any.whl
- Upload date:
- Size: 4.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a521f385c86a67d1469e3cc87f069d92d28d3348b835c9291774bc270e11e28d
|
|
| MD5 |
4244e20c0e1ce0fa5ada704ea3995c5f
|
|
| BLAKE2b-256 |
4f28ac7ea17a1e4da946d536df2cd9c5c50e459baa328d43eb9530b75abb3f59
|