Skip to content

Releases: DIMOSUS/Resonalyze

Resonalyze v0.8.7

Choose a tag to compare

@github-actions github-actions released this 11 Oct 15:39
25af9e4

Fixes

  • Fixed auto time alignment moving a subwoofer that sits under a mono channel, where the stereo branch and the mono co-move could disagree and leave the sub's arrival several milliseconds behind the midbasses. The stereo branch no longer acts at a junction whose lower channel is mono, bringing sub timing back in line with the midbasses.
  • Fixed auto delay locking a low stereo pair onto a strong but misplaced summation lobe in cabins with late, strong reflections, which could hold a driver nearly a full period late. The alignment now prefers the lobe that matches the cabin's geometry and sets aside stronger but distant optima (noted in the log), tightening woofer/mid junctions and left/right front timing.

Full Changelog: v0.8.6...v0.8.7

Resonalyze v0.8.6

Choose a tag to compare

@github-actions github-actions released this 08 Oct 18:09
303c0cf

New

  • Drag a file from Explorer onto a Virtual DSP block's Source..., MMM or FIR button to load it directly into that block, on the side where you drop it. Each button accepts only the file types its own dialog offers, and dropping the wrong kind of Resonalyze document points you to the right place instead of loading it.

Improvements

  • Toggle buttons now show their state by their frame and fill: a saturated blue, accent-framed look when on, and a faint frame when off. This makes Hybrid clear at a glance — the red reminder stays on the label only, so an off-but-ready Hybrid no longer looks lit. The change also applies to Sum, Lock, Inv, Mono, L+R, Raw, DSP, Bypass, and the Auto toggles in the Gate, Phase and Group Delay settings.

Fixes

  • Fixed Live Spectrum failing to start an ASIO driver with "Unable to instantiate ASIO. Check if STAThread is set" after the recent warm-up change.

Full Changelog: v0.8.5...v0.8.6

Resonalyze v0.8.5

Choose a tag to compare

@github-actions github-actions released this 06 Oct 12:39
7cb6a8e

New

  • Signal Generator noise synthesis moved off the UI thread. Long periodic pink-noise periods now prepare in the background, so the generator and live measurements no longer freeze while a period is built.
  • EQ Wizard: Ctrl+drag to set a band's Q, and drag the From/To lines to move the fit window. Ctrl + left-drag on a band handle narrows or widens its Q (frequency and gain stay put); the dashed From and To lines are now draggable handles in every view, with a live readout and a left-right cursor. Both changes land as a single undo step — handy for tuning on a laptop touchpad with no scroll wheel.
  • Virtual DSP Capture to overlay now asks which curve and which slot. A new dialog lets you capture any curve the plot draws — a block's processed response, either side's Sum, L+R (Vector, Energy or Blend), or a Groups zone — into any overlay slot, replacing an earlier capture when none are free. Each capture gets its own colour, is stored exactly as drawn, and is now tagged so the EQ Wizard will accept it.
  • L+R gains a Blend mode and mono blocks play at the correct per-side level. The L+R curve is now Sum L ± Sum R with three modes — Vector, Energy and Blend (Vector below a hand-over frequency, Energy above, with a configurable crossover). A mono block measured from both inputs now plays at half amplitude (−6 dB) on each side, matching the car, via a new L+R toggle on the block's card.

Improvements

  • Impulse Response overlay field now scales in percent instead of offsetting. Each Impulse Response overlay slot's numeric field is now an amplitude scale (default 100 %, 50 % = −6 dB on the dB scale); every other view keeps the vertical offset.
  • Virtual DSP channel cards are now toggle buttons with evenly spaced rows and room for the new L+R toggle; Invert/Processed become Inv/DSP, and the PEQ row's source moved to its tooltip.
  • Auto crossover accepts a junction window typed past a driver's measured band. You can now set a From/To outside what the wizard resolved — a handover the drivers cannot make shows in the sum instead of being refused. Bounds are ranked class < measured band < user < safety within one hard interval, crossed or one-sided bounds are handled gracefully, and notes name the value the search actually runs on. The dialog caption now reads "Limit any junction…".
  • Live Spectrum MMM mode pins its frame to about 1.4 s at any sample rate, so captures read the same bins across a rate family and the 1/12-octave bands stay whole down to about 25 Hz. The settings panel shows the pinned length while in MMM and restores your RTA length on leaving.
  • Auto delay places high and low junctions far more accurately. Crossovers at or above 1 kHz are now placed by their phase read-out rather than the summation, and the far side can be offered a whole-period shift at a low bass/mid junction. A high junction is also seeded from the direct-sound cut where the whole record names a different lobe. Across the archive, agreement with hand tunes at the top junction rose substantially and direct-sound coherence improved markedly.
  • Auto delay times a low stereo pair on its own sum and now reads a junction across a wide gap on gentle slopes where the filter slopes cross, so a mid/tweeter split absent from the correlation list aligns correctly.

