AudioMuse-AI is an Open Source Dockerized environment that brings automatic playlist generation to Jellyfin, Navidrome, LMS, Lyrion and Emby. Using powerful tools like Librosa and ONNX, it performs sonic analysis on your audio files locally, allowing you to curate the perfect playlist for any mood or occasion without relying on external APIs. https://neptunehub.github.io/AudioMuse-AI/
Find a file
2026-04-18 10:58:58 +02:00
.github Update line ending linter to run on all branches 2026-04-14 12:28:26 +02:00
deployment Fix timezone var to avoid root priviledge - #431 2026-04-17 23:27:59 +02:00
docs Correct link format for AUTH documentation 2026-04-17 11:58:12 +02:00
query CLAMP3 avaraging test 2 2026-01-10 19:28:52 +01:00
requirements argon2 hash password 2026-04-13 11:35:44 +02:00
screenshot Delete screenshot/screenshot 2026-01-19 18:20:07 +01:00
static fix size position and shadow of setup and migration html page 2026-04-18 10:56:42 +02:00
student_clap readme update 2026-01-19 08:40:20 +01:00
tasks Merge branch 'main' into feature/provider-migration-tool 2026-04-17 17:23:51 +02:00
templates fix size position and shadow of setup and migration html page 2026-04-18 10:56:42 +02:00
test fix unit test 2026-04-13 11:53:50 +02:00
testing_suite Improve playlist quality: scale routing, genre coherence, iteration control 2026-03-14 13:22:16 +01:00
tests Fix unit test: remove leftover old tests that were accidentally kept 2026-04-17 17:56:31 +02:00
.dockerignore SAVE now restart process with supervisord 2026-04-11 19:14:36 +02:00
.gitattributes Update .gitattributes to handle Dockerfile files 2026-04-14 10:40:20 +02:00
.gitignore Merge branch 'main' into feature/album-artist-support 2026-03-12 17:14:17 +01:00
ai.py Disable thinking in Ollama - #349 2026-03-13 12:23:45 +01:00
ai_mcp_client.py Improve playlist quality: scale routing, genre coherence, iteration control 2026-03-14 13:22:16 +01:00
app.py Merge branch 'main' into feature/provider-migration-tool 2026-04-17 17:23:51 +02:00
app_alchemy.py fix Information exposure through an exception 2026-04-03 20:36:39 +02:00
app_analysis.py Avoid multiple batch task in parallel - #391 2026-04-04 11:28:28 +02:00
app_artist_similarity.py Search infinite scroll first test - #328 2026-03-13 11:34:04 +01:00
app_backup.py Setup and Login reconciliation + fix number of guicorn worker #428 2026-04-16 18:24:38 +02:00
app_chat.py Improve playlist quality: scale routing, genre coherence, iteration control 2026-03-14 13:22:16 +01:00
app_clap_search.py DCLAP naming fix + version bump in config.py 2026-04-02 16:18:05 +02:00
app_clustering.py Janitor cleaning get id fix 2026-04-07 12:28:03 +02:00
app_collection.py Janitor cleaning get id fix 2026-04-07 12:28:03 +02:00
app_cron.py cron clustering fix - #297 2026-01-27 19:53:47 +01:00
app_external.py Music map fix + added support to legacy system 2026-03-09 18:22:50 +01:00
app_helper.py Merge branch 'main' into feature/provider-migration-tool 2026-04-17 17:23:51 +02:00
app_helper_artist.py app_helper_artist.py fix inconsistency 2025-12-25 10:43:39 +01:00
app_map.py Merge pull request #175 from NeptuneHub/devel 2025-11-05 09:08:10 +01:00
app_mulan_search.py MULAN first implementation 2025-12-17 18:43:00 +01:00
app_path.py intensity fix 2026-04-03 18:24:29 +02:00
app_provider_migration.py automatic restart after migration completed 2026-04-17 17:03:13 +02:00
app_setup.py Setup and Login reconciliation + fix number of guicorn worker #428 2026-04-16 18:24:38 +02:00
app_sonic_fingerprint.py add favicons in different sizes and introduce template inheritance with blocks 2025-11-04 12:22:33 +01:00
app_voyager.py sunbrust fix 2026-04-05 17:09:19 +02:00
app_waveform.py clap: use ONNX Runtime default threading; update task modules 2026-01-31 14:46:55 +01:00
brainstorm_real_gmm_080.py Song Path - added mood 2026-04-02 14:54:56 +02:00
CODE_OF_CONDUCT.md Fix formatting in CODE_OF_CONDUCT.md 2025-10-31 22:41:23 +01:00
config.py Fix timezone var to avoid root priviledge - #431 2026-04-17 23:27:59 +02:00
CONTRIBUTING.md Setup wizard documentation and fix 2026-04-17 10:23:03 +02:00
Dockerfile Revert "fix(docker): strip CRLF at build time as safety net for Windows clones" 2026-04-14 12:52:59 +02:00
Dockerfile-noavx2 Revert "fix(docker): strip CRLF at build time as safety net for Windows clones" 2026-04-14 12:52:59 +02:00
LICENSE Update LICENSE to reflect changes in model licensing 2026-03-20 16:25:17 +01:00
mkdocs.yml Add Authentication section to mkdocs 2026-03-22 10:29:59 +01:00
mood_centroids_real_080_clap.json Song Path - added mood 2026-04-02 14:54:56 +02:00
pytest.ini Analysis integration test 2025-11-07 23:30:28 +01:00
README.md Documentation update for new wizard 2026-04-15 11:16:31 +02:00
restart_listener.py restart logic fix 2026-04-14 17:44:42 +02:00
restart_manager.py restart logic fix 2026-04-14 17:44:42 +02:00
rq_janitor.py CLAP model test 13 2025-12-09 13:07:51 +01:00
rq_worker.py Replace custom hot-reload with setup wizard's config infrastructure 2026-04-13 22:40:57 +02:00
rq_worker_high_priority.py Replace custom hot-reload with setup wizard's config infrastructure 2026-04-13 22:40:57 +02:00

