Skip to content

Steventanardi/Adagio

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

65 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Adagio Banner

🎡 ADAGIO

Intelligent, Research-Grade Music Discovery & Recognition

Node.js Electron AI Powered License


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


✨ Key Features

🧠 Intelligent Search

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.

πŸ›‘οΈ Anti-Hallucination Guard

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.

🎭 Mood Analysis

Using AI, Adagio extracts the emotional essence of any track, generating a custom UI color palette and descriptive mood string from lyrics or titles.

πŸŽ™οΈ Acoustic Fingerprinting

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.

πŸ“Ί Official MV Streaming

Integrated with the YouTube Data API v3, Adagio prioritizes Official Music Videos, filtering out covers and lyric videos to provide the purest artist vision.

πŸ“ Deep Lyrics Insights

Beyond words: Adagio provides AI-generated music critic insights, summarizing the deeper narrative and metaphors hidden within song lyrics.


πŸš€ Installation

1. Prerequisites

  • Node.js v16+ (Native support for ESM)
  • FFmpeg (Included via ffmpeg-static for audio slicing)
  • Ollama installed locally with the qwen2.5:0.5b model pulled.
    • Command: ollama run qwen2.5:0.5b

2. Clone & Install

git clone https://github.com/Steventanardi/Adagio.git
cd Adagio
npm install

3. API Configuration

Create 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

πŸ’» Tech Stack

  • 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

πŸ“‚ Project Architecture

β”œβ”€β”€ πŸ“ 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 Point

Built with ❀️ by Steven Tanardi for Academic Excellence.

About

🎡 Adagio: A Premium, AI-Powered Music Recognition & Discovery Desktop Platform built with Electron & Ollama. Features local AI cross-verification with Spotify and YouTube v3.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors