Petrichor

August 24, 2025

Petrichor is a native music player for macOS. It plays almost any format and keeps your library organized based on track metadata, integrates well with rest of macOS and offers a ton of features that are mostly found only in streaming music players.

Petrichor
Petrichor

Overview

Started as a hobby project in 2025, Petrichor is built using Swift & SwiftUI (with parts of it in AppKit) to feel right at home on macOS. The project was started to solve my own need of having an offline music player on mac that combines the features of great offline music player with modern features of streaming music players.

Although the project initially used vanilla AVFoundation for media playback, it later used SFBAudioEngine to expand supported file formats, however, that library too felt limited in terms of features the app could provide, so I spent a better part of 2026 writing a music playback engine from scratch in Swift; Crescendo. The engine itself is proprietary, but is something that didn’t exist in open source space (or at least not to my knowledge) and unlocks a lot of things that will hopefully make Petrichor a best damn music player for macOS, and eventually on iOS.

Project Homepage

View Source on GitHub