https://github.com/alexisvassquez/ai_spotibot_player

AudioMIX is an open-source, AI-driven music production software designed to empower independent artists and DJs with mood-based audio analysis, LED integration, and creative autonomy. Spotibot was its original name.

https://github.com/alexisvassquez/ai_spotibot_player

Science Score: 26.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (15.0%) to scientific vocabulary

Keywords

ai audio audio-analysis audio-processing audio-utility cmake cpp daw hardware machine-learning mood-detection music-production-software music-production-tools music-programming-language music-visualizer open-source portaudio python software-engineering spotipy-api
Last synced: 5 months ago · JSON representation

Repository

AudioMIX is an open-source, AI-driven music production software designed to empower independent artists and DJs with mood-based audio analysis, LED integration, and creative autonomy. Spotibot was its original name.

Basic Info
  • Host: GitHub
  • Owner: alexisvassquez
  • License: other
  • Language: Python
  • Default Branch: master
  • Homepage:
  • Size: 98.4 MB
Statistics
  • Stars: 0
  • Watchers: 1
  • Forks: 0
  • Open Issues: 0
  • Releases: 0
Topics
ai audio audio-analysis audio-processing audio-utility cmake cpp daw hardware machine-learning mood-detection music-production-software music-production-tools music-programming-language music-visualizer open-source portaudio python software-engineering spotipy-api
Created about 1 year ago · Last pushed 7 months ago
Metadata Files
Readme Changelog Funding License

README.md

AudioMIX / Spotibot - AI-Powered Modular Music Production Software for Independent Artists & Creators


Meet AudioMIX and its test use case, Spotibot - an open-source and intelligent artist-friendly digital audio workstation. AudioMIX features AI-powered audio analysis and mood-aware music interaction.


AudioMIX's LED light can match its colors and song or playlist suggestions to the user's mood through the phenomenon of mood detection. Modular, expressive, and built for real-time creative performance.


I update this repo continuously via my local terminal. :)


Features

  • Mood detection from audio files
  • Spectral + MFCC-based analysis
  • Integrated Spotify API for playlist input with room for future extensions
  • Spotify integration: import playlists, analyze mood tracks, collaborative
  • LED output logic for physical interaction
  • Modular codebase (using Python + C/C++ + AudioScript (custom DSL))
  • Live performance engine for real-time interaction and show control
  • Audience listener to hype up live performances based on audience input
  • AudioScript Shell for live coding features
  • CLI-parseable JSON output for mood + BPM classification
  • Built with musicians in mind

Ethical AI

AudioMIX follows an open-source, emotionally-aware, and artist-first development philosophy.
See ETHICALAIMANIFESTO.md for our creative mission and guiding principles.


License

GNU General Public License v3 (open-source and free to use for indie artists, please refer to LICENSE.txt)


Project Modules

AudioMIX is modular by design, allowing for rapid extension into a full-scale music AI and production framework. The system will be organized into the following key components:

1. audio/extraction.py

Purpose: Feature extraction from audio files Current Capabilities: - Mel-frequency cepstal coefficients (MFCC) - Spectral contrast - Tempo + beat tracking Future Expansion: - Key detection - Genre classification - Dynamic range + loudness modeling


2. audio/mood_classifier.py

Purpose: Analyze extracted features and assign mood tags Current Capabilities: - Basic SVM model trained on open-label audio sets - Custom mood categories: happy, calm, energetic, sad, relaxed, angry Future Expansion: - Neural network mood embedding - Mood-to-mixtrack recommendation - Personalized training datasets


3. audio/main.cpp + audioutils.h + pulseaudiooss.sh + led_response.cpp

Purpose: Real-time audio playback + mood-responsive LED control Current Capabilities: - C++ PortAudio-based playback - Shell script to manage audio routing for PortAudio - GPIO/LED trigger on classification results Future Expansion: - Reactive visual patterns - BPM-sync lighting - Live mode for DJ controller input


4. interface/bot_response.py + pcvoice.mp3

Purpose: Spotibot personality/voice layer for interactivity Current Capabilities: - Early logic for vocalized responses to user mood/input - Default TTS voice or interaction prompt Future Expansion: - Integration with a personality engine


