Adagio is a premium, locally-hosted desktop application that bridges the gap between Local LLM Intelligence (Ollama) and Global Music Ecosystems. Purpose-built for Master's-level research, it ensures 100% data privacy while providing state-of-the-art music recognition, mood analysis, and intelligent discovery.
π Get Started β’ β¨ Features β’ π οΈ Architecture β’ π Documentation
|
Use natural language (e.g., "Give me some dark, energetic techno for late-night coding"). Adagio curates 8 verified global hits based on your specific mood and request. |
Every AI recommendation is cross-referenced against the Spotify Developer API in real-time. Results are discarded if they don't exist in the official databaseβensuring 100% accuracy. |
|
Using AI, Adagio extracts the emotional essence of any track, generating a custom UI color palette and descriptive mood string from lyrics or titles. |
Upload a file or use your microphone. Adagio uses ACRCloud and AudD APIs to identify any song playing in the environmentβthe Shazam experience, built locally. |
|
Integrated with the YouTube Data API v3, Adagio prioritizes Official Music Videos, filtering out covers and lyric videos to provide the purest artist vision. |
Beyond words: Adagio provides AI-generated music critic insights, summarizing the deeper narrative and metaphors hidden within song lyrics. |
- Node.js v16+ (Native support for ESM)
- FFmpeg (Included via
ffmpeg-staticfor audio slicing) - Ollama installed locally with the
qwen2.5:0.5bmodel pulled.- Command:
ollama run qwen2.5:0.5b
- Command:
git clone https://github.com/Steventanardi/Adagio.git
cd Adagio
npm installCreate a file named .env in the root and add your secrets (refer to .env.example for details).
SPOTIFY_CLIENT_ID=your_id
SPOTIFY_CLIENT_SECRET=your_secret
YOUTUBE_API_KEY=your_yt_key
# ... see .env.example- Backend: Node.js, Express.js
- Frontend: Vanilla Javascript (Modern ES6+), Premium CSS Flexbox/Grid
- Database: Local JSON State (Users & Libraries)
- AI Engine: Ollama (Local AI Orchestration)
- Service Integration: Spotify SDK, YouTube v3 API, Genius API, ACRCloud SDK, AudD API
βββ π src
β βββ π routes # Express Controllers (Auth, Music, Library)
β βββ π services # Core Logic (AI, Spotify, YouTube, Recognition)
β βββ π utils # Helpers & Database Handlers
βββ π public # Electron Frontend Assets
βββ π docs # Manuals & Research Documentation
βββ π server.js # Main Application Entry PointBuilt with β€οΈ by Steven Tanardi for Academic Excellence.