Show HN: Meelo, self-hosted music server for collectors and music maniacs

(github.com)

154 points by arti_chaud 2 days ago | 46 comments

I've been working on this alternative for Plex for almost 3 years now. It's main selling point is that it correctly handles multiple versions of albums and songs. As of today, it only has a web client.

It tries to be as flexible as possible, but still requires a bit of configuration (including regexes, but if metadata is embedded into the files, it can be skipped).

I just released v3.0, making videos first-class data, and scanning + metadata matching faster.

pimeys 2 days ago | next |

One thing to solve here, that nobody else but Roon can do, is bit-perfect playback. Meaning that your SACD rips in DSD format are not transcoded. Plex cannot do that, neither can any subsonic server or jellyfin.

You need a native player for this, but it is doable. Mpv at least can play the files.

rollcat a day ago | root | parent | prev | next |

I'm a bit of a noob when it comes to DSD, but don't you need a DAC with DSD (as an alternative to PCM) support?

Correct me if I'm wrong, but the player would need exclusive access to the device, and bypass almost all of the audio processing stack, like software mixing. Can you play PCM audio (like system alerts) through the same DAC at the same time? Like, a hw analog mixer?

pimeys a day ago | root | parent |

Yeah, I'm also interested on this. I don't know, but my gut feeling on this is that no, you can't mix other audio or use a software volume control with DSD audio. It has to be converted to PCM first.

But, with Pipewire you _can_ play DSD audio, here's how:

https://wiki.libre.moe/linux/pipewire/dsd-playback

And yes, you need a DAC that supports it. They are not that hard to find though.

Edit: just noting I do not have hardware that can play DSD audio. The audio files started to be available, and there are shops that sell them such as High Definition Tape Transfers. Space is cheap, and if I would have them in my collection it would be great to play them with the best quality. Although, I probably don't hear the difference even with these Hifiman headphones, but it's the nerd in me that likes to see this to work.

rollcat a day ago | root | parent |

I have a ZOOM UAC-232+Marshall Monitors/KRK Classics, and I couldn't tell 320kbps MP3 from FLAC :,) but I know one person who probably would.

brookst a day ago | root | parent |

A few years ago some friends and I did a carefully controlled blind test between 320kbps mp3 and FLAC. Studio monitors, identical source HW, etc.

The person playing them was not in the test, we randomized 20 second samples of different styles, randomized order determined in advance.

I don’t remember exact results but it was completely inline with binomial probability.

To this day I feel like there’s something wrong with high frequencies like open hats in 320 mp3, but on that day I could not tell a difference so I’m accepting it as negative placebo.

Maskawanian 2 days ago | prev | next |

Looks very nice, however it doesn't seem to support subsonic yet, which means no Android Auto integration through Ultrasonic.

I'm going to keep watch on this, there aren't many music players with interfaces that look that nice.

CharlesW 2 days ago | root | parent |

@arti_chaud, out of curiosity, did you explicitly choose not to support what seems like a de facto standard for music servers? Or did you have to create the server to support the player?

arti_chaud a day ago | root | parent |

I did choose to not use other standards as the main features of Meelo (multiple album/song versions, getting B-Sides, etc.) are not supported by them. The server's API follows its own design.

rollcat a day ago | root | parent | prev |

It makes sense, since Meelo's main strength is the rich metadata model. You'd have to butcher it into a lowest-common-denominator format, which in many of these subtle cases would be missing the entire point.

I think people who would rather use streaming apps should just stick to Jellyfin or Navidrome.

I still prefer to listen to music through a native/dedicated app on desktop (and definitely on mobile). As much as I don't like Electron, Cider went with it and it's not that bad.

russelg 2 days ago | prev | next |

How's the support for the Album Artist tag? This is a common paint point I have with every single self-hosted solution, shockingly I've found Jellyfin to handle it the best so far.

Use case: Japanese doujin (basically label compilation) albums.

arti_chaud 2 days ago | root | parent | next |

I'm not sure if I understood your question, so here's a quick brief on how I handle this:

If the tag (from the path or the embedded metadata) is 'Compilation' or any other string specified in the settings, the album will have no main artist. Such albums cannot be grouped by series or sth (although that would be a great idea for version 4.0).

As of today, on the web app, there is no page that lists all 'compilation' albums.

Does it answer your question?

lukasb a day ago | root | parent | next |

Album Artist is essential for DJ mix albums, where each track has a different artist, but the album has a whole has a single artist.

russelg 2 days ago | root | parent | prev |

Here's the typical use case for me: https://diversesystem.bandcamp.com/album/ad-garage

Typically with these, I put the Album Artist as "Diverse System" (this is the name of the "record label"). Each track will have it's own artist. In Jellyfin, there is an Album Artist tab inside a music library, which will group these albums into the Diverse System artist, and artists that only appear as a member of one of these albums will not appear in that tab (as they aren't the artist of an album).

