Haj

Navidrome smart playlists

Hey all!

For a while I've been using Navidrome (https://www.navidrome.org/) to collect, organize and play my music. This app has been one of the best findings in the last years, really.

Smart playlists

One thing I like a lot about it is the hability to create smart playlists. Those are playlists that, every time they are opened, run a query on your music library and auto-populate the playlist meeting the requirements for them. For example, you can add to a file:

{
  "name": "⭐ Do not repeat songs",
  "all": [
    {"notInTheLast": {"lastPlayed": 5}}
  ],
  "sort": "random",
  "limit": 30
}

This will create a playlists with all songs in your library that haven't been played in the last 5 days, sorted randomly.

My particular issue

Since I had my own music library and escaped from the music streaming hell I had the same issue: I have some kinds of music that are specific to a situation and don't want mixed on my day-to-day music listening. An example of those kinds of tracks are, in no specific order, Chillhop and long tracks.

Chillhop and similar "chill music" is a genre I like a lot and I'm starting to get into but they don't actually combine very well with my other music. Imagine a playlist that plays this and then this.

Those genres are already in playlists or categorized so I can play them when I want, like at work when I'm concentrating. I need a way to remove those tracks from my other "play random" playlist.

My solution

Smart playlists! This is the one I've been using now:

random.nsp

{
  "name": "⭐ My Random",
  "comment": "Random songs without compilations or long ones",
  "all": [
    {"isNot": {"genre": "Chillhop"}},
    {"lt": {"duration": 600}},
    {"notInTheLast": {"lastPlayed": 5}}
  ],
  "sort": "random",
  "limit": 30
}

This forces music to be rotated evently (sometimes, random is not that random and some music on my library goes unlistened) and removes those tracks I don't want.


If you want to tell me about your Navidrome playlists, say something on Mastodon!