Fixes

  • "Pink noise (periodic)" plays again at its default length. At 44.1 and 48 kHz the default 10 s periodic signal failed with an out-of-bounds error; it now repeats the period seamlessly to the requested length.
  • Profile import corrections: generic CSV now picks its separator per file (so semicolon/decimal-comma locales import correctly) and skips blank or junk cells instead of shifting columns; Equalizer APO / REW BW Oct bandwidths are converted to Q at the processor's rate instead of being dropped; and formats without a preamp now note when the replaced preamp was not 0.
  • Virtual DSP: L+R now draws correctly when only one side has blocks; loading a session during an AI import stops it cleanly instead of committing to the new session; and the gate-placement verdict no longer goes stale in an empty group view.
  • EQ Wizard: returning or going Back to Virtual DSP during Auto Tune no longer drops the fit in flight.
  • Plots: history and New session now refit the impulse axes when the unit, scale or origin change; the group-delay axis widens to reach late arrivals and FIR latency past 30 ms; the History preview lifts its dB ceiling so padded-loopback entries draw; group delay is blanked outside the measured band; Compare under Own now uses the Compare measurement's own calibration; and window previews no longer show the direct sound twice on short records.
  • History, saving and exit: saves now file the entry they started on; a replaced Compare load reports its error instead of failing quietly; history and settings writes are best-effort and retried on exit; atomic writes flush to disk before rename; and queued callbacks no longer throw at app exit.
  • Audio: Record and Live now wait for a Record Settings warm-up (fixing an ASIO race on quick Apply→Start); WASAPI Shared now refuses a mix rate below 44.1 kHz rather than producing unsaveable measurements; and the WASAPI loops recover when a render endpoint is removed instead of waiting forever.
  • Single-instance startup no longer crashes when the guard mutex belongs to another Windows user or an elevated instance.

Full Changelog: v0.8.4...v0.8.5

Resonalyze v0.8.4

Choose a tag to compare

@github-actions github-actions released this 03 Oct 17:58
08afbb2

New

  • L+R sum curve in Virtual DSP. A new selector under the plot draws both sides as a single curve on the Magnitude view, either as a Vector sum (what a fixed microphone hears from one signal through both sides) or as an Energy sum (power addition of each side). The choice is saved with your project.
  • Headroom indicators for Virtual DSP and the EQ Wizard. Each DSP chain is now filled in red wherever its gain would clip a full-scale signal, and the Virtual DSP read-out column opens with a per-block Headroom table (L/R, with marks for mono, bypassed and unmeasured outputs). In the EQ Wizard, Headroom reflects the full chain the bank runs in, and the bank's own highest gain is now shown separately as EQ boost.
  • Junction phase read-out as a curve. Virtual DSP's correlation view adds a swept phase curve that peaks at the best alignment and troughs where a polarity flip is recommended, plus PHAT, phase and score check boxes to show or hide each group of curves. The visible state is saved with the session.
  • Hardware-accelerated graphs. The main analyzer plot now renders on the GPU through Skia, cutting frame times dramatically when panning many curves (measured ~7× faster on a large plot with eleven curves). A new "Hardware-accelerated graphs" setting is on by default, with automatic GDI+ fallback for drivers or environments that cannot support it.

