A real-time vocal overtone, pitch tracking, and timbre visualizer built with Rust, egui, and cpal. Supports both desktop (Linux/macOS/Windows) and Android.
-
Real-Time Pitch Tracking: Sub-harmonic fundamental frequency (
$f_0$ ) tracking using autocorrelation / MPM with octave jump protection. - Narrowband Spectrogram & Overtone Analysis: FFT-based harmonic tracking with spectral tilt and formants.
-
Vocal Mode & Timbre Crosshair: 2D vocal resonance mapping (Edge/Belt, Overdrive, Twang Mix, Neutral/Falsetto) based on spectral tilt (
$\Delta H12$ ) and twang / pharyngeal ring energy. -
Audio Inputs:
- Real-time microphone input via
cpal - Audio file decoding and playback (
wav,mp3,flac,aac) viasymphonia - Built-in test tone generator (329.6 Hz
$E_4$ )
- Real-time microphone input via
-
Cross-Platform UI: Built with
egui/eframewith responsive portrait mobile layout and desktop views.
The application runs decoupled threads communicating via lock-free primitives:
- Audio Input Thread: Real-time stream capture and decoding (
cpal,symphonia). - DSP Worker Thread: Narrowband FFT (
realfft), pitch detection, harmonic extraction, and vocal mode estimation. - UI Render Thread: Immediate-mode GPU rendering (
eframe/glow).
See spec.md for full technical specifications.
cargo run --releasePrerequisites:
- Android SDK (API 34) & NDK (r25+)
cargo-apk(cargo install cargo-apk)- Rust targets:
rustup target add aarch64-linux-android x86_64-linux-android
Build and sign the APK:
./android/build-apk.shInstall to a connected device:
adb install -r vox-spec-release.apkMIT OR Apache-2.0