GitHub license Latest Tag Media Server Support: Jellyfin 10.11.8, Navidrome 0.61.0, LMS v3.69.0, Lyrion 9.0.2, Emby 4.9.1.80

Please vote for the AudioMuse-AI best functionality

AudioMuse-AI - Where Music Takes Shape

AudioMuse-AI Logo

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:

And now just some NEWS:

  • Version 1.0.0 introduces the Setup Wizard for an easy configuration with the web UI
  • Version 0.9.6 authentication enabled by default. Read the AUTHENTICATION docs to know how to proceed.

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

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.

From v1.0.0, only PostgreSQL and Redis connection parameters must still be configured via environment variables. All other configuration values are managed through the browser setup wizard and persisted in the database. For compatibility with legacy installations, environment variables are imported into the database automatically on first startup. The Setup Wizard is shown on clean installation as lending page and is also available later from the menu under Administration > Setup Wizard.

Prerequisites:

  • Docker and Docker Compose installed
  • A running media server (Jellyfin, Navidrome, Lyrion, or Emby)
  • See Hardware Requirements

Steps:

  1. Create your environment file:

    cp deployment/.env.example deployment/.env
    

    You can customize the setup by editing deployment/.env before startup. As a minimum, it is suggested to change the default database password, but you can also override other PostgreSQL and Redis connection parameters if you want to reuse already existent deployment:

    POSTGRES_PASSWORD=your-secure-password
    
  2. Start the services:

    docker compose -f deployment/docker-compose.yaml up -d
    
  3. Access the application: Open your browser at http://localhost:8000

  4. 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

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:

  • :latest Stable build from the main branch. Recommended for most users.

  • :devel Development 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.

  • -noavx2 variants Experimental images for CPUs without AVX2 support, using legacy dependencies. Not recommended unless required for compatibility.

  • -nvidia variants 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

Star History

Star History Chart