Improvements

  • Virtual DSP save dialogs remember your file. Save session... and Export... now open on the current session's own name and folder instead of a fixed default, so saving a tuned project no longer means retyping its name and finding its folder again.
  • Impulse overlays keep the whole record at full resolution. Overlays now store every sample compactly instead of a thinned trace, so you can zoom to sample level anywhere — pre-ringing and late reflections included. Slot files are far smaller (tens of MB down to ~15 MB) and redraw faster. Older files load as before and stay coarse until retaken.
  • The Impulse Response view shows the record's second half before time zero. Pre-ringing and anything leading the loopback reference now appears at negative time instead of wrapping to the end, so a record whose strongest sample wrapped no longer looks seconds late. The peak, arrival marker and origin read-outs follow the signed timeline.
  • On-graph zoom buttons zoom about the middle of the view. The +/- buttons now keep the centre of the visible range in place instead of sliding the view towards an axis end, so the Impulse arrival and the frequency plots stay put. Keyboard and wheel zoom still centre on the pointer.
  • Capture to overlay saves the hybrid Sum while Hybrid is on, matching the curve the plot draws.
  • Harmonic distortion curves show more detail. HD2..HDn, THD and noise are now smoothed at the same resolution as the fundamental they are read against, instead of being noticeably over-smoothed.
  • Lighter Virtual DSP column tooltip. The read-out column's tooltip is trimmed to what the column itself does not already show, with a short legend per block; fuller explanations live in REFERENCE.

Fixes

  • PDF tuning sheets export a PEQ bank containing an all-pass band instead of failing with an index error. Affected both the Virtual DSP and EQ Wizard sheets.
  • Record Settings no longer rewrites the channel route when applying on ASIO, which could collapse a WASAPI mic/loopback route to 0/0. A saved route with mic and loopback on one channel now opens cleanly instead of throwing on launch.
  • The hybrid Sum adds only the summing channels under Front + Center and Everything, matching the measured Sum, loss curve and opposite side.
  • Undo no longer restores FIR kernels or phase rotations the current processor cannot run.
  • The EQ Wizard handoff reads the spatial average even mid-redraw, instead of sending a single-point curve and refusing every later Return.
  • Auto delay locks the rear-fill field while a run reads it, so a mid-run edit is no longer silently discarded.
  • A new source pick no longer silently reverts to a replaced measurement after a later re-resolve.
  • Channels without a capture are no longer smoothed twice in an array set.
  • The junction phase read-out refuses a corner the processor cannot realize, not only one past the record's Nyquist.
  • The direct-sound cut shrinks its fade-in when the front is nearer sample 0 than one fade, instead of jumping abruptly.
  • The Auto delay log's gain-balance lines use invariant formatting, so decimal-comma locales no longer mix separators.
  • A quarantined overlay no longer overwrites an earlier .corrupt file; subsequent ones are numbered.

Full Changelog: v0.8.3...v0.8.4

Resonalyze v0.8.3

Choose a tag to compare

@github-actions github-actions released this 26 Sep 18:26

v0.8.3 is mainly a stabilization release. Most of the work since v0.8.2 went into three rounds of bug auditing across the DSP engine, audio drivers, alignment, live analysis, Virtual DSP and the EQ Wizard, into making plots and analysis faster without changing their results, and into checking the manual against the code. There are also a few new features, listed further down.

Fixes

Audio and measurement

  • ASIO devices that refuse one sample rate no longer fail their whole probe. A device such as the E-MU 0404 USB, which tops out at 192 kHz, could not be used over ASIO at all. Each rate is now probed on its own: an unsupported rate is left out, and the channels and remaining rates are kept. Confirmed on the reported device. The ASIO status line also shows its full text in a tooltip, so a long driver error is no longer cut off.
  • A capture backlog between averaged sweep runs no longer fails every later run. An overflow while a capture is paused is dropped; any other failure still ends the session.
  • The sweep's noise-floor trace shows the noise's actual level, not up to 1.6 dB above it.
  • WASAPI, ASIO and MME input and output handling fixed in several places.

Time alignment

  • Auto delay, the crossover wizard, the junction tuner and the delay probe now agree. The arrival prior only ranks candidates and no longer moves them, so each result sits at its own optimum. A retry completes a lobe the analysis window had cut off. The post-checks consider only the polarity relation Auto delay actually applies, so the tools predict what Auto delay will reach.

