Help

Quick start

1. Connect your hardware. Any Mac audio output and input works. Best results: a USB audio interface with a measurement microphone.

2. Pick devices in the toolbar. The speaker icon ๐Ÿ”Š selects the output (plays the sweep), the microphone icon ๐ŸŽค selects the input (records the response). Output and input may be different devices โ€” SweepLab combines them automatically with clock-drift correction.

3. Press Measure (โŒ˜M). SweepLab plays three sine sweeps (about 17 seconds with default settings). Keep the room quiet.

4. A frequency-response curve appears. Hover over it for exact readouts.

The first measurement will ask for microphone permission โ€” SweepLab records only while a measurement runs, and nothing ever leaves your Mac.

Understanding the gate (important!)

After a measurement, sound keeps bouncing around your room. The gate cuts the measurement to the first few milliseconds after the direct sound โ€” before the first wall or desk reflection arrives โ€” which is what makes curves comparable to manufacturer datasheets ("quasi-anechoic").

The catch: a gate of length T is blind below roughly 1/T. A 5 ms gate means nothing below 200 Hz can be trusted. SweepLab shows this honestly:

โ€ข The invalid region is drawn dashed and faded, with a vertical line at the limit (f_min, shown next to the gate slider).

โ€ข To measure bass properly, either use a longer gate (and accept room influence) or enable Ungated for a full in-room measurement, valid at all frequencies but including your room.

Where to set the gate: open the Time view. The big spike is the direct sound; the next spike is your first reflection. Set the gate just short of that reflection.

Measurement setups

Loudspeaker (acoustic). Measurement mic (e.g. miniDSP UMIK-1) about 1 m on-axis from the speaker. Load the mic's calibration file in the controls strip โ€” the correction is applied automatically. Moderate volume: clearly above the room's background noise, well below distress.

Amplifier (electrical). Interface output โ†’ amp input; amp speaker output โ†’ attenuator โ†’ interface line input. โš ๏ธ Never connect speaker outputs directly to a line input โ€” a power amp can destroy it. Use a voltage divider, ideally with the amp driving a dummy load. Enable Ungated (there are no reflections in a cable) and use fine smoothing (1/24 or none).

Room / listening position. Mic at ear height at the listening position, Ungated, moderate smoothing (1/6โ€“1/3). Peaks and dips below 300 Hz are your room modes.

No hardware at all? Built-in speaker + built-in microphone works for trying the app โ€” expect a rough curve; laptop speakers and desk reflections are what they are.

The views

โ€ข Response โ€” magnitude vs. frequency. Smoothing (1/24 to 1/1 octave), level offset, Y scaling (auto or fixed spans), optional โˆ’3 dB reference line for amplifier bandwidth reading.

โ€ข Phase โ€” phase (ยฑ180ยฐ) or group delay, referenced to the impulse arrival. Useful for crossover and port behavior.

โ€ข Distortion โ€” THD and harmonics H2โ€“H5 vs. frequency, from the same sweep. Best for electrical measurements; for acoustics, use a long sweep (10โ€“15 s in sweep settings) for a lower measurement floor. Curves end where the harmonic would exceed the recordable range โ€” measure at 96 kHz to see THD up to 20 kHz.

โ€ข Time โ€” impulse response, step response, or energy decay (ETC). Gate edges are marked; this is where you find reflections.

Everything recomputes live from the stored measurement โ€” gate, smoothing, offset, and calibration can be changed at any time without re-measuring. Select several measurements in the sidebar to overlay them; click a name to rename.

Sweep settings

The slider icon in the toolbar: sweep frequency range, duration, level (โˆ’30 to โˆ’3 dBFS), and number of averaged sweeps (each doubling lowers noise by 3 dB). Longer sweeps and more averages = cleaner measurements. Total measurement time is shown.

Microphone calibration

SweepLab reads the plain-text calibration files supplied with measurement microphones (miniDSP UMIK-1/2, Dayton, Cross-Spectrum, and similar). Load via the controls strip; the file is remembered across launches. The eye button shows the correction curve on the chart.

Export

Toolbar โ†’ Export: CSV (frequency/level table of the current curve, or harmonics in Distortion view) and PNG (the current chart).

Trial and purchase

All features are free for 14 days. Afterwards, measuring plus the Response and Time views remain free; saving measurements, export, Distortion and Phase views are enabled by a one-time purchase. No subscription, no account.

Troubleshooting

A device doesn't appear in the pickers. Only devices with the relevant direction are listed (inputs under ๐ŸŽค, outputs under ๐Ÿ”Š). Virtual devices from conferencing software (e.g. "Teams Audio") appear too โ€” don't measure through those.

Measurement is silent / level is tiny. Check the selected output channel actually goes where you think (channels are listed by name, e.g. "1 ยท Left"), the interface's monitor/volume knobs, and macOS output volume for that device.

Bluetooth headphones/speakers appear as devices. They technically work but produce meaningless results โ€” lossy codecs, resampling, and automatic gain control mangle the sweep. Measure over wires.

The curve is dashed below some frequency. Not a bug โ€” that's the gate honesty display. See Understanding the gate.

THD curve stops before 20 kHz. Physics: at a 48 kHz sample rate, harmonics above ~12 kHz fundamentals fall outside the recordable band. Run the interface at 96 kHz for the full range.

Two different devices drift or the impulse looks smeared. SweepLab enables drift correction automatically, but very long sweeps over cheap devices can still smear. Prefer a single interface for both directions when possible.

Edirol/Roland UA-25 at 96 kHz. This interface can't record and play simultaneously in its high-rate mode (a hardware limitation of its ADVANCED switch). Use 48 kHz for measurements, or the switch's standard mode.

Still stuck? support@sweeplab.app โ€” include your macOS version, interface model, and a screenshot; exported PNGs of odd curves help enormously.

ย