2025-06-01, 10:08 AM
Hi everyone,
this post is about my work-in progress AudioMuse-AI app that interacting with Jellyfin API is able to analyze song and automatically create playlist:
https://github.com/NeptuneHub/AudioMuse-AI
All started from my huge song collection and the idea that on one side I don't want to spent hours in create and update playlist, on the other side I would like to don't get stuck to the same 50-100 songs when I have thousands.
From a fast search I didn't found plugin that directly work on Jellyfin, and I like Jellyfin, I already use it for other Media, so I decide to develop something mine.
My python algorithm use the Essentia-Tensorflow library to analyze and extract feature from you Jellyfin song library like Tempo (bpm), moods, genre and so on. Then it use the scikit-learn for cllustering the song in playlist based on their mood. But it don't only run "a simple clustering run", it run multiple clustering run, with different range of parameter with a Monte Carlo evolutionary approach in order to find the best and diverse collection of different playlist.
Why all this algorithm? because now exist hundreds of genere, and a songs can fall in multiple gerne, so just select song for genere is not enough. My algorithm select the music that stay better together.
At the moment is an alpha version, where:
- Everything run in container, you can use the deployment example to easy deploy it on your K8S cluster. Or use the docker-compose example if you want to run on docker;
- At the moment no plugin is developed (I hope that someone with more competency of me can deploy it) but the algorithm is provided with an easy index.html front-end;
- It easy interact with you Jellyfin media server by API, you just need to give you user, api token and front-end url.
I write here to get your feedback to improve this algorithm and maybe in future it will become a nice plugin. So please let me know if you like it, if you discover bug or if you thing that some additional functionality is needed.
If you like it, please leave "a start" on github!
IMPORTANT: This is an ALPHA open-source project I’m developing just for fun. All the source code is fully open and visible. It’s intended only for testing purposes, not for production environments. Please use it at your own risk. I cannot be held responsible for any issues or damages that may occur.
this post is about my work-in progress AudioMuse-AI app that interacting with Jellyfin API is able to analyze song and automatically create playlist:
https://github.com/NeptuneHub/AudioMuse-AI
All started from my huge song collection and the idea that on one side I don't want to spent hours in create and update playlist, on the other side I would like to don't get stuck to the same 50-100 songs when I have thousands.
From a fast search I didn't found plugin that directly work on Jellyfin, and I like Jellyfin, I already use it for other Media, so I decide to develop something mine.
My python algorithm use the Essentia-Tensorflow library to analyze and extract feature from you Jellyfin song library like Tempo (bpm), moods, genre and so on. Then it use the scikit-learn for cllustering the song in playlist based on their mood. But it don't only run "a simple clustering run", it run multiple clustering run, with different range of parameter with a Monte Carlo evolutionary approach in order to find the best and diverse collection of different playlist.
Why all this algorithm? because now exist hundreds of genere, and a songs can fall in multiple gerne, so just select song for genere is not enough. My algorithm select the music that stay better together.
At the moment is an alpha version, where:
- Everything run in container, you can use the deployment example to easy deploy it on your K8S cluster. Or use the docker-compose example if you want to run on docker;
- At the moment no plugin is developed (I hope that someone with more competency of me can deploy it) but the algorithm is provided with an easy index.html front-end;
- It easy interact with you Jellyfin media server by API, you just need to give you user, api token and front-end url.
I write here to get your feedback to improve this algorithm and maybe in future it will become a nice plugin. So please let me know if you like it, if you discover bug or if you thing that some additional functionality is needed.
If you like it, please leave "a start" on github!
IMPORTANT: This is an ALPHA open-source project I’m developing just for fun. All the source code is fully open and visible. It’s intended only for testing purposes, not for production environments. Please use it at your own risk. I cannot be held responsible for any issues or damages that may occur.