Skip to main content

A real-time Machine Learning audio engine for dynamic Equalizer APO optimization.

Project description

EquAI - Smart Audio Engine & Dynamic Equalizer (Real-Time DSP & ML)

Python Streamlit scikit-learn SQLite

📖 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 soundcard library 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.txt within 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

  1. Python 3.11 (Strictly recommended. Versions 3.12/3.13 may face Windows DLL compatibility issues with audio libraries).
  2. 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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

equai-1.0.0.tar.gz (4.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

equai-1.0.0-py3-none-any.whl (4.1 kB view details)

Uploaded Python 3

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

Hashes for equai-1.0.0.tar.gz
Algorithm Hash digest
SHA256 c4ad7ab8ba4dde807e04559ec235660e55af491dcea22864811c952e088ece70
MD5 265ceb6f2b3c3372130e681f15d142cb
BLAKE2b-256 8b32b001a99edb2ddae5ef06523aab3f22f81ec0210c89ebce9a4bdf132883df

See more details on using hashes here.

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

Hashes for equai-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 a521f385c86a67d1469e3cc87f069d92d28d3348b835c9291774bc270e11e28d
MD5 4244e20c0e1ce0fa5ada704ea3995c5f
BLAKE2b-256 4f28ac7ea17a1e4da946d536df2cd9c5c50e459baa328d43eb9530b75abb3f59

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page