Analysis views

  • Waterfall and Burst Decay start at the start of the response, so their first slice matches the Frequency Response curve in the bass. Burst Decay on a heavy window drops from 1.6 s / 346 MB to 0.2 s / 49 MB.
  • Opening a history entry restores exactly its overlays and analysis tab (Waterfall and Burst Decay included), and New session clears every slot.
  • The docked settings panel no longer closes when you click the tab it is already open on.

EQ Wizard and Virtual DSP

  • Auto Tune results are no longer lost when you select a band, toggle a view (Bypass, Phase, EQ curve, Crossover in target) or return to the tab. A round trip to the EQ Wizard without an edit leaves the channel's PEQ exactly as it was.
  • A Virtual DSP edit changes only the field you touched. A corner of 83.7 Hz or a gain of −1.25 dB from a session or an AI reply is no longer rounded by an unrelated edit.

Live

  • Restarting an average suspends peak hold. A stopped reading keeps the values it ended with and is never restarted with the wrong coherence floor. It is discarded when Record Settings changes its input or route, so a capture is no longer filed under the wrong session.

Engine and formats

  • PEQ import (EasyEffects, CamillaDSP, Equalizer APO, miniDSP, decimal commas), Bessel/bell/shelf filter stability, harmonic-distortion trace limits and phase axes at high sample rates.

Performance

  • The analysis plot builds its curves off the UI thread, cancels builds that are no longer needed and skips ones that would change nothing, so the window stays responsive while you switch modes, measure and edit settings.
  • Repeated work is cached, with results unchanged to the bit: FIR responses, junction correlation and coherence, sweep deconvolution, the waterfall, phase smoothing and the Impulse view's envelope and SNR. The crossover wizard's ranked search on a 4-way goes from about 27 s to 17 s, and its plain proposal takes about half as long.
  • Live redraws do less work per frame. An array sweep saves about 0.8 s and 187 MiB on a four-run measurement.

New

  • A spatial average measured elsewhere can drive a Virtual DSP channel. The MMM slot takes a text frequency response: REW's Export measurement as text (with or without phase, on any frequency grid) or any plain frequency/level table. The average can come from a REW moving-mic pass, a REW Pro array, a SMAART import or a manual average of positions. The channel's timing still comes from a Resonalyze loopback measurement. When you attach the file, a dialog asks about its microphone calibration and any protective high-pass. The file is re-read each time the project opens.
  • Undo in Auto crossover, Auto delay and the side-copy dialogs. Undo last Apply and Undo last copy put every channel back as it was, like Tune junction's button already did.
  • The main window reopens at the size and place you closed it, maximized if it was, fitted to the monitors connected now.
  • The sweep can start as low as 2 Hz for a band you set, which moves a subwoofer's pre-ringing out of the measured band. A fresh install still starts at 20 Hz.
  • Car target presets (Car, Car mild, Car bass) lift the bass shelf from 150 Hz instead of 100 Hz, flat from 630 Hz.

The manual and reference were checked against the code and corrected, and their figures re-taken from the current build.

Upgrading from v0.8.2

  • A target saved with an old Car preset keeps its numbers (the 100 Hz corner) and now shows as Custom. Choose the preset again to get the new shelf.
  • A Virtual DSP session saved by this version cannot be opened by v0.8.2. If you go back, keep a copy of your session first.
  • A session with a channel gain outside −60…+20 dB or a delay outside 0…100 ms is not loaded. The program never writes such values itself; this only affects hand-edited files.

Resonalyze v0.8.2

Choose a tag to compare

@github-actions github-actions released this 24 Sep 08:48

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

Resonalyze v0.8.1

Choose a tag to compare

@github-actions github-actions released this 17 Sep 18:59
2c237cc

New

  • Import measurements directly from a running REW. A new Import button beside Export lists the measurements REW currently holds and brings the chosen one across its API onto this session's time base, level and sweep geometry — REW's loopback timing offset and sweep level are read and taken out, the excitation level is removed automatically, and the sweep rate is estimated from the harmonics so the distortion view has proper geometry. The picker validates before it closes and explains any refusal with the list still open. The text (.txt) import gains the same handling, including normalised REW exports.
  • Light theme. Choose between light and dark from the new gear button in the title bar; switching offers a restart. Every colour in the app now comes from a single palette that both themes answer, and the twelve overlay slots get proper designed colours per theme.

