Project directory

06Personal Products and Experiments

WisprDuck Audio Control

Derivative product contribution · Interactive product simulation

A focused macOS systems contribution that ducks selected music, browser, or media-player audio while a chosen desktop AI app is audibly speaking, holds through short pauses, and restores smoothly. The implementation adds a local output-audio trigger to the Apache-2.0 WisprDuck project using measurement-only Core Audio process taps; the verified default is the ChatGPT desktop app output, not a generic claim about every ChatGPT mode.

macOSCore AudioVoice UXSwift

The audio-state loop

Detect selected app output locally. Duck only chosen targets. Hold through pauses. Restore safely.

  1. 01

    Match + Measure

    A selected app’s Core Audio process output is observed locally with an unmuted measurement tap and RMS threshold; the trigger app’s own audio path is untouched.

  2. 02

    Duck Targets

    Only selected background-audio processes receive the existing per-process gain treatment.

  3. 03

    Hold

    An attack filter rejects clicks, and a configurable silence hold prevents volume wobble between spoken phrases.

  4. 04

    Restore

    A linear fade returns target gain; tap teardown, trigger-process exit, and Core Audio’s muted-when-tapped behavior provide recovery paths.

Interactive product simulation · Faithful macOS menu

Keep the voice clear without manually pausing everything else.

Illustrative behavior · Not live telemetry or recorded app output
MonitoringNormal playback
Enable Monitoring
Duck Level: 40%
Fade: 1.0s
App audioMicrophone

Ducks while these apps are audibly playing

Triggering
ChatGPT voice
Not triggering
No other apps using audio
Voice threshold: -50 dB
Release hold: 1.2s
Duck All Apps
Ducking
QuickTime Player
Not ducking
No other apps playing audio
Guided behaviorNormal playback
Trigger signalChatGPT voice
No voice output
Selected targetQuickTime Player
QuickTime Player · 100%
Normal playbackVoice detectedRelease holdPlayback restored
Normal playback

The selected AI app is silent, so WisprDuck monitors locally and leaves the chosen background-audio target untouched.

Interactive product simulation based on the shipped menu and verified control path. Local process taps measure signal energy; only selected target gain changes. Values are illustrative UI state, not recorded telemetry.

Normal playback. QuickTime Player · 100%. The selected AI app is silent, so WisprDuck monitors locally and leaves the chosen background-audio target untouched.

Interactive simulation faithful to the shipped WisprDuck menu and verified output-trigger path · Illustrative state, not live telemetry · Apache-2.0 derivative contribution with upstream attribution retained

What the accomplishment is

The implemented capability—not a substitute illustration.

A focused macOS systems contribution that ducks selected music, browser, or media-player audio while a chosen desktop AI app is audibly speaking, holds through short pauses, and restores smoothly. The implementation adds a local output-audio trigger to the Apache-2.0 WisprDuck project using measurement-only Core Audio process taps; the verified default is the ChatGPT desktop app output, not a generic claim about every ChatGPT mode.