5. datasets/

Purpose: Audio files, metadata, and ML training targets Current Format: - Metadata syncing with Spotify API - Manual labeling for mood, BPM, genre - JSON parsing logic per track Future Expansion: - CSV per track - Open contributor mood tag dataset - Dataset visualizer UI


6. led-service/

Purpose: LED control microservice for live color pattern output based on mood/BPM JSON input
Current Capabilities: - CLI-parseable JSON endpoint (e.g. python main.py '{"mood": "hype", "bpm": 135}') - Pattern selection (strobe, pulse, fade) - Mood → RGB mapping with custom color profiles
Future Expansion: - Socket-based live trigger events - DMX lighting integration for venue-scale output


7. spotify/

Purpose: Ethical API Use No Scraping Data: - This project interacts with Spotify through the official Spotify Web API, utilizing authenticated access and approved scopes. - No scraping is used at any point. - All audio feature extraction is handled through permitted endpoints provided by Spotify, in accordance with their Developer Terms of Service. - This ensures ethical, transparent, and respectful use of artist and user data.

The purpose of these features is to support creative analysis and mood-based musical applications—not to exploit or misrepresent Spotify’s platform.


AudioScript - The Language of AudioMIX

AudioScript is a custom domain-specific language (DSL) created for AudioMIX. It allows users to control audio playback, LED behaviors, and mood transitions using expressive, scriptable commands in high-level syntax.

Features:

  • Human-readable, whitespace-sensitive syntax
  • Modular commands: play(), glow(), pulse(), mood.set(), and more
  • CLI interpreter support with real-time execution
  • Designed for live performance, emotional scripting, and AI augmentation

Sample Script:

python mood.set("uplifted") glow("lilac") play("intro.wav") pulse("yellow", bpm=120)

AudioScript is still evolving. View the full language spec here: AUDIOSCRIPT_SPEC.md


Juniper2.0 – The AudioMIX AI Core

Juniper2.0 is the intelligent assistant inside AudioMIX, designed to:

  • Assist with AudioScript generation and debugging
  • Suggest mood-optimized track flows
  • Recommend LED and emotional mappings
  • Guide live performance scripting in real time

Juniper2.0 will be integrated into the CLI and future UI to provide intelligent inline suggestions and personalized creative support for musicians and coders alike.

Juniper doesn’t just automate—she collaborates.


System Architecture Map

Below is the current system-level architecture of AudioMIX, including modules written in Python, C++, and AudioScript: AudioMIX will rave. Thank you :)

AudioMIX System Map

Project Tree

A full snapshot of the current project structure can be found in AudioMIX_project_tree.txt.


Requirements

  • Python 3.10+
  • CMake 3.18+
  • librosa, scikitlearn, sounddevice (please refer to requirements.txt)
  • PortAudio or PulseAudio

Getting Started

bash git clone https://github.com/alexisvassquez/ai_spotibot_player.git cd ai_spotibot_player pip install -r requirements.txt mkdir build && cd build cmake .. make

Owner

  • Name: alexis marie vasquez
  • Login: alexisvassquez
  • Kind: user
  • Location: Fort Lauderdale, FL
  • Company: Joseph John Dougherty LLC

project manager. data analytics.

GitHub Events

Total
  • Watch event: 1
  • Delete event: 2
  • Push event: 111
  • Create event: 5
Last Year
  • Watch event: 1
  • Delete event: 2
  • Push event: 111
  • Create event: 5

Issues and Pull Requests

Last synced: 11 months ago

All Time
  • Total issues: 0
  • Total pull requests: 0
  • Average time to close issues: N/A
  • Average time to close pull requests: N/A
  • Total issue authors: 0
  • Total pull request authors: 0
  • Average comments per issue: 0
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 0
  • Pull requests: 0
  • Average time to close issues: N/A
  • Average time to close pull requests: N/A
  • Issue authors: 0
  • Pull request authors: 0
  • Average comments per issue: 0
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
Pull Request Authors
Top Labels
Issue Labels
Pull Request Labels