Improvements

  • Live Spectrum periodic pink noise now uses low-crest phases (2.4–2.6 dB instead of ~13 dB at 48 kHz) with a genuinely noise-like period, so a walking microphone no longer hears an audible per-frame sweep and each frequency is spread across the frame. It keeps exact 1/√f magnitudes, plays band-limited from 10 Hz to 28.3 kHz, and plays at −12 dBFS so mic peaks match the cabin.
  • Live Spectrum now counts frames whose microphone reached full scale, showing them amber in the MMM read-out and storing the count in the capture recipe, and debiases live coherence against the accumulator's own weighting floor.
  • Auto crossover wizard now sums channels coherently (complex, with phase and polarity) so it can see nulls, bumps and split corners, and states the polarity each junction needs. Each junction gets its own frequency and slope window, so narrowing one handover no longer disturbs others, and any bound the user's numbers lose to now prints its reason instead of clamping silently. Two drivers sharing a band now split it properly, and junctions can hold corners apart or overlap them when that sums flatter.
  • Auto crossover wizard no longer blocks: the dialog opens far faster (about 30 ms instead of ~1.2 s), driver responses load lazily, and the fit runs off the UI thread behind a debounce with a progress bar. Its 96 kHz junction tuning is several times faster with unchanged picks. Crossover range is renamed System band limit and its tooltips read as proper sentences.
  • Auto delay now scores the real physical sum the panel reads at every pass, states the polarity each junction needs, and lets the far-side polish and the mono-sub co-move alternate so a sub can follow a far side the polish just moved. Junction handling is more robust across measured cases, closing several hand-tuned splits that were previously off.
  • Virtual DSP Impulse view now wraps each processed channel in its ± analytic (Hilbert) envelope — a thin faint line in the channel's colour — read over the whole processed record so it stays smooth at the window edge. Traces are normalized to the envelope's peak, so band-limited arrivals no longer run off the axis. The Step view and gate preview are unchanged.

Fixes

  • REW connections to localhost no longer stall for two seconds and miss a running REW; Import and Export now connect to 127.0.0.1 directly.
  • A magnitude-only REW measurement now reports "does not have an impulse response" instead of a generic failure, and imported bands are clamped to Nyquist so out-of-band content is not pulled in.

Full Changelog: v0.8.0...v0.8.1

Resonalyze v0.8.0

Choose a tag to compare

@github-actions github-actions released this 13 Sep 15:01
805538f

New

  • FIR filters in Virtual DSP. Enable the new FIR filters option in the DSP processor dialog to add a FIR stage to every channel. Import kernels from WAV, .fir or .txt files, export them as 32-bit float WAV or text at the processor's rate, or clear them. Each button shows the kernel's tap count and peak time, warning in amber when the file's sample rate differs from the processor's. Kernels are stored inside the session, so projects travel as a single file with nothing to relink.
  • FIR Constructor (Tools → FIR Constructor). A new mode for designing linear-phase crossover kernels — low pass, high pass or band pass — using either an IIR magnitude method (matching Linkwitz-Riley, Butterworth or Bessel slopes) or windowed sinc, with a choice of windows and up to 16383 taps. Live magnitude, phase and impulse-response plots show the target, latency and worst deviation, and designs can be imported, exported (WAV float32 or text) or handed to and from a Virtual DSP channel.

Improvements

  • Auto delay now measures linear-phase (symmetric) FIR kernels correctly instead of misreading their pre-ringing, eliminating errors of up to 48 ms at low-frequency crossovers. Worst-case error across a wide range of tap counts and offsets is now well under half a millisecond.
  • A designed crossover kernel now drives junction ordering, Auto delay overlap bands, crossover checks, the EQ Wizard Auto Tune passband and the crossover wizards wherever the IIR crossover is off, with its corners rescaled if the processor runs at a different rate than the design.
  • The FIR block button is labelled by its crossover corners (e.g. HP 80 Hz) and turns red with an explanatory tooltip when a designed kernel's rate or context is inconsistent; an empty button reads Add….
  • Standalone FIR Constructor work is preserved through a handoff and restored when the session ends, and rebuilds now run in the background so only the latest edit is applied.
  • FIR latency read-outs report the figure at the processor's rate, with the design's own figure shown alongside in the tooltip.
  • FIR filters and designs are carried through tuning sheets, side copy, undo, probe clone, lock, fingerprint and the Agent Bridge.

