Ditty

Apple Music’s mini player is useless. It shows the album art and playback controls, but hides the one thing you actually want to see—the song name, artist, and album. You have to hover or expand it to get that information. Every time. It’s a small annoyance that happens fifty times a day.

So I built Ditty, a tiny floating music controller for macOS that sits in the corner of your screen and shows you what’s playing at a glance. Album art, track name, artist, and basic playback controls. Always visible, never in the way.

Ditty playing Either Way by Wilco
Ditty playing Violet Hill by Coldplay
Ditty playing Three Flights Down by Yellowcard

Its even got a fun visualization that you can customize, and stare at while waiting for your AI to finish doing your work.

Requires macOS 14+. Ditty is self-signed; on first launch, go to
System Settings → Privacy & Security and click “Open Anyway.”

Open-Source on Github

Grabbing the audio. Ditty uses a Core Audio Process Tap to read Music.app’s audio output directly—no microphone, no loopback device. This was the gnarliest part. macOS requires a properly code-signed app bundle launched through LaunchServices (not a bare binary) or it silently delivers empty audio buffers with no error. I burned lots of tokens on that before figuring it out. The tap uses an aggregate device with no sub-devices, reading the audio format from kAudioTapPropertyFormat.

The visualizer. Raw audio goes through an FFT pass via Apple’s vDSP framework, mapped to logarithmic frequency bands so the bars feel musical rather than mathematical. There’s adaptive normalization so quiet tracks still look alive, and a high-frequency boost to keep the upper range visible. The result is a responsive little waveform that actually feels connected to what you’re hearing.

The UI. SwiftUI, styled as an NSPanel floating window that stays on top. Track info comes from Music.app via AppleScript—no private APIs, no MusicKit entitlements. It polls once a second, which is plenty. The whole thing is minimal by design: album art, track info, three buttons, and the visualizer. Nothing else.