Skip to content

Resonalyze v0.8.2

Choose a tag to compare

@github-actions github-actions released this 24 Sep 08:48
· 47 commits to main since this release

New

  • Tune junction (Virtual DSP → Tools): search crossover families, slopes, and corners around a single junction, reading each candidate on the coherent sum after re-aligning the upper block. The report shows loss, dip, and ripple against the found result, with Apply writing the crossover onto the channel cards and Undo last Apply restoring them. A channel card can also carry an acoustic crossover goal per edge, and Tune can target it within a visible summation budget; the goal travels to the EQ Wizard and the AI package.
  • Editable EQ bank on the plot: every band has a handle at its frequency and on its own curve — click to select, drag to move frequency and gain, and use the wheel over the selected handle to step Q. Bands you aren't editing show as dots under the curves and rise to numbered discs on hover or selection.

Improvements

  • EQ Wizard Auto Tune now fits frequency, gain, and Q together with a bounded Levenberg–Marquardt refit rather than a greedy per-band ladder, giving roughly half the filters, a third of the digging, and Q spread across the range instead of pinned at the ceiling. Fits take a few milliseconds.
  • Boosts replaces the "Cuts only" checkbox with three modes: Off (no boosting), Refill cuts (boosts only put back what the fit's own cuts dug — the default), and Allowed (boosts up to Max Gain). Old settings and the agent protocol still read.
  • EQ Wizard target from a chain handoff: a channel handed over from Virtual DSP now folds its crossover's slope into the target, so the fit shapes the acoustic roll-off the neighbour has to sum with. "Crossover in target" (on by default for a chain handoff) shapes the plot, fit, statistics, and level check alike.
  • Imported EQ targets keep their file's levels instead of being shifted to 0 dB at 1 kHz, so per-driver cuts and sets sharing a common level survive import; only Target Level moves them. When "Crossover in target" would double a slope already baked into an imported curve, the Tuning results panel now warns.
  • EQ Wizard: the EQ bank curve has its own violet colour instead of sharing white with Source, and the crossover in the target no longer draws a false 40 dB shelf.
  • Virtual DSP magnitude view now draws both sides on one shared scale, so switching sides no longer reads as a level jump and comparing sides needs no manual limits; your zoom is preserved.
  • Virtual DSP EQ Wizard bands can be locked (right-click → Lock, amber number plate) so Auto Tune fits around them and counts them against Max Filters; Del deletes the selected band. The L/R side selector became coloured buttons (blue/red) that dim until chosen, and L, R, and ` switch or swap sides from the keyboard.
  • New Virtual DSP projects start on "Own (as measured)" so curves are read through the calibration they were measured with, and Reset now keeps the microphone calibration it promises to keep. Target level and target offset step by 0.5 dB.
  • Calibrations come only from the interface: no bundled file stands in for 0°, an empty 0° slot reads as Off, and a fresh install starts uncalibrated. Lists show "0° (not set)" and "(unavailable)" states, and Virtual DSP flags when curves aren't read through the calibration a channel was measured with, naming each channel's own file.
  • Loopback-led measurements (microphone heard before its loopback, as with aggregate or separately-clocked devices) are now filed without absolute time and placed at 10 ms, so their curves no longer read 13–43 dB low; Virtual DSP and Time Alignment decline them. Arrays are checked against their own IRs, and moving-mic sets take one offset over both sides so a mono channel no longer moves when the side selector flips.
  • On-graph zoom buttons moved from the middle of each axis to its ends, and now appear on plots as small as 80 px, so previews get them. The target preview keeps its zoom across rebuilds, and every fixed-axis preview gains the left-press readout, the Ctrl+right-drag measuring box, and F1.
  • Waterfall and Burst Decay now draw when a view has fewer than 8 slices (it previously stayed blank), keep the rate and capture time of the current measurement, and reach up to 384 kHz.
  • Messages that point to Record Settings now call it "Record Settings" everywhere, matching the button and the manual (they previously said "Measurement Options" or "the measurement settings").

Fixes

  • Plots no longer crash when clicked between a redraw and the next paint (previously a NullReferenceException on EQ Wizard reset and the Virtual DSP chain plot); this guard now covers every preview.
  • A correctly stored Tukey window pair loaded clamped (Frequency Response, Waterfall, Burst Decay), and the next Apply saved the wrong values. Fixed.
  • Impulse view band centres no longer get filtered by the sample rate the panel happened to open at, so a panel opened at one rate offers the bands a differently-rated measurement can realize.
  • Only your own edits apply now: code moving a field (an Auto gate snapping to a new measurement, a τ read-out settling, a forced relative scale) no longer applies and saves settings on its own.
  • Phase/Group Delay Auto τ no longer runs its DSP on the UI thread on every gate render, and a gate starting past the end of the IR no longer draws an inverted time axis in the preview.
  • The Tukey fade clamp is now reversible: widening the window gives the fades back.
  • The channel-selection dialog for an imported recording no longer measures channel 1 when you press OK without a click, or the wrong track after sorting the grid.
  • Virtual DSP FIR crossovers: junction windows now keep a linear-phase kernel's pre-ring, so junction scores, PHAT direct, and Auto delay read the correct alignment instead of being seconds off; the Junction crop reserves room for pre-rings longer than its budget.
  • Virtual DSP Sum loss no longer draws noise across the stop bands of FIR crossovers, where both kernels sit at their window's side-lobe floor.
  • Reset (Virtual DSP) no longer replaced the microphone calibration with an Off selection.
  • Applying Record Settings no longer drops the open measurement, and New session now closes it everywhere (Save, Send to REW, phase read-out, and Time Alignment) instead of only hiding the curves.
  • The signal generator now plays at the configured rate, bit depth, and channel rather than those of the last file loaded, and re-saving a loaded file keeps its audio-session diagnostics.
  • New session now wins over a run or import in progress and aborts a running sweep, and a load still reading when a run or import starts is dropped quietly instead of failing with an error or overwriting the import.
  • The delay tooltip no longer repeats the field's value across three wide lines that covered the plot; it now shows only the path-length conversion, stacked narrow.
  • In MMM, the pinned dB SPL and slope boxes now show the normal colour instead of the muted colour of the previous mode.

Full Changelog: v0.8.1...v0.8.2