Fixes

  • Clearing an imported FIR no longer clears the opposite side's crossover.
  • Session validation now checks FIR family and slope settings only for the design methods that use them.
  • Channel block height is measured from the last visible row, fixing a layout drift at 150% scaling.

Full Changelog: v0.7.9...v0.8.0

Resonalyze v0.7.9

Choose a tag to compare

@github-actions github-actions released this 10 Sep 09:37
23f2e70

New

  • Virtual DSP Step view. A fifth View radio draws each channel's step response and the Sum's on one common scale around the phase gate — a quick way to check polarity and compare transient fronts. The opposite side's Sum rides along dashed and translucent so the two sides compare without flipping the L/R selector.
  • Group Delay through the frequency-dependent window. Group Delay mode gains a Window: Fixed / FDW choice with an FDW cycles control (fresh installs start on FDW at 6 cycles), reading the group delay through the frequency-dependent window to cut the seat-to-seat scatter a fixed gate leaves in. A matching fourth Virtual DSP Group delay View radio draws each processed channel's group delay and the Sum's, on an auto-fitting millisecond axis that zooms and pans freely.
  • Virtual DSP side Lock. A Lock beside the side radios keeps the two sides' crossovers and polarity in step: while it's on, a crossover or polarity change made on the shown side is mirrored to the other side of the same pair, so a symmetric tune needs no L→R after every corner. On by default; untick it to tune one side alone.

Improvements

  • Arrival block times low pairs by energy onsets. The L / R / Δ arrival block now times pairs centred below 300 Hz by their energy onsets (when both sides clear 30 dB of SNR), matching the engine's cross-side link, so a modal build-up no longer throws the reading off. A pair sent back to first peaks by low SNR says so in the tooltip and package.
  • Group delay in the AI bridge. The excessGroupDelay diagnostic and probe now read the project's window mode and cycles as well as its gate, and each diagnostic document is stamped with the window it was read through so it can be interpreted on its own.
  • Tidier tooltips. Every tooltip now states what its control does in at most four lines, with the deeper reasoning moved to the reference documentation.

Owner note: several figures need the screenshot tool re-run — the Group Delay panel (two rows above the gate now), the Virtual DSP panel (Lock added; four View radios with the smoothing and group selectors moved right).

Full Changelog: v0.7.8...v0.7.9

Resonalyze v0.7.8

Choose a tag to compare

@github-actions github-actions released this 06 Sep 09:09
d109987

Improvements

  • Virtual DSP Sum loss now offers a window selector — FDW‑8 (default), Full, or Disable — so you can read the direct sound's loss separately from the steady-state read. The direct read cuts seat-to-seat group-delay scatter, while Full remains the reference for Auto delay and tuning; the two are labelled and read against each other rather than compared. The Curves row is reorganized into cards for the Sum loss selector and target controls.
  • Auto delay The energy onset is now admitted from 30 dB of SNR instead of 40 dB, so a noisier record keeps the correct onset instead of falling back to the wrong first-arrival lobe.
  • Compare Dropping a .json impulse response onto the Compare button now loads it as the Compare reference instead of replacing the current measurement; other document types are refused there with a pointer to where they belong (captures to Live Spectrum, sessions to Virtual DSP).
  • The AI package now carries the Sum loss in both windows, thins its curves down a density ladder before dropping any series when over the size target, and adds a new series probe to read any series back at full detail. The agent guide and protocol were audited and corrected throughout.

Fixes

  • Virtual DSP Sessions that had the Sum loss curve turned on now keep opening on the Full read, so the number you chose to watch keeps its meaning after upgrading.
  • The AI package's Sum loss rows are now computed over the correct summing set, fixing rows that named junctions the sum never had (e.g. Front + Center).

Full Changelog: v0.7.7...v0.7.8