Nicheloom visits: 58,094 all-time · 7,637 in the last 7 days

The opportunity tracker for new startups.

Today: 1,953 launches · Niche of the day: specialized calculation tools · See what launched today →

I wrote a macOS C++ audio driver to fix HDMI volume controls

Get picks like this daily. Today's launch numbers, the top launches, AI and tech news, and a daily opportunity pick, straight to your inbox.

Want to reach these readers? Sponsor an issue.

Hi HN, If you’ve ever plugged an external monitor (HDMI/DisplayPort) or a USB DAC into a Mac, you probably know the frustration: the volume keys instantly die, the volume slider greys out, and macOS throws a icon at you. Apple strictly treats digital outputs as "Fixed Volume" devices and refuses to apply software gain. I got tired of this, so I built SoundBridge – an open-source, ultra-lightweight system audio router that natively restores volume controls for any external device. Repo: https://github.com/chenjy16/SoundBridge The Problem with Existing Solutions: DDC/CI tools (like MonitorControl): They are great when they work, but they frequently fail if you route through certain Type-C docks, KVM switches, or if the monitor firmware is just buggy. Plus, they don't work for external DACs. Existing Software Mixers (eqMac, SoundSource): They are either heavy (Electron/web-based UI), expensive, or require intrusive Accessibility permissions to intercept the F11/F12 media keys using CGEventTap. My Architecture (How SoundBridge works): I wanted a solution that feels 100% native to macOS with near-zero latency. It consists of three parts: The C++ HAL Plugin (Driver): Built on top of libASPL, it creates a virtual "Proxy Device". The magic trick here is that by properly implementing the kAudioDevicePropertyVolumeScalar and kAudioDevicePropertyMute properties at the driver level, macOS natively handles the F11/F12 keys and pops up the native volume HUD. No Accessibility permissions or keyloggers required. Shared Memory (IPC): The C++ driver streams the intercepted PCM audio and the volume scalar state to the host process via a lock-free ring buffer (using std::atomic and mmap) in /tmp/. The Swift Host (AVAudioEngine): A lightweight background daemon reads from the ring buffer, applies the software gain (using linear scaling to match macOS's perceived logarithmic volume curve), and outputs the bit-perfect audio to the actual physical HDMI device. Request for Roast: While I’m comfortable with Swift, writing lock-free concurrency in C++ for real-time audio (where a single lock or allocation can cause a glitch) was a steep learning curve. I would absolutely love it if the C++ and CoreAudio veterans here could roast my driver architecture, specifically the RFSharedAudio memory barriers and the IPC synchronization.

HN · launched Mar 18, 2026 · 6 upvotes (top 71%) · 0 views

Niche: macos system utilities · 448 launches, 31 in the last 7 days ▼ -30% · Explore this niche →

Category and tags

  • Horizontal
  • Hardware & robotics
  • Prosumer
  • Not AI
  • Hobby / open-source project

Visit website ↗ Source listing ↗

Could you build this?

No Developing a macOS audio driver requires writing C++ against Apple's CoreAudio HAL and Audio Server Plugin architecture under strict real-time, non-blocking audio engine constraints.

What it would actually take: A functional driver requires building an AudioServerPlugin in C++ implementing the CoreAudio HAL plugin API, managing volume curves, and routing PCM streams without memory allocations or locks on real-time threads. It also requires specialized macOS kernel/driver signing privileges and deep knowledge of Apple audio subsystem internals.

Discussion

No comments on this launch.

Competitors

Other products that read as similar to this one : 744 launches clear the similarity bar, closest 8 shown.

Attention rank: #677 of 745 (itself plus its competitors, highest first, normalized so YC and Product Hunt are compared fairly).

Launched 121 days after the earliest competitor.

The niche, labels, vibe code rating and competitor comparison on this page are analysis by Nicheloom. If you use them, please credit nicheloom.com. How you may use our data.