Readit News logoReadit News
Posted by u/kushalpandya 2 months ago
Show HN: Petrichor – a free, open-source, offline music player for macOSgithub.com/kushalpandya/P...
I have a large collection of music files gathered over the years, so I was sorely missing a decent offline music player that can serve as a frontend for the collection. I tried several Mac apps over the years, but since streaming music is mainstream now, there aren't good offline music players that meet my needs. So I spent the last 3 months building Petrichor! The idea is to solve my problem and learn Swift UI development along the way, while giving back to the community with this open-source project! Here's a list of features it has, with more getting added in future;

- Everything you'd expect from an offline music player!

- Map your music folders and browse your library in an organised view.

- Create playlists and manage the play queue interactively.

- Browse music using folder view when needed.

- Pin anything (almost!) to the sidebar for quick access to your favourite music.

- Navigate easily: right-click a track to go to its album, artist, year, etc.

- Native macOS integration with menubar and dock playback controls, plus dark mode support.

- Search quickly through large libraries containing thousands of songs.

The app is still in alpha, so things may look unpolished, but I've been testing the alpha builds for the past few weeks and fixing issues as I find them for v1 release. I welcome any feedback (and contributions!) on GitHub repo. Please give it a try and let me know what you think!

tianqi · 2 months ago
The most issues I encounter with music players are related to my situation of NAS. My NAS is straightforward: I just connect a RAID to a Mac and share it, then let other Macs connect to this "server". This allows me to access it in Finder like any other directory. However, this setup presents two obvious problems for many players: First, since the directory is not always available (if I'm not at home), some players cannot properly handle the issue of the main directory not existing. Second, I need to easily synchronise playlists across different computers, but many players do not support saving playlists as files, specifying their save location onto NAS, and configuring themselves to read playlists from NAS. These issues have been causing me a great deal of frustration. Currently I use VOX, which is a fairly acceptable option. I hope I can find a better solution.
senorrib · 2 months ago
My setup uses Jellyfin, Finer and Tailscale. I can access all my music even out of home and playlists/metadata are synced across all devices.
benoau · 2 months ago
I find Synology's DS Audio pretty decent because it has mobile apps and local playback through a web interface, although very little confidence in them as a company.
dewey · 2 months ago
If you are looking for a “old school iTunes” kind of player there’s also https://swinsian.com/
gpm · 2 months ago
The Readme mentions that app under "Motivation"

> Motivation

> I have a large collection of music files that I’ve gathered over the years, and I missed having a good offline music player on macOS. I used Swinsian (great app, by the way!), but it hasn't been updated in years. I also missed features commonly found in streaming apps; so I built Petrichor to scratch that itch and learn Swift and macOS app development along the way!

thek3nger · 2 months ago
For the people interested, Swinsian has a beta version that is actively developed. I got an update a couple of weeks ago. So it is not abandoned.
SloopJon · 2 months ago
Petrichor shows my albums as a single track. CUE sheet support is a must.

I also have a hard time seeing myself using a desktop music player without an iTunes-style column-mode browser.

atoav · 2 months ago
A friend of mine (sound engineer) has been using VLC player for audio playback since forever. I do the same.

The advantage is that you are forced to organize your music in your file system and that translates incredibly well to all other future systems. Want a special playlist? Just copy the files over and name them with a numeric prefix counting up. You can open that playlist ten years later on a different operating system.

Since I tend to listen to full albums, this has been a good way of doing things.

dewey · 2 months ago
There’s a reason library based players were invented and that’s that you don’t need to batch rename files, or tag a file 3 times if it’s part of 3 different playlists.
Meekro · 2 months ago
Thanks for the recommendation! This one's the best "old school iTunes" program I've tried so far. I might stick with this one for now. I especially like how I can make smartlists with nested rules.

The main thing I'm missing is volume leveling.

bigyabai · 2 months ago
quodlibet comes highly recommended for Windows/Linux users that want a more retro media player: https://github.com/quodlibet/quodlibet
cageface · 2 months ago
You could give my app a shot too:

https://www.plastaq.com/minimoon

dewey · 2 months ago
I always appreciate more iTunes / Music.app competitors but personally I don't like the look of Minimoon. It looks more like a Windows app and not really like a native macOS app, especially with the sidebar.
pwenzel · 2 months ago
Swinsian is 100% worth the $24.95. It's really nice to have a good system for offline music purchases.
tbeseda · 2 months ago
I just want to point out that the .app is only 14MB. This is the way. Nice work, OP
Meekro · 2 months ago
I've been searching for the perfect "old school iTunes" program for a while. I'm pretty sure it does not exist, maybe I'll try to make one someday unless someone beats me to it? Here's what I want:

* Smartlists, preferably with nested rules

* Proper search, the way iTunes did it: you have a huge excel-like list of songs that filters as you type

* Volume leveling

* Corresponding Windows/Mac/iPhone programs, with the ability to sync my collection like Dropbox

I would gladly pay $100 for this.

kushalpandya · 2 months ago
Smart playlists will be coming soon as I've done all the infra work to support it, in fact current default playlists that app has (Favourites, Top 25 Most Played, Top 25 Recently Played) use smart playlists behind the scenes, just that I don't have a UI to edit the rules yet.

Search should already be very fast (and filter through matches across any metadata field) as the app uses FTS5 on SQLite db to search tracks. But let me know if you still notice performance issues or bugs around it.

There might be iOS app in future but no plans for Windows app as that's a separate project of its own.

For cloud storage syncing, I did consider it at one point but then scope of this app would be very large, and there are plenty good apps to sync cloud storage data, like I personally use https://maestral.app/ for syncing Dropbox.

programmarchy · 2 months ago
This sounds like a breath of fresh air as a disenchanted Spotify user. My only hesitation is that I’ve lost touch with collecting music. I used to rip CDs and download music and curate a library etc, but I’ve lost my collection and collecting habits since adopting streaming. How do people collect music nowadays? Is there a legit way (fairly compensating artists) to do it?
thek3nger · 2 months ago
I buy from Bandcamp and Qobuz (especially for classical and artists that are not on Bandcamp).
Cockbrand · 2 months ago
Bandcamp comes to mind. Not sure about artists who aren't on Bandcamp, though.
8mobile · 2 months ago
Congrats for Petrichor, really impressive work! I love the clean, modern UI. I’m currently using Swinsian (still solid in many ways), but Petrichor feels like a breath of fresh air, especially for those of us who still care about local libraries. I truly hope you’ll bring this to iOS. Thanks
newscracker · 2 months ago
Two suggestions, if you have the time to look at the effort and difficulty to implement them:

> P.S. I plan publish it on Homebrew soon.

1. Please consider publishing on MacPorts too.

2. Please consider supporting m4b audiobooks (it’s a different file extension from the common m4a, but also supports chapters).

kushalpandya · 2 months ago
Yes, the app got enough traction already to warrant for Homebrew and MacPorts distribution, so I'll try to incorporate both!

Audiobooks support looks like a neat idea, I'll see if I can accommodate it in future, for now, I'm keeping it limited to music files only.

ale42 · 2 months ago
I don't own a Mac, so I wont use it directly, but I use Macs from time to time, and it looks great! +1 (or +10) for being native code made with Swift and not the x-th HTML/JS-based program that eats your RAM :-)