AudioMuse-AI uses sonic analysis to rediscover forgotten songs, uncover hidden connections in your music library, and generate intelligent playlists for Navidrome, Jellyfin, LMS, Lyrion, Emby and Plex: no metadata or external services required.
2,570
stars
3,320
commits
Python
primary language
Sep 11, 2026
updated
⭐ Leave a star on this project: One shines alone; together, they make it visible and keep it alive.
💛 Donate to shape AudioMuse-AI future by supporting AI licenses, homelab infrastructure, and continuous development.
AudioMuse-AI is an opensource and self-hosted tool that uses sonic analysis to rediscover forgotten songs in your music library and generate groove-aware playlists that also capture the meaning behind each track, without relying on metadata or external APIs.
You can run it locally with Docker Compose or Podman, deploy it at scale in a Kubernetes cluster (AMD64 and ARM64 supported), or use native applications available for macOS, Windows, and Linux. It integrates with major self-hosted music servers including Navidrome, Jellyfin, LMS, Lyrion, Emby, and Plex, with more integrations planned.
Prefer not to self-host? Elestio offers AudioMuse-AI as a managed cloud service, and their YouTube video is a good introduction to the project and its features.
AudioMuse-AI lets you explore your music library in innovative ways, just start with an initial analysis, and you’ll unlock features like:
v3.0.0): connect several media servers - any mix of Navidrome, Jellyfin, LMS, Lyrion, Emby and Plex - to a single AudioMuse-AI deployment. Built-in duplicate detection recognizes the same song across servers, so each track is analyzed only once and every server shares the result.Lyrics language support: the Lyrics Search feature works only with the 72 languages listed below.
Show the 72 supported languages
Afrikaans, Albanian, Arabic, Armenian, Azerbaijani, Basque, Belarusian, Bengali, Bulgarian, Burmese, Catalan, Chinese, Croatian, Czech, Danish, Dutch, English, Estonian, Finnish, French, Galician, Georgian, German, Greek, Gujarati, Haitian Creole, Hebrew, Hindi, Hungarian, Icelandic, Indonesian, Italian, Japanese, Javanese, Kannada, Kazakh, Khmer, Korean, Lao, Latvian, Lithuanian, Macedonian, Malay, Malayalam, Marathi, Mongolian, Nepali, Norwegian, Persian, Polish, Portuguese, Punjabi, Romanian, Russian, Serbian, Sinhala, Slovak, Slovenian, Somali, Spanish, Swahili, Swedish, Tagalog, Tamil, Telugu, Thai, Turkish, Ukrainian, Urdu, Vietnamese, Welsh, Yoruba.
More information can be found in the docs folder: ARCHITECTURE, ALGORITHM DESCRIPTION, MULTIPLE MUSIC SERVERS, DEPLOYMENT STRATEGY, NAVIDROME SETUP, GPU DEPLOYMENT, CONFIGURATION PARAMETERS, AUTHENTICATION, PLUGINS, ERROR CODES and FAQ.
The full list of 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 Navidrome: Navidrome Plugin;
- AudioMuse-AI Plugin for Jellyfin: Jellyfin Plugin;
- lyrion-audiomuseai-plugin: Unofficial Lyrion Plugin by JameZUK;
- AudioMuse-AI MusicServer: Open Subosnic like Music Sever with integrated sonic functionality.
And now just some NEWS:
- Version 3.3.0 introduce the
-nvidia-armimage in order to support the DGX Spark and other machine based on the GB10 GPU. This new image is experimental- Version 3.2.0 implemented queue on postgresql, this means that Redis is not needed anymore. Just check the new deployment/docker-compose example.
- Version 3.0.0 added multiple music server support on a single deployment, with duplicate detection so a song shared by more servers is analyzed only once.
- Version 2.6.0 added support for third party plugin. Give a look to the plugin documentation to know how to develop one and to the official 3rd party catalog. The plugin system requires a persistent volume mounted on both the Flask and worker containers, otherwise installed plugins are lost whenever the containers restart; the deployment example has been updated accordingly.
- Version 2.5.0 added Plex Music Server support.
[!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.
Get AudioMuse-AI running in minutes with Docker Compose. For more deployment examples see the DEPLOYMENT page.
From v1.0.0, only PostgreSQL and TZ are configured via environment variables. Everything else is managed through the browser Setup Wizard and persisted in the database (legacy environment variables are imported automatically on first startup). The Setup Wizard is the landing page of a clean installation and stays available under Administration > Setup Wizard.
Prerequisites:
Steps:
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 user and password, but you can also override other PostgreSQL connection parameters if needed:
POSTGRES_PASSWORD=your-secure-password
Start the services:
docker compose -f deployment/docker-compose.yaml up -d
Access the application:
http://localhost:8000http://localhost:8000/apidocs/
(when authentication is enabled, log in via the Web UI first - /apidocs/
is gated by the same JWT cookie as the rest of the app.)Run your first analysis:
Stopping the services:
docker compose -f deployment/docker-compose.yaml down
[!IMPORTANT] AudioMuse-AI is designed to work with PostgreSQL v15 as in the deployment example. Different versions could cause errors.
Prefer not to use Docker? We ship native packages for macOS, Linux and Windows, attached to each release. Each bundles the whole stack (embedded PostgreSQL, web UI and workers), so you don't need Docker or an external database. Once started, open http://127.0.0.1:8000.
The apps are not signed, so your OS may warn you on first launch, see the per-platform notes below for how to allow them.
AudioMuse-AI-arm64.zip (from v2.1.2)AudioMuse-AI.app to /Applications.xattr -dr com.apple.quarantine /Applications/AudioMuse-AI.app, then double-click - the icon appears in your menu bar.Files: data (database, temp audio) in ~/Library/AudioMuse-AI, log at ~/Library/Logs/AudioMuse-AI/audiomuse.log
.deb or .rpm (from v2.1.3)/opt and the system app/service dirs):
sudo dpkg -i AudioMuse-AI-<arch>-linux.deb (where <arch> is x86_64 or aarch64)sudo rpm -i AudioMuse-AI-<arch>-linux.rpm (where <arch> is x86_64 or aarch64)sudo/root - it stores data in your home and won't start as root):
audiomuse-ai start (stop with audiomuse-ai stop), or auto-start on login with systemctl --user enable --now audiomuse-ai..rpm is the same payload, expected to work on recent Fedora / RHEL 9, but too old for RHEL/Rocky/Alma 8 (glibc 2.28). Feedback on RPM-based distros is welcome.Files (under the launching user's home): data (database, temp audio) in ~/.local/share/AudioMuse-AI, log at ~/.local/state/AudioMuse-AI/logs/audiomuse.log (newest entries first)
AudioMuse-AI-amd64-windows.zip (from v2.1.4)AudioMuse-AI.exe start and stop with AudioMuse-AI.exe stop.Files: data (database, temp audio) in %LOCALAPPDATA%\AudioMuse-AI, log at %LOCALAPPDATA%\AudioMuse-AI\logs\audiomuse.log (newest entries first)
[!IMPORTANT] Before updating a native version, first stop any running instance.
AudioMuse-AI has been tested on:
Minimum requirements:
For more information about the GPU deployment requirements have a look to the GPU page.
[!IMPORTANT] If you use virtualization (e.g. Proxmox), make sure to pass through the host CPU. QEMU's virtual CPU lacks AVX2 support, which will prevent AudioMuse-AI from starting.
Our GitHub Actions workflow automatically builds and publishes Docker images with the following tags:
:latest
Last released image.
Use it for automatic update.
:X.Y.Z (e.g. :1.0.0, :0.1.4-alpha)
Immutable images built from Git release tags.
Recommended for most users. Pinned deployments: you decide when to update by changing the version manually.
:devel
Build from main on each commit/pr merged. It's a less stable build.
Recommended only for testing and early adopters.
:pr-<NUMBER> (e.g. :pr-661)
Build generated for a specific open pull request (non-draft), to preview its changes before they are merged.
For reviewing and testing that single PR
-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.
-nvidia-arm variants
Images that support the use of GPU of DGX SPARK on ARM processor for both Analysis and Clustering EXPERIMENTAL.
Versioning is Major.Minor.Patch release. Eventually (rare) model change that could require a new analysis could happen in Major and Minor release. Read the release note before any update especially for Major and Minor release.
Contributions, issues, and feature requests are welcome!
For more details on how to contribute please follow the Contributing Guidelines
AudioMuse-AI repository code is mirrored here:
DO NOT USE MIRROR TO RAISE ISSUE, PR OTHER ACTION DIFFERENT FROM GET THE CODE
(top 30 of 37)
Python
84.4%
HTML
11.3%
JavaScript
2.9%
AudioMuse-AI uses sonic analysis to rediscover forgotten songs, uncover hidden connections in your music library, and generate intelligent playlists for Navidrome, Jellyfin, LMS, Lyrion, Emby and Plex: no metadata or external services required.
2,570
stars
3,320
commits
Python
primary language
Sep 11, 2026
updated
⭐ Leave a star on this project: One shines alone; together, they make it visible and keep it alive.
💛 Donate to shape AudioMuse-AI future by supporting AI licenses, homelab infrastructure, and continuous development.
AudioMuse-AI is an opensource and self-hosted tool that uses sonic analysis to rediscover forgotten songs in your music library and generate groove-aware playlists that also capture the meaning behind each track, without relying on metadata or external APIs.
You can run it locally with Docker Compose or Podman, deploy it at scale in a Kubernetes cluster (AMD64 and ARM64 supported), or use native applications available for macOS, Windows, and Linux. It integrates with major self-hosted music servers including Navidrome, Jellyfin, LMS, Lyrion, Emby, and Plex, with more integrations planned.
Prefer not to self-host? Elestio offers AudioMuse-AI as a managed cloud service, and their YouTube video is a good introduction to the project and its features.
AudioMuse-AI lets you explore your music library in innovative ways, just start with an initial analysis, and you’ll unlock features like:
v3.0.0): connect several media servers - any mix of Navidrome, Jellyfin, LMS, Lyrion, Emby and Plex - to a single AudioMuse-AI deployment. Built-in duplicate detection recognizes the same song across servers, so each track is analyzed only once and every server shares the result.Lyrics language support: the Lyrics Search feature works only with the 72 languages listed below.
Show the 72 supported languages
Afrikaans, Albanian, Arabic, Armenian, Azerbaijani, Basque, Belarusian, Bengali, Bulgarian, Burmese, Catalan, Chinese, Croatian, Czech, Danish, Dutch, English, Estonian, Finnish, French, Galician, Georgian, German, Greek, Gujarati, Haitian Creole, Hebrew, Hindi, Hungarian, Icelandic, Indonesian, Italian, Japanese, Javanese, Kannada, Kazakh, Khmer, Korean, Lao, Latvian, Lithuanian, Macedonian, Malay, Malayalam, Marathi, Mongolian, Nepali, Norwegian, Persian, Polish, Portuguese, Punjabi, Romanian, Russian, Serbian, Sinhala, Slovak, Slovenian, Somali, Spanish, Swahili, Swedish, Tagalog, Tamil, Telugu, Thai, Turkish, Ukrainian, Urdu, Vietnamese, Welsh, Yoruba.
More information can be found in the docs folder: ARCHITECTURE, ALGORITHM DESCRIPTION, MULTIPLE MUSIC SERVERS, DEPLOYMENT STRATEGY, NAVIDROME SETUP, GPU DEPLOYMENT, CONFIGURATION PARAMETERS, AUTHENTICATION, PLUGINS, ERROR CODES and FAQ.
The full list of 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 Navidrome: Navidrome Plugin;
- AudioMuse-AI Plugin for Jellyfin: Jellyfin Plugin;
- lyrion-audiomuseai-plugin: Unofficial Lyrion Plugin by JameZUK;
- AudioMuse-AI MusicServer: Open Subosnic like Music Sever with integrated sonic functionality.
And now just some NEWS:
- Version 3.3.0 introduce the
-nvidia-armimage in order to support the DGX Spark and other machine based on the GB10 GPU. This new image is experimental- Version 3.2.0 implemented queue on postgresql, this means that Redis is not needed anymore. Just check the new deployment/docker-compose example.
- Version 3.0.0 added multiple music server support on a single deployment, with duplicate detection so a song shared by more servers is analyzed only once.
- Version 2.6.0 added support for third party plugin. Give a look to the plugin documentation to know how to develop one and to the official 3rd party catalog. The plugin system requires a persistent volume mounted on both the Flask and worker containers, otherwise installed plugins are lost whenever the containers restart; the deployment example has been updated accordingly.
- Version 2.5.0 added Plex Music Server support.
[!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.
Get AudioMuse-AI running in minutes with Docker Compose. For more deployment examples see the DEPLOYMENT page.
From v1.0.0, only PostgreSQL and TZ are configured via environment variables. Everything else is managed through the browser Setup Wizard and persisted in the database (legacy environment variables are imported automatically on first startup). The Setup Wizard is the landing page of a clean installation and stays available under Administration > Setup Wizard.
Prerequisites:
Steps:
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 user and password, but you can also override other PostgreSQL connection parameters if needed:
POSTGRES_PASSWORD=your-secure-password
Start the services:
docker compose -f deployment/docker-compose.yaml up -d
Access the application:
http://localhost:8000http://localhost:8000/apidocs/
(when authentication is enabled, log in via the Web UI first - /apidocs/
is gated by the same JWT cookie as the rest of the app.)Run your first analysis:
Stopping the services:
docker compose -f deployment/docker-compose.yaml down
[!IMPORTANT] AudioMuse-AI is designed to work with PostgreSQL v15 as in the deployment example. Different versions could cause errors.
Prefer not to use Docker? We ship native packages for macOS, Linux and Windows, attached to each release. Each bundles the whole stack (embedded PostgreSQL, web UI and workers), so you don't need Docker or an external database. Once started, open http://127.0.0.1:8000.
The apps are not signed, so your OS may warn you on first launch, see the per-platform notes below for how to allow them.
AudioMuse-AI-arm64.zip (from v2.1.2)AudioMuse-AI.app to /Applications.xattr -dr com.apple.quarantine /Applications/AudioMuse-AI.app, then double-click - the icon appears in your menu bar.Files: data (database, temp audio) in ~/Library/AudioMuse-AI, log at ~/Library/Logs/AudioMuse-AI/audiomuse.log
.deb or .rpm (from v2.1.3)/opt and the system app/service dirs):
sudo dpkg -i AudioMuse-AI-<arch>-linux.deb (where <arch> is x86_64 or aarch64)sudo rpm -i AudioMuse-AI-<arch>-linux.rpm (where <arch> is x86_64 or aarch64)sudo/root - it stores data in your home and won't start as root):
audiomuse-ai start (stop with audiomuse-ai stop), or auto-start on login with systemctl --user enable --now audiomuse-ai..rpm is the same payload, expected to work on recent Fedora / RHEL 9, but too old for RHEL/Rocky/Alma 8 (glibc 2.28). Feedback on RPM-based distros is welcome.Files (under the launching user's home): data (database, temp audio) in ~/.local/share/AudioMuse-AI, log at ~/.local/state/AudioMuse-AI/logs/audiomuse.log (newest entries first)
AudioMuse-AI-amd64-windows.zip (from v2.1.4)AudioMuse-AI.exe start and stop with AudioMuse-AI.exe stop.Files: data (database, temp audio) in %LOCALAPPDATA%\AudioMuse-AI, log at %LOCALAPPDATA%\AudioMuse-AI\logs\audiomuse.log (newest entries first)
[!IMPORTANT] Before updating a native version, first stop any running instance.
AudioMuse-AI has been tested on:
Minimum requirements:
For more information about the GPU deployment requirements have a look to the GPU page.
[!IMPORTANT] If you use virtualization (e.g. Proxmox), make sure to pass through the host CPU. QEMU's virtual CPU lacks AVX2 support, which will prevent AudioMuse-AI from starting.
Our GitHub Actions workflow automatically builds and publishes Docker images with the following tags:
:latest
Last released image.
Use it for automatic update.
:X.Y.Z (e.g. :1.0.0, :0.1.4-alpha)
Immutable images built from Git release tags.
Recommended for most users. Pinned deployments: you decide when to update by changing the version manually.
:devel
Build from main on each commit/pr merged. It's a less stable build.
Recommended only for testing and early adopters.
:pr-<NUMBER> (e.g. :pr-661)
Build generated for a specific open pull request (non-draft), to preview its changes before they are merged.
For reviewing and testing that single PR
-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.
-nvidia-arm variants
Images that support the use of GPU of DGX SPARK on ARM processor for both Analysis and Clustering EXPERIMENTAL.
Versioning is Major.Minor.Patch release. Eventually (rare) model change that could require a new analysis could happen in Major and Minor release. Read the release note before any update especially for Major and Minor release.
Contributions, issues, and feature requests are welcome!
For more details on how to contribute please follow the Contributing Guidelines
AudioMuse-AI repository code is mirrored here:
DO NOT USE MIRROR TO RAISE ISSUE, PR OTHER ACTION DIFFERENT FROM GET THE CODE
(top 30 of 37)
Python
84.4%
HTML
11.3%
JavaScript
2.9%