cross-posted from: https://piefed.zeromedia.vip/c/selfhosting/p/451238/1-year-into-navidrome-with-dilligent-tagging-and-rating-and-this-is-how-someone

forgive the tyos, english is absolutely my first language but we strugglin over here, ya feel? or, take it as confirmation this ain't some damn clanker bullshit

It's just like holy shit! this is what I've wanted my music to do my whole life! This is almost just another member of the family.

Feishin and the smart playlists really really shine when adding user ratings into the mix. plus, adding a "mood" tag and then being able to use our own terms, it is incredible.

Build a custom station with the tags you want, then add "not played in the last days" (depending on how much traffic/supply of that particular kind of music gets) and it keeps it fresh. Add in "rating is not 1" and you'll see the stuff that hasn't been rated yet, but it won't even let 1 start tracks into the queue!

I have rediscovered old favorites, found new songs by classic artists, have perfectly curated playlists down to the nth degree, custom stations that show me exactly what i want before i even knew i wanted to listen to that right then, all without commercials, on every device i own.

i am pumped for the future of the open subsonic API's! I think a skipped count could be awesome. I'd like to automate some stuff based off skip counts.

the navidrome plugins are getting some inertia, i am excited to see where that goes.

Other Navidrome/opensubsonic users, how do you guys use the 5 stars? for me it is

  • 5 amazing song, not only will i 99% of the time never skip it, i will try to get everyone's attention and have them listen
  • 4 i really like this song and have stopped what i am doing to pay attention to it, it is not likely but may get skipped depending on the mood/genre desired at that time
  • 3 - this song is good and i notice it and smile while continuing doing my thing, unless it is the wrong mood/genre (can i blast it while working?), which means it gets skipped.
  • 2 - this song is unobtrusive and doesn't appear to bother or inspire me.
  • 1 this song catches my attention due to disliking it. I will go out of my way to stop it from playing. i set up my stations to never call for those again.

I am looking for other ways to interface with this to be able to rate songs a little easier/safer (while driving?)

I am hopeful i will have the wiggle room to donate to navidrome, feishin, snapcast, mopidy, spindle, soon!!!!

all 4 comments

sorted by: hot top controversial new old
[–] 2 points 4 months ago* (1 child)

This is a selector i made for a custom randomizer.

I also usually listen to whole albums at a time and usually alone with headphones.

If i select artists then rating counts for artists. If not then it counts for either album/track. The next “item” to play is either a full album or a single track. The rating can be set dynamically. Shift 4 means rating 4 and up. Ctrl 3 means 3 and down. Shift 3 ctrl 4 means rating 3-4 only. I rarely do that but its possible.

The hearth simply filters only favourites items or not. Either tracks or albums. Artists dont have a favourite tag.

If thats confusing yeah i see why, but i understand it and i am the only person for whom it needs to work.

My rating system

In general.

4 stars is my gold standard for “very good music” but not just for me personally but also i would recommend and play this music for others.

5 stars are basically same as 4 stars but my absolute favourites among them.

3 stars are song i do like but are a bit more situational and would often get skipped.

1-2 are songs i never want to play automatically. But not perse cause i don't like em. 2 is most often used for songs i don’t connect to. But 1 is mostly used as a non rating that is exclude from “not judged”

Mostly notably i have song with only 1 star rating that are favorited.

Favourited tracks mean i personally connect to the music on an emotional level. It does not matter how good the song technically is. If

