-
-
Notifications
You must be signed in to change notification settings - Fork 198
Music Insights Provider #2153
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: dev
Are you sure you want to change the base?
Music Insights Provider #2153
Conversation
| async def async_init(self) -> None: | ||
| """Asynchronously initialize the embedding models.""" | ||
| # Run blocking model setup in a background task using a thread | ||
| self.mass.create_task(asyncio.to_thread(self._setup_models)) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
store the task in a variable if you want to cancel it on unload
| # waveform = None | ||
| # sample_rate = None |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If you need help with this part, ping me on discord. Its relatively easy to get the audio stream in pcm.
* feat: add recommendation logic * Add Music Insights optional dependencies (#3)
|
@ztripez any more progress on this one? |
Description
This PR introduces a new provider, Music Insights, designed to enhance Music Assistant with features based on audio embeddings and user interaction analysis. It leverages ChromaDB for vector storage and CLAP models (via the
transformerslibrary) for generating embeddings.Current Features (Work-in-Progress):
InsightScrobbler. Data is stored in a separate ChromaDB collection.TODOs:
How to Test:
music_insightsprovider in the MA settings.This provider is still under active development, but this initial version lays the foundation for music discovery and recommendation features within Music Assistant.