Why I'm building SweepLab

Every loudspeaker measurement session I've done on the Mac started the same way: with a sigh.

The standard tool, Room EQ Wizard, is genuinely powerful — and famously heavy. A Java app with a decade of accumulated dialogs, where the thing you need is always three tabs deep. The lovely native alternative, FuzzMeasure, hasn't been updated since 2018 and no longer runs on current macOS. If you wanted to point a mic at a speaker and get an honest frequency response on a modern Mac, your options were "wrestle the monster" or "mourn the abandoned."
So I'm building the tool I wanted: SweepLab, a native macOS app that does one thing well — measure audio equipment with a logarithmic sine sweep and show you what's really going on.
What it does
Connect an audio interface, pick output and input, press Measure. SweepLab plays an exponential sweep, records the response, and computes the impulse response by deconvolution — the same method (Farina) used by every serious measurement system. From that single measurement you get:
- Frequency response, gated for quasi-anechoic results — datasheet-style curves from an ordinary room
- Harmonic distortion — THD and individual harmonics H2–H5 vs. frequency, extracted from the same sweep
- Phase and group delay
- Time domain — impulse response, step response, and energy decay, so you can see your room's first reflection and set the gate accordingly

Everything recomputes live from the stored impulse response: change the gate, smoothing, or calibration after the fact, no re-measuring. Overlay measurements to compare speakers, positions, or amplifier settings. Export CSV or PNG.
The honesty feature
My favorite detail is the one that tells you less: a gated measurement is only valid down to a frequency limit set by the gate length — below that, the numbers are fiction. Most tools happily draw the fiction. SweepLab draws it dashed and faded, with the limit marked, so you always know which part of the curve you can trust. A measurement tool should never look more confident than it is.
Small things that matter
- Separate input and output devices (say, a USB measurement mic plus a DAC) are combined automatically with drift correction — no trip to Audio MIDI Setup
- Microphone calibration files (UMIK-1 and friends) load directly, with the correction curve shown on the chart
- Hover anywhere on a chart for exact readouts
- Native Swift, Apple Silicon, no Java, no Electron — it launches before you finish blinking
What's next
I'm currently testing with an Edirol UA-25 and a miniDSP UMIK-1, measuring everything in the flat that isn't fast enough to escape. A public beta is the next step — if you'd like to help test, especially if you own an audio interface I haven't tried, get in touch: support@sweeplab.app.
SweepLab will be a paid app (with a full-featured trial) — sustainable enough to still be maintained years from now. That's a feature too. Ask any FuzzMeasure user.