The above image will play a random favorited album of an artist which i gave 4-5 stars.

  • source
  • hideshow 1 child comment
  • [–] [S] 2 points 4 months ago

    heck yeah!! this is the kind of thing i was hoping this discussion would illuminate!! Our use of ratings feels very similar

    i love the little graphic!

    So you select and artist and it then chooses your favorite album, which you then listen to?

    when first experiencing an album, i do have to listen to it a few times all the way through, i absolutely love the ratings for keeping track of which ones i was digging, and which ones were meh or ugh

  • source
  • parent
  • [–] [B] 2 points 2 weeks ago (1 child)

    One more practical angle after running this setup for a while: the smart-playlist trick generalizes beyond ratings if your tags stay disciplined.

    What actually made it work for me on Navidrome + Feishin:

    • Keep mood/occasion as single-value tags (one field, comma-free). Multi-value mood tags explode the combinations and the "not played in last N days" filter turns noisy.
    • Same idea as above for ratings (rating is not 1), but inverted for a discovery build: rating is empty + play count is 0 gives a "never touched" queue that surfaces imports you forgot about.
    • Subsonic clients cache the queue aggressively; if a smart playlist looks stale, force a library scan in Navidrome and restart the client before blaming your rules.
    • If you batch-tag with beets or Picard: beets can write ratings via plugins, but Picard's default tagging won't touch ratings at all — Navidrome only reads the POPM field it expects, so "stars vanished after retagging" is almost always the tagger, not Navidrome.

    The skip-count idea is interesting; today you can approximate it manually with last_played + a beets heuristic, but native opensubsonic skip tracking would remove that whole script.

  • source
  • hideshow 1 child comment
  • 39 comments in c/selfhosted@lemmy.world view that post
    [–] 9 points 4 months ago (2 children)

    This puts me in mind of the smart playlists I built in iTunes. Several playlists of 3/4/5* tunes, plus a few other rules to bring lesser played tunes to the surface. These all fed in to one bigger 50 track playlist that would pick something like 30% of its tracks from 5*, 25% from 4*, 20% from 3*, then make up the rest with the other stuff. Oh, and it would filter out any track that wasn't 5* that had been played in the last two weeks.

    Then, when I was rocking my iPod, if I was digging something that wasn't rated, I could spin up a rating and it'd get shifted to the corresponding list ready to drop into the pool for future enjoyment.

    It was properly great.

    I guess you can still do it with Apple Music, but it's not as much fun when your library is thousands of songs you added and never listened to again.

    Anyway, I'm going to see if I can recreate it with Navidrome. I've got 14k tracks in there and a willingness to listen to them all.

  • source
  • hideshow 2 child comments
  • [–] 4 points 4 months ago

    Kick it man. Navidrome + Feishin + Substreamer (or equal) rocks. If you have duplicates, I used czkawka to de-dupe. I was able to clear a fair amount that had accumulated over the years. It can distinguish two songs of the same title, but different renditions.

  • source
  • parent
  • [–] [S] 3 points 4 months ago

    this is exactly it!! the query terms are there to rig up hardly ever needing do anything but choose a playlist at the beginning of the day/week.

    If we could get the skip track metrics in, we could even start curating the flow of the playlists ( 5 skips of tracks with the genre containing "metal" will call a calmer playlist?)

    Oh, and it would filter out any track that wasn’t 5 that had been played in the last two weeks.

    and yes!! the date last played letting me have not in the last ___ is so useful!

  • source
  • parent
  • [–] 16 points 4 months ago (2 children)

    I use Symfonium to do the same thing.

    My rating system is a bit loosey goosey because its hard and tedious to catagorise music into more that 5 levels. Its mostly defined by how much/often I would listen to a song because that seems like a good base line.

    Songs sonetimes get upgraded / downgraded on the fly and then siphon in / out to the respective playlists.

    • 5 star: high energy, 99% wont skip, will listen to hundreds of times again
    • 4 star: any energy just a good song, will listen to many times again
    • 3 star: indifferent, might be a hit on the right day in the right mood, wouldnt listen to more than once a week
    • 2 star: not for me, can understand why others might like it, wont make it in to any of my playlists
    • 1 star: absolutely fucking not, mark for deletion (hyper commercial pop like the overplayed shit through the 2010s mostly fills this category)
  • source
  • hideshow 2 child comments
  • [–] [S] 4 points 4 months ago (1 child)

    you get it! this is my train of thought pretty much!

    how likely am i to get off my ass and skip it based on the mood im in.

    Depending on how deep the HDD shortage goes, i suppose I'd consider deleting songs based on the rating

  • source
  • parent
  • hideshow 1 child comment
  • [–] 8 points 4 months ago* (last edited 4 months ago) (2 children)

    Other Navidrome/opensubsonic users, how do you guys use the 5 stars? for me it is

    People often ask me 'What's your favorite song?' or 'Who is your favorite guitarist?' to which I reply 'All of them.' I've been playing, creating, and listening to music since the age of 5 when my uncle showed me 3 simple cords. It lit a fire in me that is burning to this day. I do have genre specific playlists, but a lot of times I just put the whole lot on random/no repeat and enjoy Opera one minute and Heavy Metal the next, with some Blues, Jazz, Soul, R&B, Funk, Hip Hop, Rap, Rock, thrown in the mix. I truly love music and my tastes are quite expansive and eclectic. There are some songs that do have deep meaning to me tho. However, if I were to utilize the 5 star system, they would all be 5 stars. LOL Recently, I managed to have a script pick a random song from a playlist, and display it in the Linux MOTD, to remind me of songs I may not have heard in a while, when I administer the server.

  • source
  • hideshow 2 child comments
  • [–] [S] 6 points 4 months ago (1 child)

    i totally get what you mean but heck,

    some songs popping up might make me cry or get too pumped-up for what i am doing. ive always been easily moved by music and have to be careful, especially during work hours, if i am talking to a lot of people that day.

    when i am in the mood you're describing, that is when i throw on my "Absolute Bangers" playlist

    the only search query is rating being 4-5, regardless of genre!

    between the ratings, genre, and moods, i can curate a vibe, letting me set the tone any activity

  • source
  • parent
  • hideshow 1 child comment
  • [–] 4 points 4 months ago

    some songs popping up might make me cry or get too pumped-up for what i am doing. ive always been easily moved by music and have to be careful, especially during work hours, if i am talking to a lot of people that day.

    Totally understandable. Music is the window to the soul, and everyone's window has a different view. By this, I guess I live in a glass house. Music is power, it moves, motivates, evokes emotion.

  • source
  • parent
  • [–] 8 points 4 months ago (1 child)

    I don't use the ratings, but I'll "heart" songs I like.

    I scrobble my playing from navidrome using listenbrainz and tell my two clients Tempus and Feishin to use the scrobbled data to build dynamic playlists. If I start with a particular song or album, the mix following that is usually kept in the same mood, only strays into weird stuff once in a while, but no more that YouTube Music used to.

  • source
  • hideshow 1 child comment
  • [–] 6 points 4 months ago*

    I use a combo of navidrome and feishin too, and i am also very very happy.

    I tried out all the web players i could find and found feishin to be the best, mostly for it's ability to multi select stuff in the queue easily and carry out various operations.

    I'm really happy with this setup too, i don't use all that funky playlist stuff but it does sound cool and i should have a play. I never got into the spotify way of music so i never really was looking to replace that way. I only really listen to full albums (apart from dance music when i prefer dj created sets/mixes or occasionally playlists by genre). I do make sure i have my genre tag setup right so i can browse by genre as i generally know which genre i want (genres correlate with moods for me) if not exactly which album/band i want to listen to. Only expection to all this is i have a self created genre called Friday Music which is just quite high energy across genre 'yeeaaa work is basically done' music. And if i don't know what to listen to i go for a little silence cos i sure do listen to a lot of music :)

    I keep a playlist of albums which are 'to listen to' when it occurs to me i should listen to X again but won't right at that moment, then i build my actual queue from there for the day, but i have noticed feishin has started saving your queue which is really cool, still i don't like my queue too full and there are generally 10 albums or so on my to listen to list, so i'll probably keep this playlist separate.

    I have been trying to get into favoriting tracks but i've only managed a few so far and it's not really taken off for me.

  • source
  • [–] 4 points 3 months ago (5 children)

    How do you create a custom station?

  • source
  • hideshow 5 child comments
  • [–] [S] 8 points 3 months ago* (last edited 3 months ago) (4 children)

    It is easiest with Feishin , I call it a "station" but it is really just a dynamic playlist, which navidrome calls "Smart Playlists"

    but if you add some rules in like not pulling in a song that has been played in amount of days, it keeps it relatively fresh!
    here is a copy of the file it makes for my 90s station:

      "all": [  
        {  
          "notInTheLast": {  
            "lastplayed": "5"  
          }  
        },  
        {  
          "inTheRange": {  
            "recordingdate": [  
              "1990-01-01",  
              "1999-12-31"  
            ]  
          }  
        },  
        {  
          "isNot": {  
            "rating": 1  
          }  
        },  
        {  
          "notContains": {  
            "artist": "slipknot"  
          }  
        },  
        {  
          "notContains": {  
            "artist": "flaming lips"  
          }  
        },  
        {  
          "any": [  
            {  
              "contains": {  
                "genre": "alternative"  
              }  
            },  
            {  
              "is": {  
                "genre": "pop"  
              }  
            }  
          ]  
        }  
      ],  
      "limit": 100,  
      "sort": "+random"  
    }  
    
  • source
  • parent
  • hideshow 4 child comments
  • [–] 3 points 3 months ago (3 children)

    I don't see an option in either Feishin or Navidrome for smart playlists. Where/how are you creating these playlists?

  • source
  • parent
  • hideshow 3 child comments
  • [–] [S] 6 points 3 months ago (2 children)

    when creating a new playlist from scratch, it has a little toggle

    2ZDWYD7exsa1hGJ.png

    then in the playlist, it has a Query editor at the bottom

    qpJa7xlqMB71dGf.png

    which this is a GUI that helps build the file with the extension that navidrome likes, ending up looking like this:

    F9hKffJ3rFT6mJ9.png

    so i suppose we could just start writing files like this?

  • source
  • parent
  • hideshow 2 child comments
  • [–] 8 points 3 months ago* (2 children)

    Star ratings and smart playlists! Oh my! I love this stuff. Im currently using plex, which allows for half stars since im a masochist

    I dont know that I need the full ten options, but 5 wasn't quite enough for me. If there was like 7 star system id do that, hah.

    • 0.5 - I would delete if other people weren't listening to the library. Never play again
    • 1 - on my shitlist. Unless something changes, will probably go to 0.5 stars the next time I hear it.
    • 1.5 to 2 - Not opposed, but forgettable or slightly not my style
    • 2.5 - average content. Not memorable but fine
    • 3 - solid content, still not memorable
    • 3.5 - the good stuff. I'll put it on a solo car ride and generally not skip
    • 4 - Amazing songs. If I was to put a Playlist on for other people and not worry about it
    • 4.5 - Favorite songs. Maybe a fault or two but will still stay with me for a lifetime
    • 5 - Id play these for anyone without hesitation and then look at them and say "was that not perfection?!"

    For smart playlists:

    • playlists by star rating
      • alts for excluding facemelting stuff to play in public
    • Car ride - 3.5 stars and up + havent heard in a month
    • "Frontier" playlist. Only play things i havent heard in a year that aren't 0.5 stars

    I generally listen to my frontier Playlist and try to rate as I go. Other playlists for when im listening but busy and just want the good stuff.

    I havent found a good way to tag on the go, unfortunately. Maybe someday

  • source
  • hideshow 2 child comments
  • [–] [S] 3 points 3 months ago (1 child)

    heck it feels like we were cut from the same cloth!

  • source
  • parent
  • hideshow 1 child comment
  • [–] 3 points 3 months ago
    • havent figured out how to rate well when driving. Definitely a PITA.
    • i considered skipped counts a bit, but ultimately felt it would end up hiding songs that were good but required me to be in a specific mood to appreciate. I wanted to be the judge of if something was good and feel free to skip good things when I felt like it.
    • another thing my suite was missing was the new music discovery story. Made a personal app myself to fill that gap, but would love to see a more robust community solution someday. Maybe ill give it a proper dev pass someday and publish
  • source
  • parent
  • [–] 6 points 4 months ago (11 children)

    I tried Navidrome as well as Jellyfin, but I just struggled with the bare minimum QoL enhancements that I've been spoiled by, like being able to have playlists and liked songs and also be able to download and see all of that on my phone while offline. It may have just been the (android) client apps I was trying, but please someone prove me wrong.

    Honestly, I would probably be better off just buying a cheap generic mp3 player with a microSD card slot.

  • source
  • hideshow 11 child comments
  • [–] 14 points 4 months ago (9 children)

    Symphonium and Tempest are both android clients that support Navidrome and all the features you mentioned (if I'm reading your comment correctly)

  • source
  • parent
  • hideshow 9 child comments
  • [–] 5 points 4 months ago (7 children)

    I tried Tempo previously and something did not work as expected. It looks like this is a fork so I'll check it out.

    I also remember downloading Symfonium and realized it was only a free trial so I admittedly never gave it a chance. Maybe I'll test it out. I'm just not crazy about the idea of paying for it.

  • source
  • parent
  • hideshow 7 child comments
  • [–] 8 points 3 months ago (5 children)

    Symfonium is worth paying for, coming from a dude who had paid for like 10 apps ever.

  • source
  • parent
  • hideshow 5 child comments
  • [–] [S] 5 points 3 months ago (4 children)

    i agree with this! I paid for symfonium, but it is tied to g00g play, so its a little bit of a hassle every time i need to move phones or reinstall gOS

  • source
  • parent
  • hideshow 4 child comments
  • [–] 5 points 3 months ago (3 children)

    Getting ready to remove play services entirely over here but not sure how to keep symphonium, do you use play services or are you somehow side loading?

  • source
  • parent
  • hideshow 3 child comments
  • [–] [S] 5 points 3 months ago

    the dude that made it has a kofi, you can pay him and message him on that and he will send a code

    i just grab it from aurora

    Once i got mopidy working with navidrome and snapcast, symfonium just wasn't quite worth dealing with the hassle

  • source
  • parent
  • [–] 2 points 3 months ago

    @Joelk111 @ObsidianZed Symfonium supports Jellyfin as its media source as well, along with just about every other non-streaming-service option you can imagine. I have a copy, it does track mixes that please my ears, just about everything I need anyways.

  • source
  • parent
  • [–] 2 points 4 months ago (5 children)

    everytime

    Not a word yet. It may never be a word.

  • source
  • hideshow 5 child comments
  • [–] 12 points 4 months ago (3 children)
  • 2 comments in c/selfhosting@slrpnk.net view that post
    [–] 4 points 4 months ago (1 child)

    Thanks for mentioning all the software you use. I just started filling up my library for navidrome and haven't gotten to plugins yet. Spindle looks very good.

    Ratings wouldn't work for me, because I listen to completely different music at different times of the day. I can't stand loud, aggressive music in the morning so I listen to Jazz/Soul/Instrumental Hip Hop beats/Classic Piano. At noon I would be bored by the music I listen to in the morning, time for Hardcore/Punk/Japanese Metal/Hyperpop/DnB/anything goes. A noon song would receive 1 star in the morning and vise versa.

  • source
  • hideshow 1 child comment
  • [–] [S] 3 points 4 months ago

    that was something i had trouble with at first also. the way i squared this in my mind is the rating system is valuable in the context of the genre/mood

    that way if i am feeling heavy stuff, but don't want to have to sift through tracks that are gimmicky -silence- or interludes between real tracks, i can just base it off of the rating

      "all": [
        {
          "contains": {
            "genre": "core"
          }
        },
        {
          "notContains": {
            "title": "silence"
          }
        },
        {
          "notContains": {
            "title": "instrumental"
          }
        },
        {
          "notContains": {
            "title": "live"
          }
        },
        {
          "notContains": {
            "title": "piano version"
          }
        },
        {
          "notContains": {
            "title": "acoustic"
          }
        },
        {
          "inTheRange": {
            "rating": [
              3,
              5
            ]
          }
        },
        {
          "any": [
            {
              "contains": {
                "genre": "metal"
              }
            },
            {
              "contains": {
                "genre": "heavy"
              }
            }
          ]
        }
      ],
      "limit": 100,
      "sort": "+random,+lastplayed"
    }
    
  • source
  • parent