Hi Craig, thanks a lot for driving this plugin and your work on Material and everything else in the Squeezebox area. I used an earlier version of you music-similarity plugin, before you made it public (via Github - I was interested in this "mysterious new project...". So far that version worked very well (I only used Musly not Essentia). I will try this new version of your plugin when I will have time to "fiddle" with my system, also trying Essentia with my Raspberry Pi setup. Best, frankd
cpd73 wrote: > I originally started by creating a DSTM mixer using Musly (this thread), > tried with Essentia, and am now trying to combine these two - hence > 'music-similarity'. I'm not 100% sure if combining Musly and Essentia > makes a massive difference (althogh it does to analysis time, what takes > Musly 1hr takes Essentia about 17),so was going to experiment before any > releases. However, it always helps to have someone else's > experience/thoughts on the subject... > > The music-similarity repo already has pre-built copies of Musly for > Fedora and Raspbian (as these are what I use). These are built from my > fork of Musly, where I have made some (minor) changes (I merged in some > branches, and increased the extract length). Therefore you should not > need to build Musly. The repo also contains the Essentia binary taken > from Roland0's LMS Essentia page. This binary works fine under Fedora, > and probably other Linux distros. > > I perform my music analysis on a Fedora laptop, then copy the DB and > jukebox file to a Pi4 where my LMS is installed. Never tried analysis on > the Pi, but I would imagine the analysis would be very slow (Pi only has > 4 cores, whereas my laptop has 8). The code does not need to be > installed system wide, you can run it from wherever you cloned the git > repo. (I assume you cloned the repo, as no release has been made). > Hopefully the README on the github page provides enough info to allow > you to modify config.json for your setup. The following config should be > enough for the analysis machine: > > > Code: -------------------- > > > { > "musly":{ > "lib":"lib/x86-64/fedora/libmusly.so", > "extractlen":120, > "extractstart":-210 > }, > "essentia":{ > "enabled":true, > "extractor":"essentia-analyzer/bin/x86-64/essentia_streaming_extractor_music", > }, > "paths":{ > "db":"/home/user/MusicSimilarity/", > "local":"/home/user/Music/", > "lms":"/home/user/Music/" > }, > "lmsdb":"/mnt/pi4/LMS/Cache/library.db", > "threads":9 > } > -------------------- > > > > > > > - 'extractlen' defines the length (in seconds) that Musly will > analyse from the track - 'extractstart' specifies where the analysis starts. If negative, > then the anlaysis starts in the middle but no later than the value > set. e.g. extractlen = 30, extractstart = -60, track length = 5 mins > then Musly will analyse 30 seconds of music starting at 1 minute. If > track length was 2 minutes, then it will analyse 30 seconds starting > after 45 seconds. - 'paths.db' specifies where the output database > (music-similarity.db) and jukebox (music-similarity.jukebox) will be > written - 'paths.local' specifies where your music is stored. When saving > paths to the database, this part will be removed. e.g. > 'paths.local=/home/user/Music/', music > file='/home/user/Music/ABBA/Dancing Queen.m4a', then 'ABBA/Dancing > Queen.m4a' will be stored as the path in the database. This allows > the analysis to be run on a different machine. - 'paths.lms' is the path to your music as the LMS server sees it. > This is only required for anlysis if you have CUE files. - 'lmsdb' should contain the path to LMS's library.db file. Again, > this is only required if you have CUE files. > > > > > On the machine that will be used to create similarity mixes (in my > case my Pi4) the config is even simpler: > > > Code: -------------------- > > > { > "musly":{ > "lib":"lib/armv7l/raspbian-buster/libmusly.so" > }, > "essentia":{ > "enabled":true > }, > "paths":{ > "db":"/home/pi/music-similarity/" > }, > -------------------- > > > > 'music-similarity.service' is a Linux systemd service file that can be > use to automatically start the music-similarity service on a Pi, etc. > To use this > > > > - Edit 'music-similarity.service' so that paths are correct for > your system - Copy 'music-similarity.service' to /etc/systemd/system - sudo systemctl daemon-reload - sudo systemcrl enable music-similarity - sudo systemctl start music-similarity > > > > > To use this with LMS you need to install > https://github.com/CDrummond/lms-musicsimilarity. This should be done > by cloning the repo and manually installing, as the current release > versions are out of date. ------------------------------------------------------------------------ frankd's Profile: http://forums.slimdevices.com/member.php?userid=52885 View this thread: http://forums.slimdevices.com/showthread.php?t=112713 _______________________________________________ plugins mailing list plugins@lists.slimdevices.com http://lists.slimdevices.com/mailman/listinfo/plugins