I've written a 'music similarity'
(https://github.com/CDrummond/lms-musicsimilarity) DSTM plugin that uses
either Musly or Essentia to find similar tracks. I've written some
python wrappers for Musly and Essentia that provide a simple HTTP API
that the DSTM mixer calls. Therefore, these wrappers need to be
installed on the same machine that LMS is running on.

Musly:
    
- Very fast analysis - roughly 20k tracks per hour
- Requires building musly C library. My repo has builds for Fedora
  (x64) and Raspbian
- C library is required for analysis and similarity building
- https://github.com/CDrummond/musly-server contains the code to
  anlyse tracks (can be any machine), and the similarity API (needs to
  be on the LMS machine). (Only tested on Linux)
  

Essentia:
    
- Slow analysis - roughly 15 tracks per minute. About 24 times slower
  than Musly, but 3 to 4 times faster than MusicMagic.
- Requires building essentia music extractor. My repo has a copy of
  this for Linux x64 - taken from Roland0's LMS-Essentia page
- https://github.com/CDrummond/essentia-analyzer contains the code to
  analyse tracks with Essentia, this can be on any machine (but only
  tested on Linux)
- https://github.com/CDrummond/essentia-api contains the similarity
  API, this needs to be on the same machine as LMS
  

How either of these perform mix-wise will be dependent upon your music
collection. I freely admit that these borrow heavily from Roland0's Musy
and Essentia integration work - I was mainly interested in creating DSTM
mixers. Roland is of the opinion that Musly is -much- better at
similarity than Essentia (see 'Similarity (Essentia) DSTM mixer - call
for help'
(https://forums.slimdevices.com/showthread.php?113483-Similarity-(Essentia)-DSTM-mixer-call-for-help))
However, I have been using this Essentia DSTM for a few months, on and
off, and am reasonably happy.

As I'm 100% Linux, I find the MusicMagic anlysis under Linux to be
flaky, and I need to transcode lots of files to MP3 for anlysis (I have
a MusicIP DSTM mixer that handes LMS using M4A files but MusicMagic
thinking they re MP3, etc). Hence my interest in an opensource
alternative.



*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=113740

_______________________________________________
plugins mailing list
[email protected]
http://lists.slimdevices.com/mailman/listinfo/plugins

Reply via email to