regorxxx / Search-by-Distance-SMP

An implementation of Music-Graph for foobar2000, using Spider Monkey, which creates intelligent "spotify-like" playlist using high-level data from tracks and computing their similarity using genres/styles.
https://regorxxx.github.io/foobar2000-SMP.github.io/scripts/search-by-distance-smp/
GNU Affero General Public License v3.0
35 stars 7 forks source link
foobar2000 foobar2000-component foobar2000-smp-script music playlist-generator

Search-by-Distance-SMP

version CodeFactor Codacy Badge GitHub
An implementation of Music-Graph for foobar2000 using Spider Monkey Panel, which creates intelligent "spotify-like" playlist using high-level data from tracks and computing their similarity using genres/styles.

Animation11

Features

Creates playlists using high-level data from tracks similar to the currently selected one according to genre, style, key, etc. When their score is over a threshold, they are included in the final pool. After all tracks have been evaluated and the final pool is complete, some of those tracks are chosen to populate the playlist. You can choose whether this final selection is done according to score, randomly, using Harmonic mixing rules, etc. All settings are configurable via button's menus (on customizable button) or the properties panel (static buttons).

To use this plugin at its best and to benefit the most from your library, you will want to make sure that your songs have the most possible information on genre, style, key, moods, etc.

Graph method

There are 3 methods to calculate similarity between tracks: WEIGHT, GRAPH (see above) and DYNGENRE.

Other features

Animation12

Note about editing 'helpers/music_graph_descriptors_xxx.js' or user file

Graph behavior, new genres or substitutions may be tweaked by the user. Changes to the descriptors may be added to an user file instead of editing the original descriptor: 'helpers/music_graph_descriptors_xxx_user.js'. Check sample for more info.

Also integrates

  1. Music-Graph: An open source graph representation of most genres and styles found on popular, classical and folk music.
  2. Camelot-Wheel-Notation: Javascript implementation of the Camelot Wheel, ready to use "harmonic mixing" rules and translations for standard key notations.

Draw Graph_05

Compatible with (toolbar)

  1. Playlist-Tools-SMP: Offers different pre-defefined examples for intelligent playlist creation.
  2. Device-Priority-SMP: Automatic output device selection.
  3. ListenBrainz-SMP: Integrates Listenbrainz's feedback and recommendations.
  4. Autobackup-SMP: Automatic saving and backup of configuration and other data in foobar2000.

playlist_tools_menu_05

Installation

See _TIPS and INSTALLATION (txt) and the Wiki. Not properly following the installation instructions will result in scripts not working as intended. Please don't report errors before checking this.