Home of the Squeezebox™ & Transporter® network music players.
Page 6 of 6 FirstFirst ... 456
Results 51 to 57 of 57
  1. #51
    Senior Member
    Join Date
    Mar 2017
    Posts
    3,099
    Quote Originally Posted by afriend View Post
    Therefore I thought maybe you could just register 2 similarity DSTM mixers: 1 without and 1 with enabled genre filtering.
    Done.

    Quote Originally Posted by afriend View Post
    I'm really using Musly/Similarity a lot right now and sometimes I wish there were other ways to use the similarity score/musly results than DSTM.
    Like... choose a track and get a list with similiar tracks by that track's artist, starting with the most similar ones.
    I guess this could be accessed via the 'More' menu. Like how 'Create similarity mix' is accessed. I'll have to give it some thought.

    [Edit] Added 'Similar tracks' and 'Similar tracks by artist' to 'More' menu.

    Quote Originally Posted by afriend View Post
    Or... get a list of similar dancable tracks from a certain decade and a certain genre.
    Musly does not indicate if its danceable, etc, that needs something like Essentia - which the MusicSimilarity can plugin can use as a backend. Essentia tries to classify tracks (aggresive, danceable, accoustic, etc). I then thought about using the scores of these characteristics as a way of finding similar tracks. (This is the reason I renamed this mixer from Musly to Similarity - as it can use either Musly or Essentia data).

    Quote Originally Posted by afriend View Post
    The DynamicPlaylist plugin allows such choices before starting a mix. Maybe musly/similarity could be used with DPL? I don't know. Just throwing around some ideas...
    I don't use DPL, and (AFAIK) its been abandoned by its author.
    Last edited by cpd73; 2021-06-19 at 03:46.
    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.

  2. #52
    Senior Member
    Join Date
    Jul 2010
    Location
    Oz
    Posts
    336
    Quote Originally Posted by cpd73 View Post
    Added 'Similar tracks' and 'Similar tracks by artist' to 'More' menu.
    Thanks.
    What's the difference between 'Create Similarity Mix' and 'Similar tracks' if I call them on the same track (other than the number of added tracks)?

    Are the results of 'Similar tracks' or 'Similar tracks by artist' sorted in any way (from most similiar to least similar)?

    And does the original genre filter pref from the settings page apply to 'Similar tracks'? Probably not to 'Similar tracks by artist' I guess, because that wouldn't make much sense.

    Quote Originally Posted by cpd73 View Post
    Musly does not indicate if its danceable, etc, that needs something like Essentia.
    I was listing to a good remix of some late 80s indie pop/alternative dance track and wanted more exactly like this one from the same decade. It was still me though who determined that the original track was very dancable. :-)

  3. #53
    Senior Member
    Join Date
    Mar 2017
    Posts
    3,099
    Quote Originally Posted by afriend View Post
    What's the difference between 'Create Similarity Mix' and 'Similar tracks' if I call them on the same track (other than the number of added tracks)?
    'Similar tracks' has no filtering on artist, genre, etc, and allows repeated artist, album, etc. - whereas a mix has filtering and (tries to) prevent repeats.

    Quote Originally Posted by afriend View Post
    Are the results of 'Similar tracks' or 'Similar tracks by artist' sorted in any way (from most similiar to least similar)?
    Sorted by similarity - most similar first.

    Quote Originally Posted by afriend View Post
    And does the original genre filter pref from the settings page apply to 'Similar tracks'? Probably not to 'Similar tracks by artist' I guess, because that wouldn't make much sense.
    As above, no filtering.
    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.

  4. #54
    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.

  5. #55
    Senior Member
    Join Date
    Mar 2017
    Posts
    3,099
    Quote Originally Posted by shinedou View Post
    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' 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

    1. Edit 'music-similarity.service' so that paths are correct for your system
    2. Copy 'music-similarity.service' to /etc/systemd/system
    3. sudo systemctl daemon-reload
    4. sudo systemcrl enable music-similarity
    5. 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.
    Last edited by cpd73; 2021-10-25 at 04:48.
    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.

  6. #56
    Awesome reply. When I get a chance I will give it another shot. Thanks

  7. #57
    Senior Member
    Join Date
    Jan 2012
    Posts
    208
    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




    Quote Originally Posted by cpd73 View Post
    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

    1. Edit 'music-similarity.service' so that paths are correct for your system
    2. Copy 'music-similarity.service' to /etc/systemd/system
    3. sudo systemctl daemon-reload
    4. sudo systemcrl enable music-similarity
    5. 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.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •