Show HN: Petrichor – a free, open-source, offline music player for macOS
- 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!
> 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!
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.
The main thing I'm missing is volume leveling.
I currently use iTunes, and I might be an idiot, but I don’t seem to be able to export/import my library between installs, so I lose my plays and settings, but I never lose music files!
I have a massive music library and mostly just listen on shuffle, but it would be cool to be able to sync to my iPhone.
I’ll try all the recommendations in this thread!
* 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.
> 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).
> Petrichor is the earthy scent produced when rain falls on dry soil.
But from the code, seems it does.
A thought, because of all the folks asking for volume limiting: if you're not into DSP, it might be easier to simply add a point in your audio output flow for AudioUnits and let people use one of the existing limiters for it - Apple just straight up includes one on every Mac in the AudioUnits library - or write one specifically and include it.
This would also allow not just limiting but EQ, compression or even simulated tube warmth if people wanted that. (Or, y'know, running everything through autotune and a bit crusher if they're psychopaths. :-D)
I've never coded in Swift but I imagine adding a point to route through AudioUnits is probably not hugely difficult and iirc Apple has example code for doing it, at least they used to.
Keep up the awesome work, either way!
That’s a pretty high bar for a Mac app assuming some hardcore offline music lovers might use older OS versions.
[1]: https://decoupled.app/
I'd expect winamp-level UI customization, cross-platform support, iTunes library smart playlist support...
Anyway, I really like this app. I hope it will stick around, it is a joy to use.
https://www.foobar2000.org/mac
Also, I'd like to ask if it currently supports smart playlists?
Congratulations on your work!
I was listening to some early 2000s alternative rock today and then randomly in the middle of my radio station it started playing a kids freeze dance song.
The best thing it has going for it is the lossless albums and native airplay casting. I got a free trial, but I’m not going to renew. I’d consider staying if they added native last.fm scrobbling, but even then I’m not sure.
I’m really bummed about the scrobbling because I lost several weeks of not a month of plays because my phone offloaded the scrobbler app and I didn’t notice. The official app for it on Mac says to use one or the other (macOS or iOS) because it will count twice.
I have been using itunes/music to do that and it honestly works just fine. I have hundreds of playlists from over 10 years ago that still works. Finding specific playlist or music to play is pretty easy, especially with Alfred.
The longevity is the biggest concern to me when considering the third party apps. If it stops being maintained in the future I would be stuck and need to do the chore of moving them properly to another application. With the native app I am sure it will work for the next 20 years.
It's something I'd have expected out of Microsoft, but from Apple it's a particularly shitty gesture. A big warning sign to the user that "your" device hasn't been fully paid-off yet.
> The longevity is the biggest concern to me when considering the third party apps.
And that's why I had to stop using MacOS entirely. It's absurd for a culture of paid software to have such horrible runtime compatibility. Meanwhile on Windows, you don't ever buy software that stops working. Even Linux has largely circumvented it's own ABI woes with sandboxed packaging. MacOS's statically linked app framework has every advantage in pushing out support timelines as far as Apple wants - they just don't want to push it very far, sadly.
There was a lot of great UI back then! None of it in iTunes, but still.
Nonsense, you could be using Spotify.