SIDETONE
Desktop app for voice monitoring with professional 4ms latency.
SIDETONE — Voice Monitoring with 4ms Latency
Problem: When singing in headphones, you hear yourself with a delay. GarageBand gives 30-100ms, Audacity — 40-200ms. With a delay greater than 15ms, singing is impossible — the brain gets confused. Professional audio interfaces (Behringer, Focusrite) solve the “direct monitoring” problem but cost $60+ and require extra hardware.
My Situation: I love to sing. I wanted a simple solution — turn it on and hear myself without delay. There was no software solution on the market.
Solution:
- Desktop app on Rust + Tauri + React
- Direct interaction with CoreAudio (macOS) via low-level API
- Auto-calibration: determining optimal hardware parameters in one click
- Latency measurement via cross-correlation of chirp signals (2-10kHz sweep)
Result:
- 4.2ms latency — professional level on standard hardware
- 0.00ms jitter — absolute stability (unlike software solutions)
- <2% CPU on Apple Silicon
- One-click setup — no dancing with settings
Stack:
- Rust — audio engine core (CPAL + CoreAudio bindings)
- Tauri 2 — native desktop app without Electron bloat
- React + TypeScript — UI
- Cross-correlation — latency measurement algorithm with sub-millisecond precision
Status: Preparing for release. Price — $19.99 (vs $60+ for hardware solution).
Conclusion: Sometimes the best way to solve a problem is to write the software yourself. Rust enabled working with audio at a level that previously required separate hardware.