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

Reply via email to