Tune your car
like a measurement lab.
Real-time measurement signals for car-audio DSP tuning. Pink noise, log & sub sweeps, tone bursts, impulses and a polarity check — every sample synthesized live in the audio callback. New in v2: stereo correlation, hands-free L/R alternation and per-driver band noise. Stream over Bluetooth, USB-C or 3.5 mm; measure with REW.
Stop dragging WAV files onto your phone.
Tuning a car DSP normally means juggling individual test files and streaming them one at a time. TuneHelper replaces all of it with one instrument that produces continuous, loop-seamless signals at a precisely defined level — re-tunable live from the driver's seat.
The old way
- × A folder of WAV files, one per test
- × Looped buffers with audible seams
- × Guesswork on the actual output level
- × Stop, swap file, restart — from the seat
With TuneHelper
- → Every signal in one app, tap to switch
- → Continuous real-time synthesis, no loop point
- → Honest dBFS level, default −20 dBFS
- → Click-free switching, glide the frequency live
Everything REW expects on the input side.
Eleven generators, each authored to a precise headroom and spectral target. Tap the panel above to see what each one looks like.
Stereo tools for real-world tuning.
Version 2 adds the controls you reach for once the response is flat: stereo correlation, hands-free L/R alternation, per-driver band noise and arbitrary-frequency phase checks — all synthesized on the same real-time core.
Stereo correlation & auto L/R
Run noise and band noise correlated (mono), uncorrelated (independent L/R) or anti-phase (R = −L) for a broadband polarity check. Auto-L/R ping-pongs full-left ⇄ full-right every N seconds — sample-accurate and hands-free, even with the screen locked.
Per-driver band noise
Wideband band-pass noise over a driver passband — sub, woofer, midrange or tweeter presets from the tuning bench — to balance each driver's L/R level and phase by ear. Inherits the correlation modes and auto-L/R for free.
Phase & resonance finders
Play any sine anti-phase (R = −L) to check polarity or cancellation at a chosen frequency. A descending subsonic / high-pass finder reveals your low-end corner, and the rattle hunter sweeps for buzzes — all read live off the moving frequency.
Real-time synthesis, not looped buffers.
A shared C++ DSP core generates every continuous signal sample-by-sample inside the audio render callback from live oscillator, filter and RNG state — pure and allocation-free on the audio thread. (Periodic noise is the one deliberate exception: a fixed REW sequence length that repeats seamlessly, exactly so REW can average it.) One implementation drives both platforms, so the signals are identical down to the sample.
s = activeSignal.nextSample()
g = smoothToward(gain, target, RAMP_TC)
out = s * g
[L,R] = applyPan(out) // L / S / R
analyser.push(L, R) // FFT · RMS · clip
Master-gain ramps and per-burst edge fades make starting, stopping and switching click-free. The Voss–McCartney pink generator, the closed-form sweep phase integral and the cascaded 1/3-octave biquads run identically on iOS and Android.
Pair, play, measure, tune.
A datasheet, not a feature list.
Two native apps. One DSP core.
iOS
SwiftUI front panel with an AVAudioEngine source node. Measurement-mode session, Bluetooth & AirPlay, background audio.
Android
Jetpack Compose UI driving an Oboe low-latency stream. Foreground media-playback service, route-change recovery.
Shared C++ core
One pure, allocation-free render engine. Verified by a 93-check suite covering every signal and acceptance criterion.
Frequently asked questions.
What is TuneHelper?
TuneHelper is an instrument-grade measurement-signal generator for car-audio DSP tuning. It produces pink and white noise, log and sub sweeps, tone bursts, periodic pink, Dirac impulses, 1/3-octave band noise and a polarity test — all synthesized in real time — so you can measure your system with REW and a calibrated microphone.
Do I need REW?
TuneHelper generates the input signals; you measure the result with REW (Room EQ Wizard) or any RTA. Play pink noise and tune your DSP until the RTA reads flat at the listening position.
How do I get the audio into my car?
Stream the output over Bluetooth, USB-C or a 3.5 mm cable. The app shows the route as a status chip; the OS handles the actual routing.
Is everything really synthesized in real time?
Yes. Every sample is generated live inside the audio callback from oscillator, filter and RNG state — there are no pre-rendered, looped buffers. The shared C++ core guarantees the iOS and Android signals are identical.
What is correlated vs. uncorrelated noise?
Correlated noise plays the same signal on both channels (mono, L = R); uncorrelated plays independent left/right noise; anti-phase inverts one channel (R = −L) for a broadband polarity check. TuneHelper offers all three for white noise, pink noise and band noise, plus a hands-free auto L/R mode that alternates the signal between the speakers.
What is per-driver band noise?
A wideband band-pass noise limited to one driver's passband — sub, woofer, midrange or tweeter presets — so you can balance each driver's left/right level and phase by ear. It inherits the stereo correlation modes and the auto L/R alternation. There's also a descending subsonic / high-pass finder to read off your low-end corner frequency, and a rattle hunter that sweeps for buzzes.
Which platforms are supported?
Native iOS (SwiftUI + AVAudioEngine) and native Android (Jetpack Compose + Oboe), both built on one shared C++ DSP core.