Please vote for the AudioMuse-AI best functionality
AudioMuse-AI - Where Music Takes Shape
AudioMuse-AI is an open-source, Dockerized environment that brings automatic playlist generation to your self-hosted music library. Using tools such as Librosa and ONNX, it performs sonic analysis on your audio files locally, allowing you to curate playlists for any mood or occasion without relying on external APIs.
Deploy it easily on your local machine with Docker Compose or Podman, or scale it in a Kubernetes cluster (supports AMD64 and ARM64). It integrates with the main music servers' APIs such as Jellyfin, Navidrome, LMS, Lyrion, and Emby. More integrations may be added in the future.
AudioMuse-AI lets you explore your music library in innovative ways, just start with an initial analysis, and you’ll unlock features like: * Clustering: Automatically groups sonically similar songs, creating genre-defying playlists based on the music's actual sound. * Instant Playlists: Simply tell the AI what you want to hear—like "high-tempo, low-energy music" and it will instantly generate a playlist for you. * Music Map: Discover your music collection visually with a vibrant, genre-based 2D map. * Playlist from Similar Songs: Pick a track you love, and AudioMuse-AI will find all the songs in your library that share its sonic signature, creating a new discovery playlist. * Song Paths: Create a seamless listening journey between two songs. AudioMuse-AI finds the perfect tracks to bridge the sonic gap. * Sonic Fingerprint: Generates playlists based on your listening habits, finding tracks similar to what you've been playing most often. * Song Alchemy: Mix your ideal vibe, mark tracks as "ADD" or "SUBTRACT" to get a curated playlist and a 2D preview. Export the final selection directly to your media server. * Text Search: search your song with simple text that can contains mood, instruments and genre like calm piano songs.
More information like ARCHITECTURE, ALGORITHM DESCRIPTION, DEPLOYMENT STRATEGY, FAQ, GPU DEPLOYMENT, CONFIGURATION PARAMETERS AUTHENTICATION and can be found in the docs folder.
The full list or AudioMuse-AI related repository are:
- AudioMuse-AI: the core application, it run Flask and Worker containers to actually run all the feature;
- AudioMuse-AI Helm Chart: helm chart for easy installation on Kubernetes;
- AudioMuse-AI Plugin for Jellyfin: Jellyfin Plugin;
- AudioMuse-AI Plugin for Navidrome: Navidrome Plugin;
- AudioMuse-AI MusicServer: Open Subosnic like Music Sever with integrated sonic functionality.
And now just some NEWS:
- Version 0.9.6 authentication enabled by default. Read the AUTHENTICATION docs to know how to proceed.
- Version 0.9.5 improve the use of moods for similar song and song path functionality. It also introduce the backup and restore of the database.
- Version 0.9.4 introduce the possibility to create a Song Path with mood. Also Song Alchemy can save is output as an Anchor to be used for future alchemy or as an input of Song Path.
- Version 0.9.0 introduce the new DCLAP model, for a faster analysis. IMPORTANT: it need to start from a clean db and a new analysis. Learn more on the release note.
- Version 0.8.13 introduce the authentication layer. It start initially disabled by default. Learn more on the release note.
Disclaimer
Important: Despite the similar name, this project (AudioMuse-AI) is an independent, community-driven effort. It has no official connection to the website audiomuse.ai.
We are not affiliated with, endorsed by, or sponsored by the owners of audiomuse.ai.
Table of Contents
- Quick Start Deployment
- Hardware Requirements
- Docker Image Tagging Strategy
- How To Contribute
- Star History
Quick Start Deployment
Get AudioMuse-AI running in minutes with Docker Compose.
If you need more deployment example take a look at DEPLOYMENT page.
For a full list of configuration parameter take a look at PARAMETERS page.
For the architecture design of AudioMuse-AI, take a look to the ARCHITECTURE page.
Prerequisites: * Docker and Docker Compose installed * A running media server (Jellyfin, Navidrome, Lyrion, or Emby) * See Hardware Requirements
Steps:
-
Create your environment file:
bash cp deployment/.env.example deployment/.env -
Edit
.envwith your media server credentials:
For Jellyfin:
env
MEDIASERVER_TYPE=jellyfin
JELLYFIN_URL=http://your-jellyfin-server:8096
JELLYFIN_USER_ID=your-user-id
JELLYFIN_TOKEN=your-api-token
For Navidrome:
env
MEDIASERVER_TYPE=navidrome
NAVIDROME_URL=http://your-navidrome-server:4533
NAVIDROME_USER=your-username
NAVIDROME_PASSWORD=your-password
For Lyrion:
env
MEDIASERVER_TYPE=lyrion
LYRION_URL=http://your-lyrion-server:9000
For Emby:
env
MEDIASERVER_TYPE=emby
EMBY_URL=http://your-emby-server:8096
EMBY_USER_ID=your-user-id
EMBY_TOKEN=your-api-token
3. Edit .env to set your AudioMuse-AI user and password:
In the env file you also need to put your AudioMuse-AI credentials as in the below example:
env
AUTH_ENABLED=true
AUDIOMUSE_USER=alice
AUDIOMUSE_PASSWORD=secret123
API_TOKEN=api-token
Alternative you can disabled the authentication layer with AUTH_ENABLED set to false, but we suggest to keep it enabled.
More details can be found in the AUTHENTICATION docs
- Start the services:
bash docker compose -f deployment/docker-compose.yaml up -dRemember to get the correct version for your Music Server.
docker-compose.yaml is for Jellyfin. You also have docker-compose-navidrome.yaml, docker-compose-lyrion.yaml, dokcer-compose-emby.yaml
Other example are for advanced deployment. 5. Access the application: Open your browser at
http://localhost:8000
- Run your first analysis:
- Navigate to "Analysis and Clustering" page
- Click "Start Analysis" to scan your library
- Wait for completion, then explore features like clustering and music map
Stopping the services:
docker compose -f deployment/docker-compose.yaml down
NOTE: by default AudioMuse-AI is deployed WITHOUT authentication layer and its suited only for LOCAL deployment. If you want to configure it have a look to the AUTHENTICATION docs. If you enable the Authentication Layer, you need to be sure that any plugin used support and use the AudioMuse-AI API TOKEN
Hardware Requirements
AudioMuse-AI has been tested on: * Intel: HP Mini PC with Intel i5-6500, 16 GB RAM and NVMe SSD * ARM: Raspberry Pi 5, 8 GB RAM and NVMe SSD / Mac Mini M4 16GB / Amphere based VM with 4core 8GB ram
Minimum requirements: * CPU: 4-core Intel with AVX2 support (usually produced in 2015 or later) or ARM * RAM: 8 GB RAM * DISK: NVME SSD storage
For more information about the GPU deployment requirements have a look to the GPU page.
Docker Image Tagging Strategy
Our GitHub Actions workflow automatically builds and publishes Docker images with the following tags:
-
:latestStable build from the main branch. Recommended for most users. -
:develDevelopment build from the devel branch. May be unstable — for testing and development only. -
:X.Y.Z(e.g.:1.0.0,:0.1.4-alpha) Immutable images built from Git release tags. Ideal for reproducible or pinned deployments. -
-noavx2variants Experimental images for CPUs without AVX2 support, using legacy dependencies. Not recommended unless required for compatibility. -
-nvidiavariants Images that support the use of GPU for both Analysis and Clustering. Not recommended for old GPU.
How To Contribute
Contributions, issues, and feature requests are welcome!
For more details on how to contribute please follow the Contributing Guidelines