← Portfolio
Software

Cadence

I hold a key, say which app I want the words in, and talk. They show up there.

Why it exists

Mac dictation dumps text wherever the cursor happens to be. Transcription already works fine. The annoying part is that I always know which app I want the text in, and there's no way to just say it.

How it works
Hotkey
Global CGEvent tap. Right Ctrl/Opt/Cmd/Shift, Caps Lock, Fn, F-keys
Capture
AVAudioEngine to 16 kHz mono Int16 WAV, live level meter
Transcribe
Apple Speech, requiresOnDeviceRecognition where it's available
Route
Longest-match alias parser, 10 destinations plus a current-app fallback
Cleanup
Rule-based. Fillers out, punctuation and capitals in, personal dictionary
Paste
Snapshots the clipboard, sets the text, fires Cmd-V, restores after ~600ms
Privacy
Audio deleted after transcription. History off by default. Nothing uploaded
Six steps between pressing the key and the text landing. Everything before the paste happens on the machine.
What broke

Ad-hoc code signing made macOS re-prompt for Keychain on every build and quietly killed Accessibility and Input Monitoring. System Settings said the permissions were granted and they still didn't work. The signature changes every build, so macOS throws out the permission grant with it. I sign with a real identity now, even in debug.

Artefacts
Download
Cadence-0.1.0.dmg. Signed, notarised, stapled
Platform
macOS 14+, Swift, SwiftUI
Links