So a bit different from a Compilation as you state it.

arti_chaud a day ago | root | parent |

This should be compatible, as a song's artist does not have to be the same as an album's artist. A song has to have an artist, an album does not. In Meelo, an artist that does not have an album but only songs would not be listed in a library's artist list for example.

rollcat a day ago | root | parent |

Perhaps the label should be a separate field, and the album could be grouped under the label?

UmYeahNo 2 days ago | root | parent | prev |

What are you using to manage artist and album artist tags for your jellyfin server? I've been trying with Picard and both artist and album artist are a mess for me in jellyfin. I'm probably doing something wrong.

turbojet1321 2 days ago | prev | next |

This looks cool, but I'm not 100% sure what it does. Is the "music server" part just a backend for the web UI, or does it serve via other protocols like DLNA?

VyseofArcadia a day ago | prev | next |

I love this, but I want it as a plain desktop app instead of a server + a web app. I don't want the headaches of self-hosting (regardless of whether it's on the same machine or a different machine on my network or he cloud), I just want to open an application and it works.

mtillman a day ago | root | parent |

https://github.com/clementine-player/Clementine, main website is out of date but the app is still getting releases.

VyseofArcadia a day ago | root | parent |

I am a current Clementine user. It is pretty good, but I don't feel it is optimized for collectors with large libraries the way Meelo appears to be. For example, the duplicate finder can't distinguish between the same track that appears on two different albums, e.g. the album it debuted on and a "Greatest Hits" release.

ddejohn a day ago | root | parent |

> For example, the duplicate finder can't distinguish between the same track that appears on two different albums, e.g. the album it debuted on and a "Greatest Hits" release.

Honest question, why would you want to? What's wrong with having the same song on two different albums in your collection?

VyseofArcadia 19 hours ago | root | parent |

Right, it's exactly the opposite of what you're thinking. I want the duplicate finder to NOT report them as duplicates, but it currently does.

retrodaredevil 2 days ago | prev | next |

As a Plex and Plexamp user, I'm curious about a few features: mobile support doesn't seem to be mentioned. Is there a mobile app? Are smart playlists a feature? What about gapless playback? Can you elaborate on the 5 star system for rating tracks, albums and artists?

Overall the feature set really speaks to me, as I have a bunch of CD rips tagged using MusicBrainz Picard with a couple of deluxe and non-deluxe versions thrown in of the same album. I think I'll have to give it a try either way because you're touching on a niche Plex just doesn't seem to care about.

arti_chaud 2 days ago | root | parent |

Glad you find Meelo interesting! Thanks

As of today, there are no plans for a mobile app (I've thought about it a couple of times, but I don't have the bandwidth for that atm).

No smart playlists, just a simple playlist system. No gapless playback either.

There is no ratin system either (I hardly use this feature myself on other platforms, so it is not part of the roadmap (yet?)).

The only 'ratings' are for albums, and are scrapped from websites like Metacritic or AllMusic.

CableNinja 2 days ago | root | parent | next |

If you could implement the OpenSubsonicAPI, you could solve the mobile issue easy, and dont even have to build a mobile app

a-french-anon a day ago | root | parent | prev |

I think you'll find the population anal enough about different album versions and the one who can't do without gapless playback overlaps significantly.

I'll add that proper ReplayGain handling is also a must.

dewey 2 days ago | prev | next |

> Using iTunes or Beets is a great way to start.

I'm _just_ worked on cleaning my library with Beets today, excited to see more "frontends" being available. I'm currently on Plexamp but the Mac app (Which is just the iPad app) could be much better.

cchance a day ago | prev | next |

Any chance for native apps to put it inline with things like roon, and support for DSD playback?

Octopus773 2 days ago | prev | next |

Great project ! It even works on Gnome Web this is quite a feat

rollcat a day ago | root | parent |

Gnome Web uses the OSS WebKit, which is also what Safari builds upon. I'm not familiar with the intricacies but it shouldn't be that problematic? My default browser is Safari and 99% of the websites work well. (Twitch is the only major outlier.)

lowbloodsugar 2 days ago | prev | next |

>no gapless playback

Ok, so not for people who like long pieces of music that have been broken into tracks. No classical music fans and no EDM fans. What’s the market then?

auxym a day ago | root | parent | next |

And no Pink Floyd fans.

Gapless is definitely a must for any music enthusiast, I believe.

I use Jellyfin btw, it does support gapless.

cchance a day ago | root | parent | prev | next |

Ya definitly should add gapless, wish we also had more integrations from back in the day when they'd do beat matching and mixing between songs

svilen_dobrev 2 days ago | prev |

how about keyboard shortcuts? various remote controls? search?

arti_chaud 2 days ago | root | parent |

There are a few/simple keyboard shortcuts (open/close the player, go to search, go to settings…)

There is a search page, backed by Meilisearch. You can search artists, albums, songs and videos. You can even search songs by lyrics.