Version 3.15.1
Design the filter.
Then print the page
that goes in the rack.
Sonasync takes a measurement, aligns a multi-way system, fits the correction, and works out the limiter settings each driver actually needs. Then it prints all of it on one page you can type into any processor — including every processor that has never heard of FIR.
Windows 10 1809 or later · measuring free permanently · no account, no telephone home
The workflow
Eleven stages, in the order you actually work
Take a measurement or import one. Align the ways. Set the crossovers. Fit the correction by hand or automatically. Listen to it. Export it. Then measure again and see whether it did what it promised. Each stage shows you its result before you move on — there is no button that does everything, on purpose.
- 1Import
Smaart, REW, or any file with frequency, magnitude, phase and coherence columns. Mic calibration is applied once, and the tool records who applied it.
- 2Measure
Take your own, with an interface, a microphone and a loopback cable. Swept sine, several sweeps averaged, a level meter before the measure button rather than a warning after it — and an impulse view that shows when the sound arrived, in milliseconds and metres. Two live modes sit in front of it, for watching the system while you move things rather than after.
- 3Arrivals
Several sources measured from one microphone position, and the delay each of them needs. Microphone at the mix position; measure the left array, the right, the subs, the fills and each tower; the differences between their arrival times are the delays to set. The part of the job that used to be finished on paper.
- 4System
Sub, low, mid, high. Delay, polarity and gain per way, with the alignment worked out from where the ways actually overlap.
- 5Target
Flat, tilted, shelved — the curve you are correcting towards, owned in one place.
- 6FIR Design
Windowed-sinc and linear-phase Linkwitz-Riley legs, with the delay and polarity carried in the taps.
- 7IIR / PEQ
Parametric bands by hand, with Q and bandwidth in octaves side by side.
- 8Auto Fit
Levenberg-Marquardt fitting that prefers few bands to many, and refuses to correct what it cannot see.
- 9Audition
Hear the correction on your own material before it goes anywhere near a rig.
- 10Export
Coefficients, processor presets, and the settings sheet.
- 11Verify
Keep what the program predicted, load the filter into the processor, measure again — and be told how far the result sits from what was promised. Everything else here produces a curve; this is the only part that checks whether the curve was right.
New in 2.19
Two ways of watching it happen
A capture tells you what the system did. Neither of these waits for that. One window, two modes, and they answer different questions — so the program ships both rather than picking.
Live IR — where, and how far
A short sweep, fired over and over. The impulse response and the arrival distance move while you move the microphone or aim the loudspeaker, in milliseconds and in metres, measured against the loopback rather than against your driver’s buffers.
This is the one for finding a cluster’s arrival time at the mix position, and for the delay between an array and its subs. A sweep puts all its energy at one frequency at a time, so it buys 20–30 dB of noise rejection over a broadband signal and its impulse peak is sharp enough to read.
It is honest about the cost of being quick: a short sweep spends more of its octaves inside its own fades, so a live frame is trustworthy over a narrower band than the capture that follows it. The window prints both frequencies and draws nothing outside them.
Live TF — what it is doing, right now
A dual-FFT transfer function. It compares the reference and the microphone continuously and reports the difference, so it works on pink noise, on the walk-in music, or on the band with the room full. You do not fire a sweep at an audience; this is what you use instead.
Magnitude, phase and coherence, on five transform lengths at once so the bottom of the trace resolves and the top still keeps up. Same loopback the sweep already needs — no new wiring.
And it says what it does not know. The phase trace is marked not aligned until the flight time has been found, because until then it is describing the distance rather than the loudspeaker. Coherence is not drawn at all until two frames have been averaged: after one, the arithmetic gives exactly 1 for any two signals whatsoever — including a microphone that is not plugged in.
Live IR is free, with the rest of measuring. Live TF is what a licence buys — it is not another measurement so much as a different kind of tool: a continuous analyser you work with while a show is running, rather than something you take and put down.
Time alignment
Only aligning the system?
Then you never have to buy anything.
Microphone at the mix position. Measure the left array, the right array, the subs, the front fills and each delay tower, one at a time. The differences between their arrival times are the delays to set, and something holds them and does the subtraction. All of it is in the free half — permanently, with no account and no licence.
The whole job, in order
- Loop one output back to the second input. Without that reference the delay is whatever the sound card’s buffers happened to be that run — on one machine here that moved by 70 ms across four runs.
- Microphone at the mix position. Set Read from and Read to to the band you want — for subs against tops, the crossover region, where both are producing. The target band is drawn before you fire, so you can see what you are about to read.
- Open Live IR. Fire the tops once and press Take as Tops; fire the sub and press Take as Sub. Left array, right array, fills and towers go into the table the same way. Do not move the microphone.
- Type the tops’ height, the ref mic’s height and — from a laser meter — its distance. The listening card draws the seat and splits each arrival into the air and the rack.
- Read the delays off the table and type them into the processor. Then measure again: the arrivals should land on top of each other.
- Save measurements keeps the night’s work in a file of its own, to open again for review.
Why not just a rangefinder?
Because a laser measures distance, and what reaches the audience is time — which includes the amplifier, the processor and the loudspeaker itself, none of which a tape can see.
Two identical clusters, both exactly 30 m from the microphone, on different amplifiers: the tape says they are aligned and they are not. A ported subwoofer is worse. A fourth-order 35 Hz alignment — an ordinary box — carries something like 3.7 ms of its own group delay, which is 1.3 metres the rangefinder cannot reach, and subs are rarely on the same processing as the tops, so nothing cancels.
The real trouble is not that a tape is inaccurate. It is that it cannot reveal its own error — the rig where it is fine and the rig where it is 2.5 ms out look identical until something measures them.
Keep the rangefinder for the cross-check. The metres column should read longer than the tape, never shorter, and the difference is your electronics. Shorter means something is wrong — sound cannot arrive before it left.
It knows which way round the answer goes
You can only ever add delay, so the source that arrives last is the reference and takes none; everything earlier is held back to meet it. Delaying the far source instead of the near one produces numbers that look entirely reasonable and put a tower further out of time than it started.
Every delay is shown in milliseconds and in metres, because a delay is a distance and “the tower is 34 metres behind the main” is something you can check by walking it.
Temperature cannot move it
The delay is a difference between two measured times, and neither was worked out from a distance — both were measured against the loopback. A cold hall and a hot afternoon give an identical answer. Only the metres beside it move.
The seat, drawn
A side view under the impulse: the tops at their height, the sub on the floor, the ref mic standing or seated at its distance. Each line carries its arrival and its distance — 94.10 ms · 30.03 m — and its angle from level near the ref mic. Move the ref mic in the card and the metres and angles follow; the milliseconds are measured and wait for a new sweep.
Sub lands 7.20 ms later. Delay the tops 7.20 ms. That answer needs nothing typed. Give it a laser distance and it adds how much of the gap is where the boxes stand and how much is inside the rack — and refuses a processing time that would have the sound arrive before it could fly there.
The site is shaded by level, red near the boxes to blue far away, with a contour line every 3 dB. Only the ref mic’s spot is measured; the rest is predicted from it, 6 dB per doubling of distance, and says so. Load sample shows all of it without a rig.
The ground, and the level
Ground bounce. Over a narrow low band a reflection off the floor cannot be separated from the direct sound and can pull the arrival late — up to 0.49 ms for tops at 3 m and a standing ref mic 30 m out. The card warns, draws the bounce’s path, and gives the cure: the ref mic on the ground, or a wider band.
What the ground is made of. Measure the ground finds that bounce in the impulse at the moment the geometry predicts and says how much the surface returned — hard, fairly hard or soft — with no table of surfaces needed.
The level at the ref mic. Every sweep reports its level and the room’s in the band read, in dB SPL (Z) once the SPL meter has been calibrated against the organiser’s own meter.
And three things it refuses to do
Each of these produces a delay that looks entirely reasonable and is wrong. So the table groups its rows by microphone position and by band, lowest first, and works out delays only inside a group — the main over low, mid and high, the subs with the main’s low, a tower from its own seat — and never subtracts between them.
- Subtract across two microphone positions Two arrivals from different seats differ by the seat as well as by the source, and no arithmetic separates them afterwards.
- Subtract across two bands A band-limited arrival is the source’s group delay averaged over that band. One subwoofer, one position, read over four bands, gave four arrivals 4.2 ms apart — 1.4 metres of apparent position, from nothing but what was typed in two boxes.
- Align anything measured without a loopback That figure is the driver’s buffers, not a distance, so it cannot be compared with anything — including itself an hour later.
On the bench
What did the new woofer change?
The program works on one measurement at a time, which is right for designing a filter and wrong for the question people spend afternoons on. Keep a measurement on the shelf and the next one no longer destroys it.
Measure the box. Change the driver. Measure again. Then overlay the two, or hold them against each other in numbers — with their mean levels aligned first, so what is reported is a difference in shape. A replacement driver of a different sensitivity would otherwise show a flat few decibels across the whole band: true, and not the question. The sensitivity difference is reported on its own line so it is not lost.
And if the program ever closes without saving, it keeps a copy aside and offers your work back when it next starts — still unsaved, still pointing at the file it came from.
The part nobody else does
A page you can type into any processor
Every FIR designer assumes the job ends with a coefficient file loaded into a FIR-capable box. Most boxes in the world are not that, and the engineer standing in front of a DriveRack is not going to buy a rack to use a measurement tool.
So the tool prints the numbers instead: crossover points and slopes, delays in milliseconds and samples and metres, polarity, gain, the band list with Q and bandwidth both, and the limiter settings for every way. A system set up from that sheet and a DriveRack gets the alignment, the crossover and the EQ. It gives up only the linear phase.
- Prints, emails, or survives being photographed on a phone
- Readable six months later without this program installed
- States what it does not model, so nobody treats it as a guarantee
================================================================
SYSTEM SETTINGS SHEET
Main hangs - 4-way line array
48000 Hz 343 m/s assumed for distances
================================================================
WAY 4 High 1.4" horn
----------------------------------------------------------------
Crossover high-pass 1.60 kHz Linkwitz-Riley 24 dB/oct
(no low-pass - this way runs to the top)
Delay 4.104 ms 197.0 samples 1.408 m / 4.62 ft
Polarity normal
Gain -4.5 dB
RMS limiter threshold -1.72 dBu -3.94 dBV 0.635 V
attack 0.62 ms release 100 ms
Working driver 80 W AES / 8 ohm -> 25.30 V
amp 700 W / 8 ohm, 32.0 dB gain
timing from one period of 1600 Hz
at the threshold the driver sees 80 W
Processor limits
It designs what your processor can actually take
Fitters do not know what your box accepts. On a narrow room mode one will happily return Q 8, and on a deep dip it will ask for +15 dB. Plenty of processors stop at Q 4 and +13 dB, and every brand draws that line somewhere different.
Tell it what yours takes and Auto Fit works inside those limits. Not fitted freely and clamped afterwards — that would leave a curve nobody optimised, with no record of what moved. Bounded, it places bands differently: two gentle ones where a narrow one was not allowed.
And when a limit genuinely bites, it says so by name rather than quietly handing you a gentler correction than the measurement justified.
- Pick your processor from a list, or type four numbers off its manual
- Works for the legacy box no shipped device list would ever include
- Separate limits for FIR — taps, rate and latency budget
- Boost and cut are separate, because real processors are lopsided
- Nothing is clamped or shortened for you — it tells you, you decide
Processor RHAON STLA/9R (fw 1.10)
Boost / cut +13.0 dB / -18.0 dB
Q 0.10 to 4.00
Source reported by the owner of the unit
---- after Auto Fit -------------------------------------------
Fitted 6 bands in 25 iterations: 2.19 dB RMS error
reduced to 0.16 dB. 1 band was held back by RHAON
STLA/9R - the fit wanted more than it accepts
---- after designing a FIR ------------------------------------
RHAON STLA/9R holds 256 taps but this design is 1025.
Shortening it costs resolution at the low end first,
which is usually where the correction was needed.
---- on the settings sheet ------------------------------------
* Band 2 (420.2 Hz) asks for 15.00 dB of boost;
RHAON STLA/9R stops at +13.00 dB.
Limiters
The same rig. Thirteen decibels apart.
An 18″ sub and a compression driver on one system want completely different limiter thresholds, and a single setting is wrong for both. The threshold is arithmetic — the driver’s rating referred back through the amplifier’s voltage gain — so the tool computes it per way rather than leaving you to guess.
18″ sub · 1600 W AES · 4 Ω
+8.28dBu
+6.06 dBV · 2.010 V
attack 33.3 ms, release 333 ms
1.4″ horn · 80 W AES · 8 Ω
−1.72dBu
−3.94 dBV · 0.635 V
attack 0.62 ms, release 100 ms
Give the horn the sub’s number and it sees
13.01dB too much
which is 10 × log₁₀(1600/80), exactly.
Three units, always, on the same line
Processors disagree about whether their threshold field means dBu, dBV or volts, and dBV sits exactly 2.2185 dB below dBu. Reading one into the other’s field is 2.2 dB hot — which a sub shrugs off and a compression driver does not. So every threshold is printed in all three and nobody converts anything at one in the morning.
And it refuses to guess
No driver rating, no suggestion. Thermal time constants, excursion below box tuning, and what a real amplifier does into a real load are named on every sheet as not modelled, because a threshold presented without them is a number people treat as a promise.
Several positions
What EQ can fix, and what it cannot
A measurement taken at one place describes one place. Part of what it shows is the loudspeaker, and EQ fixes that everywhere. The rest is the room, and EQ “fixes” that at the microphone while making every other seat worse. One measurement cannot tell them apart — not because it is a poor measurement, but because the information is not in it.
Measure the same source from several seats and the tool separates them. What is the same everywhere is the loudspeaker; what moves as you move is not.
| Frequency | What it is | Spread across seats | Coherence | Verdict |
|---|---|---|---|---|
| 94 Hz | port tuning | 2.1 dB | 0.97 | EQ it |
| 331 Hz | reflection null | 20.8 dB | 0.97 | leave it |
| 1804 Hz | horn dip | 6.4 dB | 0.97 | EQ it |
Coherence is 0.97 at all three. Coherence tells you how good the measurement is, not whether the thing it measured exists anywhere else — a 20 dB null in one seat can be a flawless measurement. Without the position check, a fitter would happily correct all three.
Pricing
Measuring is free. Correcting is what you buy.
Finding out what a system is doing costs you nothing and has no time limit. Designing the correction is the part that was paid for.
Free, permanently
Measure & Align
No cost, no account, no expiry
Everything up to the filter
- Measurement, with your own interface and microphone
- Live IR — watching the arrival while you move things
- The arrivals table — several sources, one microphone, the delays
- A measurement library, to hold one against another
- Measurement import and microphone calibration
- Multi-way system tree with per-way delay and polarity
- Alignment, and how exact it has to be
- Several-position analysis
- The settings sheet
- Saving and reopening your projects
One edition
Suite
USD 360 or PHP 20,500 within the Philippines
Everything above, plus the correction
- Live TF — the continuous analyser, for working on a system while it plays
- Target curves and FIR design
- IIR / parametric fitting
- Auto Fit
- Per-way limiter and compressor thresholds
- Coefficient and processor preset export
- Every future 2.x update, at no further cost
Bought once. Yours permanently. It does not lapse, it does not phone anywhere, and it keeps working whatever happens to us.
Buying one
PayPal internationally, GCash within the Philippines. Email [email protected] with the name the licence should be issued to and you will be sent payment details and, on payment, your licence file. Licences are issued by hand, by a person, usually within a day.
Your licence is a small file. Keep it — it is the licence, it is not tied to any one computer, and the same file works wherever you install the program. If you lose it, ask and it will be sent again.
The name is inside the file and cannot be changed afterwards without a new one being issued. If the licence is for a company, send the company name.
For help afterwards, open a ticket on the issue tracker or email the same address — whichever you prefer. Either reaches the person who wrote the program, and there is no queue in front of you.
There is no money-back guarantee. That is exactly why the free half exists and why it has no time limit: measure your own loudspeakers, with your own microphone, in your own room, before you pay anything. Nobody should buy a measurement tool on a promise when they can buy it on a measurement.
Version 3.15.1 · 17 September 2026
What changed
The recent releases. Everything older is on GitLab, filed with the release it shipped in.
Be told when there is a new one
- Watch the project on GitLab Sign in, open the project, and set the bell to Custom → Releases. GitLab mails you on every release. Nothing is collected here and nothing is installed.
- Subscribe to the feed This Atom feed lists every release as it happens. Any reader will take it, no account needed. This is the one to use if you would rather not hand an address to anybody, including us.
- Ask to be emailed Send one line and you go on a list used for exactly one thing: a short note when a version ships, saying what changed. No newsletter, no forwarding, and say the word and you are off it.
The program itself never checks for updates. It makes no network calls of any kind — that is the point of it — so the checking has to happen here rather than on the machine in the rack.
3.15.0 – 3.15.1 — keep the night’s work, and the ref mic’s angle
- Save and open the measurements on their own Every arrival, the layout and the measured ground in a .sonalive file, without the rest of a project — opened again, the listening card and plot come back for review exactly as they were.
- Export CSV One line per arrival for a spreadsheet: band, arrival, distance, delay, levels. One way — the .sonalive file is what reopens.
- Distance and angle on the lines 94.10 ms · 30.03 m on each line, and 2.5° below level near the ref mic. Move the ref mic in the card and the metres and angle move; the milliseconds are measured and wait for a new sweep.
- 3.15.1: the ref mic’s angle 0° is level toward the stage. It changes no timing — only the highs above 5 kHz — and warns when a box arrives far off the mic’s axis over a band that reaches up there.
3.14.0 — what the ground is made of, measured
- No surface table needed How strongly the ground reflects is the surface, and the impulse already holds the reflection. The geometry says when the bounce arrives; Sonasync looks there, and only there.
- How much it returns, octave by octave Measure the ground after sweeping the tops over a wide band: the ground returned 85% of the sound — hard, behaves like concrete, asphalt, tiles or water. Checked through the real measurement chain: a 90% and a 50% bounce read back as 0.900 and 0.500.
- It refuses rather than guesses A band too narrow to separate the bounce, nothing at the predicted moment, or a reflection stronger than any surface returns — each is said, not measured.
3.13.0 — the level across the site, and the ground
- A coverage picture, with contour lines The side view is shaded red near the boxes to blue far away, with a labelled line every 3 dB. Hover anywhere for the level. Only the ref mic’s spot is measured — the rest is predicted from it, 6 dB per doubling of distance, and it says so.
- A warning when the ground bounce can move an arrival No surface data needed: the bounce’s timing comes from the heights and the distance. Tops at 3 m, ref mic at 1.7 m, 30 m out — over 60–150 Hz the arrival can read up to 0.49 ms late on a hard floor. The cure is given: ref mic on the ground, or a wider band.
- dB SPL (Z) Sweep levels say they are unweighted, so they are never read against a limit given in dBA or dBC.
- 3.13.1: Load sample No rig to hand? One button fills the listening plot with a sample tops and sub, marked as sample data everywhere, and one button takes it out again.
- 3.13.2: the band, named The sample sets its own target band, the plot says which band its colours are the level of, and nothing is claimed behind the boxes.
- 3.13.3: where the bounce comes from Behind the boxes is faded rather than blank, and when the ground-bounce warning is on its path is drawn — box, ground, ref mic — with its numbers on hover.
3.12.0 — the sweep’s level, in dB SPL
- How loud it was at the ref mic After a sweep: sweep level 98.4 dB SPL, room 52.1 dB SPL, in the band you read — using the SPL meter’s calibration, and in dBFS, saying so, until it is calibrated. Arrival rows and the listening card carry it too.
- Measured properly for a sweep A sweep only spends part of its time in any band, so an ordinary average reads it several dB low. This one takes the band’s energy over the time the sweep was there — within 0.01 dB of a known sweep.
- Ref mic, by name, and a taller plot The listening card’s fields say Ref mic height and Ref mic distance, and with the plot open the impulse gives it half its height.
- 3.12.1: bands you can see, numbers you can point at The frequency strip shows each box’s band as a bar and the target band before you fire. Hover a bar, a box, the ref mic or anywhere in the view for its real numbers.
3.11.0 — an interface is found when it is plugged in
- Plug it in with the program open The list used to be read at start-up and on Refresh only, so an interface plugged in a minute later was “not detected”. It now appears within a second, and is selected when nothing else is in use.
- A plug elsewhere leaves your measurement alone Headphones or a webcam plugged in mid-sweep no longer stop monitoring. Unplugging the interface in use stops everything on it, and says so.
- Nothing Windows reports is hidden An interface whose input and output were named differently used to be silently missing. Close names now pair when there is only one candidate, and every device left over is listed on the Measure stage with the reason.
- 3.11.1: the listening plot is wide It moved under the impulse in Live IR, full width — frequency up the far left, height up the left in metres, distance across.
Before that
- 3.10.0 — the listening position drawn in Live IR, and the arrivals table grouped by seat and band.
- 3.9.0 — an SPL meter for the wall: subs and tops against their own limits, blinking red over, calibrated against the organiser’s meter.
- 3.7–3.8 — delays the wrong way round are caught; ways that do not reach past their crossover are flagged; a blank plot says why.
- 3.6.0 — Live IR fires one frame at a time; the band is settable from Live IR; it will go below 30 Hz if you ask.
- 3.5.0 — two bands are never subtracted; it listens to the room before it measures; a headroom figure that does not saturate.
- 3.3.0 — the band you type is the band you read; a narrow sweep is scored on the room, not its own width; a refusal names the channel and the cause.
- 3.2.0 — where zero sits on the impulse plot is yours to choose; smoothing on the live transfer function; it says when it is not measuring anything.
- 3.1.x — XTA DP448 joins the processor list; Import can read a filter, and knows which way round it sits.
Each release carries its own notes on the releases page, including the measurements behind the claims above.
Before you decide
What has not been checked
Every calculation here is verified against an answer known in advance, and the whole measurement chain has been proven electrically against a loopback: flat, zero degrees, coherence 1.00, delay 0.00 ms. That covers the stimulus, the channel mapping, the capture, the engine and the display.
Proven
- Timing, against a tape measure A microphone at a hand-measured 76 cm read 2.31 ms of propagation, which the program put at 0.793 m of air.
- The electrical chain, end to end Against a path whose right answer is exact. A wire is flat, at zero phase, with a coherence of one.
- Memory, measured rather than assumed Thirteen minutes of continuous analysis and five start-and-stop cycles. Nothing grows.
Not proven
- Magnitude has never met air Nobody has taken a filter this program designed, loaded it into a processor, played it through a real loudspeaker and measured the result. Timing is one claim; the magnitude response is a different one, and it has no such check.
- One machine, one interface It has run on a single Windows install with a single audio interface. Second machines are where the surprises are.
- The listening card has met simulated measurements only The seat drawing, the ground-bounce warning, Measure the ground and the level field are tested against reflections and sweeps built in advance — a 90% and a 50% ground bounce read back as 0.900 and 0.500 through the real chain — but not yet against a real floor on a real site.
If you do one thing with it, do that first one: design a filter, load it, re-measure, and send back the predicted curve beside the measured one. That single plot is worth more than any amount of arithmetic — and the free half is free permanently, so it costs you nothing to find out.
Download
Try all of it for sixty days
The demo is the whole program, unlocked, for sixty days. When they are up it does not shut down and does not take your work away: measuring and aligning stay free permanently, saving included. Only the correction — the filter design half — asks for a licence.
Download for Windows Read the manual
Windows 10 1809 or later, 64-bit · 30 MB installer
This program is not code-signed, so Windows SmartScreen shows a “Windows protected your PC” notice on first run. Choose More info → Run anyway. A certificate costs more each year than it would be worth to the people this is for, and it is not planned.