
Lo-fi Anything
Make any Mac app sound lo-fi, in real time
16 followers
Make any Mac app sound lo-fi, in real time
16 followers
Lo-fi Anything is a Mac app that turns any app's audio into Lo-fi music for the days you need to lock in and/or stay relaxed. Works great with old school hip hop, boom bap, house, pop punk - whatever you like! 6 presets available but fully tunable to your preferences. 3 day free trial and $5 bucks if you like it - no subscription, no login, and simple install. Let me know what you think of it!

How does it actually capture the audio from just one app without touching system sound, is it hooking into the app's own output directly somehow?
@nevzatyolag2y3 It uses Apple's Core Audio process-tap API (new in macOS 14.4). Instead of rerouting your whole system's audio (what virtual drivers like BlackHole do), it asks Core Audio directly for the audio stream belonging to one specific process. It creates a muted tap on just that process, wraps it in a private aggregate device, and receives that app's raw audio buffers on a realtime IO callback. Because the tap is muted, the original app's output doesn't double up - the app takes those buffers, runs them through its effects, and plays the processed result back out itself. Nothing else on the system is touched. If the app quits or crashes, your normal audio routing is completely unaffected!
Building real-time audio routing and processing engines on macOS without introducing massive latency or CPU spikes is a brutal optimization challenge. Turning system-wide audio into real-time tunable lo-fi streams sounds incredibly satisfying.
I'm curious about how you handled the audio engine architecture under the hood—are you tapping into the core system audio layer directly, or routing through a virtual driver setup to apply the effects with zero delay? Brilliant utility, congrats on the launch!
@dhanrajchoudhary Direct system layer, no virtual driver. The pipeline:
Capture: AudioHardwareCreateProcessTap targets a single process, then a private AudioAggregateDevice wraps that tap so it can be read via a standard Core Audio IO proc - this is the same realtime-thread mechanism the OS itself uses for per-app audio, just exposed by Apple as of macOS 14.4.
Processing: Buffers come in on Core Audio's realtime IO thread, get sample-rate/format converted, and flow through an AVAudioEngine chain.
Latency/CPU: Because it's tapping one process instead of the whole system mix, there's no extra device abstraction layer or driver round-trip - audio moves tap → converter → engine → output all within Core Audio's own realtime callback chain. The one tricky part was varispeed: slowing playback down means you consume input slower than it arrives, so the pipeline lets a small backlog accumulate within a budget, then flushes and crossfades back to live audio before the lag becomes audible - keeping the wobble effect without runaway latency.
No kernel extension, no reboot, no installer step - permission is a single one-time audio-capture prompt.