Introduction
This plugin enables importing Essentia's analysis results created by LMS Recommender into the LMS database, making them available to be used by LMS-based applications / plugins (currently, extGUI4LMS and the LMS Playlist Editor).
Features
- A simple Web UI for statistics, data display, DB administration
- A interface for other applications to query the data
- Integration with extGUI4LMS and the LMS Playlist Editor, enabling searches for tracks based on analysis data like mood, genre, ...
Available data
All classifications created by LMS Recommender will be available. Examples include:
- mood (happy, relaxed, ...)
- genre (classical, rock, ...)
- danceability
- vocal / instrumental
- timbre (dark / bright)
- rhythm (samba, waltz, ...)
Installation
In the LMS standard web interface in Settings/Plugins
, add https://www.nexus0.net/pub/sw/lmsessentia/repo.xml
to the list of Additional Repositories and activate the plugin.
You'll find an entry to launch the web interface in the Extras menu, which is just a link to http://lmsserver:9000/plugins/LMSessentiaIntegration/html/index.html?player=xx:xx:xx:xx:xx
, so you can bookmark it - it doesn't have to be launched from the regular web interface.
Creating and uploading the analysis data
The data is created by lr-analyze.py
script, see LMS Recommender for details.
Then, run the ./scripts/class2ess.py
script to write the data in the generated json
files to LMS' persist.db
database.
There's also a --delete-existing
parameter to delete the classification data in the database.
Example:
./lr-analyze.py classify out/
./scripts/class2ess.py out/ /var/lib/logitechmediaserver/cache/persist.db
FAQ
- Adding the plugin repository to LMS results in some errors / doesn't work. Why?
- Make sure your LMS installation is SSL-enabled (e.g. on *nix, the perl modules Net::SSLeay and IO:Socket:SSL need to be installed)
API
The API is documented here.
License
GPL v3
Reporting Issues
Use the discussion thread in the LMS forum.