Item 6 of #86 — the second cabin, in your format.
Where: https://github.com/ayukhno/autosound-measurements → cars/vw-passat-b8-sedan-lhd/2026-06-15_front-set-01/ (CC BY 4.0; the repository is laid out to be consumed as a submodule, like your test-data one).
What: VW Passat B8 sedan (LHD), Helix DSP Ultra S at 96 kHz, ECM8000 on a Scarlett 2i2 with a physical loopback — the rig your README describes. Eight channels of the front set (sw, w_L, w_R, m_L, m_R, tw_L, tw_R, c), each as ImpulseResponseFile v7:
ir-v7/ — the transfer IRs as REW measured them: sample 0 = the loopback reference, levels as fractions of full scale (so the channels' relative levels are the measured ones), nothing rounded in time (REW puts t = 0 at a fractional sample; the transfer IR was rotated by the exact fraction), REW's pre-roll wrapped to the tail as your H1 leaves it.
ir-v7-compensated/ — the same with the protective high-passes the mids/centre (100 Hz LR24) and tweeters (1 kHz LR24) had during the sweep removed by your ProtectiveHighPassCompensation.RemoveFromImpulseResponse (maxBoost 40, peak re-found as ApplyAverageResult does) and saved through your SaveAsync — open these for Virtual DSP / Auto delay / Auto crossover; sw/w_L/w_R are identical in both sets.
rta-mmm/ — the moving-mic RTA of each channel (dB SPL vs Hz), the level/voicing view the tune was made with.
dsp-state.json — two end points to score against: the attested v1 (2026-07-12) and the current SQ preset (2026-08-18), crossovers / delays / polarity / gains / PEQ / the two tweeter all-passes.
manifest.json + a rewSource block in every file (your reader ignores it): REW title/uuid/date, its own delay estimate, peak dBFS, the fractional shift, the HPF in force, the compensation record.
Checked before sending: every file was loaded through your ImpulseResponseFile.LoadAsync (compiled verbatim from d11186e, app types stubbed) and read back with Resonalyze.Dsp.TimeAlignmentAnalysis — on the mids and tweeters its first arrival lands on REW's own delay within 0.01 ms; woofer and sub reads are your estimator's opinion of an onset that leads the peak. Caveats are in the set's README (one sweep per channel, SNR 34–51 dB, mic cal not applied to the IRs, rears on another time base and omitted).
How it was made: autosound-tuning-skill/skills/autosound-tuning/rew_tool/resonalyze_ir.py — REW's API → your v7, validated with a port of your Validate(). Two REW facts it took, which will matter for the REW-import path (item 5, its own issue to follow): REW's impulse-response endpoint peak-normalises by default (?normalised=false gives the raw IR), and REW anchors its buffer on the mic-IR peak so t = 0 falls at a fractional index.
Nothing is required of you. If you do run Auto delay / Auto crossover on it, I would be glad to see what it proposes next to the two states in dsp-state.json — that is the comparison the whole exercise is for. The bell-Q measurement (item 2) and the REW-import spec (item 5) come next.
Item 6 of #86 — the second cabin, in your format.
Where: https://github.com/ayukhno/autosound-measurements →
cars/vw-passat-b8-sedan-lhd/2026-06-15_front-set-01/(CC BY 4.0; the repository is laid out to be consumed as a submodule, like your test-data one).What: VW Passat B8 sedan (LHD), Helix DSP Ultra S at 96 kHz, ECM8000 on a Scarlett 2i2 with a physical loopback — the rig your README describes. Eight channels of the front set (
sw,w_L,w_R,m_L,m_R,tw_L,tw_R,c), each asImpulseResponseFilev7:ir-v7/— the transfer IRs as REW measured them: sample 0 = the loopback reference, levels as fractions of full scale (so the channels' relative levels are the measured ones), nothing rounded in time (REW puts t = 0 at a fractional sample; the transfer IR was rotated by the exact fraction), REW's pre-roll wrapped to the tail as your H1 leaves it.ir-v7-compensated/— the same with the protective high-passes the mids/centre (100 Hz LR24) and tweeters (1 kHz LR24) had during the sweep removed by yourProtectiveHighPassCompensation.RemoveFromImpulseResponse(maxBoost 40, peak re-found asApplyAverageResultdoes) and saved through yourSaveAsync— open these for Virtual DSP / Auto delay / Auto crossover;sw/w_L/w_Rare identical in both sets.rta-mmm/— the moving-mic RTA of each channel (dB SPL vs Hz), the level/voicing view the tune was made with.dsp-state.json— two end points to score against: the attested v1 (2026-07-12) and the current SQ preset (2026-08-18), crossovers / delays / polarity / gains / PEQ / the two tweeter all-passes.manifest.json+ arewSourceblock in every file (your reader ignores it): REW title/uuid/date, its own delay estimate, peak dBFS, the fractional shift, the HPF in force, the compensation record.Checked before sending: every file was loaded through your
ImpulseResponseFile.LoadAsync(compiled verbatim from d11186e, app types stubbed) and read back withResonalyze.Dsp.TimeAlignmentAnalysis— on the mids and tweeters its first arrival lands on REW's own delay within 0.01 ms; woofer and sub reads are your estimator's opinion of an onset that leads the peak. Caveats are in the set's README (one sweep per channel, SNR 34–51 dB, mic cal not applied to the IRs, rears on another time base and omitted).How it was made:
autosound-tuning-skill/skills/autosound-tuning/rew_tool/resonalyze_ir.py— REW's API → your v7, validated with a port of yourValidate(). Two REW facts it took, which will matter for the REW-import path (item 5, its own issue to follow): REW's impulse-response endpoint peak-normalises by default (?normalised=falsegives the raw IR), and REW anchors its buffer on the mic-IR peak so t = 0 falls at a fractional index.Nothing is required of you. If you do run Auto delay / Auto crossover on it, I would be glad to see what it proposes next to the two states in
dsp-state.json— that is the comparison the whole exercise is for. The bell-Q measurement (item 2) and the REW-import spec (item 5) come next.