shinedou wrote: > Anyone got some pointers on getting this up and running? I have a Fedora > 34 VM with cmake and ffmpeg-devel installed. This VM is not on my LMS > server which I'm not clear is required. I am trying to get the musly.git > compiled and I believe I got it. I was able to run the test mentioned in > the musly git page and it passed. So that part seems to be right > although I'm not confident that it is. Is it using the libmusly.so? I > don't know. But now I am at a loss on what exactly to do with the > music-similarity piece to get it installed. I downloaded the > music-solidarity code and placed it in my /usr/local/musical-similarity. > As you can probably tell I'm no Linux pro. I'm not even sure I'm at > amateur status yet either. I'm really good at following directions > though. Thanks in advance.
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.cache' 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. *Material debug:* 1. Launch via http: //SERVER:9000/material/?debug=json (Use http: //SERVER:9000/material/?debug=json,cometd to also see update messages, e.g. play queue) 2. Open browser's developer tools 3. Open console tab in developer tools 4. REQ/RESP messages sent to/from LMS will be logged here. ------------------------------------------------------------------------ cpd73's Profile: http://forums.slimdevices.com/member.php?userid=66686 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