Skip to content

generate playlist

Defective edited this page Jun 14, 2026 · 1 revision

Playlist generation command

Group tracks into playlists by mood, similarity, etc.

usage: generate-playlist [options]
    --artist-filter <artist>           Filter tracks based on artist name. This option is case-insensitive.
    --bpm-filter <filter expr.>        Filter songs by their BPM. You can use > and < (Example: >70 for songs
                                       with more than 70 BPM)
 -d,--db <file>                        SQLite database location (default ./data/analysis.sqlite)
    --genre-filter <genre>             Filter songs based on their genre. Pass ?list to list available genres.
                                       Regex IS supported.
 -h,--help                             Display this help section
    --include-bpm                      Include tempo calculations in similar songs analysis.
    --instrument-filter <instrument>   Filter songs based on their primary instrument. Pass ?list to list
                                       available instruments.
 -j                                    Print data about resultling playlist in JSON format
    --limit <n>                        Limit the playlists to n tracks. (Default 30)
 -m,--composite-mood <arg>             Filter songs by their composite moods. Pass ?list to print a list of
                                       composite moods.
    --mood-filter <mood>               Filter songs based on their mood. Pass ?list to list available moods.
 -p,--password <pass>                  Subsonic password (Required)
    --playlist-name <name>             Human readable name of the new playlist. Required if --replace-playlist
                                       is not used.
    --public                           If present, the NEW playlist will be public.
    --replace-playlist <id>            Replace an existing playlist instead of creating a new one. This will
                                       remove all songs from an existing playlist in favor of new ones.
 -s,--url <url>                        Subsonic instance URL (Required)
    --same-artist                      Filter songs with the same artist as in --similar-song
    --same-genre                       If enabled, and --similar-song is used, only songs with the same genre
                                       as the base will be matched.
    --same-instrument                  If enabled, and --similar-song is used, only songs with the same
                                       instrument as the base will be matched.
    --same-mood                        If enabled, and --similar-song is used, only songs with the same mood as
                                       the base will be matched.
    --shuffle-similar                  If enabled, similar songs will be added to the playlist in a random
                                       order.
    --similar-song <song>              ID or name of a base song to find similar songs to it.
 -u,--user <username>                  Subsonic username (Required)
    --vocality-filter <expression>     Filter tracks by their vocality.Less than 50% is instrumental, more than
                                       50% is vocal.(Example expression: ">50".This filters tracks with more
                                       than 50% vocal score.

Required arguments:

  • --password
  • --url
  • --user

generate-playlist command is the main command of the tool.
It allows you to find similar songs, filter them by their mood, genre, and other analyzed audio attributes, and group them in playlists created on your account.

Note

This command requires the analyze command to be run beforehand.

Examples

This command will filter songs with piano as their main instrument, and add them to a new playlist named 2 Mello's piano music

generate-playlist -u demo -p demo -s "https://demo.navidrome.org" --instrument-filter piano --playlist-name "2 Mello's piano music"

Once it's finished, you will be able to see a new playlist on the demo Navidrome instance.

Clone this wiki locally