From fd12c338462f9359f12e01a7e246ee762d76aae7 Mon Sep 17 00:00:00 2001 From: Meta Vens Date: Mon, 25 May 2026 00:40:34 +0100 Subject: [PATCH] Record recursive phase-lock rejection --- notes/current-system-map.md | 5 +++++ state/evidence.jsonl | 1 + state/map.yaml | 7 ++++++- 3 files changed, 12 insertions(+), 1 deletion(-) diff --git a/notes/current-system-map.md b/notes/current-system-map.md index cfdab2e..a5a7732 100644 --- a/notes/current-system-map.md +++ b/notes/current-system-map.md @@ -234,6 +234,11 @@ keeps the shotgun around 5.916 us but worsens the cardioid to 18.930 us. The rejected razor timing-chip mutation made the mics worse and should not be revived without a better hypothesis. The remaining gap to one microsecond is phase/group-delay correction or a more survivable direct-path anchor family. +A naive recursive waveform phase-lock pass was also rejected: it improved one +cardioid receipt but worsened the shotgun and locked a fresh cardioid run onto +a later reflection lobe. Recursive refinement remains a good architecture only +after the path model can distinguish direct arrival, phase/group delay, and room +reflection energy. The first actuator proof now exists: `faust/mimir_alignment_actuator.dsp` owns six channels of bounded fractional delay/gain controls for Faust/native DSP, and `Mimir.BufferSmoke --bioacoustic-actuator-self-test --sample-rate 48000 diff --git a/state/evidence.jsonl b/state/evidence.jsonl index 5d77bb7..afc5864 100644 --- a/state/evidence.jsonl +++ b/state/evidence.jsonl @@ -98,3 +98,4 @@ {"ts": "2026-05-24T23:45:19+01:00", "type": "experiment", "status": "partial", "note": "Fresh 192 kHz canary-packet physical ASIO run after song-contour authority cut: persisted calibration/bioacoustic/scarlett-canary-packet-192k-contour-fresh.json. Decoder cleared the 10x realtime budget at about 10.0x over four channels. Loopback remains 37/37 payload=1.000 with 2.524 us MAE. Co-streamer shotgun improved to 37/37 payload=1.000 with 34.083 us MAE and 2.710 ms path delay relative to loopback. Cardioid improved to 31/37 payload=0.811 but still measures 92.996 us MAE and 4.636 ms path delay. Current physical ceiling is tens of microseconds on mics; true microsecond sync needs intra-call contour anchors instead of one offset per packet word."} {"ts": "2026-05-25T00:08:44+01:00", "type": "experiment", "status": "partial", "note": "Built the first anchor-rich canary packet: timing chips, formant pivots, harmonic-envelope notches, payload ornaments, renderer-level template caching, and per-event intra-call anchor measurements in the physical calibration receipt. Fresh 192 kHz ASIO receipt calibration/bioacoustic/scarlett-canary-packet-anchor-rich-192k.json clears 10x realtime and records hundreds of anchors per channel. Loopback improves to about 2.23 us MAE with anchor residuals under 0.3 samples. Physical mics did not improve yet: shotgun 36/37 payload=0.973 at 56.365 us MAE, cardioid 27/37 payload=0.730 at 101.522 us MAE. The new anchors expose path bias; the next cut should shape/weight anchors for acoustic survivability instead of trusting every formant feature equally."} {"ts": "2026-05-25T00:42:12+01:00", "type": "experiment", "status": "partial", "note": "Added path-level loopback truth to the anchor-rich calibration: matched mic anchors are compared directly against loopback anchors, then event-local waveform correlation against the captured loopback packet chooses the path delay. Release calibration clears the realtime budget at 21.1x on the stored anchor-rich capture. Best stored-result path precision improved to cardioid 7.576 us and shotgun 6.578 us. A fresh room capture at calibration/bioacoustic/scarlett-canary-packet-anchor-rich-latest-192k.json keeps shotgun near 5.916 us but worsens cardioid to 18.930 us. The razor timing-chip emitter mutation was rejected because it reduced physical reliability. Current floor is single-digit microseconds for the shotgun, not yet the one-microsecond target; next required cut is phase/group-delay correction or a direct-path anchor family that survives both mics."} +{"ts": "2026-05-25T01:05:00+01:00", "type": "experiment", "status": "rejected", "note": "Tested a recursive event-local waveform delay fitter: start from the current path hypothesis, resample candidate song windows against loopback, shrink the residual search radius, and weight events by phase-lock consistency. The naive time-domain version improved one stored cardioid path from 7.576 us to 5.141 us, but it also worsened the stored shotgun from 6.578 us to 10.236 us and locked the fresh cardioid onto a later reflection lobe at 65.666 us instead of the prior 18.930 us. Reverted the code and receipts. Lesson: recursive refinement is a valid shape only when constrained by a real phase/group-delay/path model; plain waveform resampling is not sufficient and nanosecond claims are physically dishonest in the current acoustic path."} diff --git a/state/map.yaml b/state/map.yaml index 256eead..37109a1 100644 --- a/state/map.yaml +++ b/state/map.yaml @@ -207,7 +207,12 @@ accepted_design: path precision to 7.576 us for the cardioid and 6.578 us for the shotgun. A fresh room capture keeps the shotgun near 5.916 us but worsens the cardioid to 18.930 us. The one-microsecond target remains open; next cut is - phase/group-delay correction or a better direct-path anchor family. + phase/group-delay correction or a better direct-path anchor family. A naive + recursive waveform phase-lock pass was tested and reverted because it could + improve one cardioid receipt while worsening the shotgun and locking a fresh + cardioid run onto a later reflection lobe. Recursion is only allowed back as + a constrained direct-path/group-delay model, not as unconstrained waveform + resampling with prettier decimals. Acoustic robustness remains open. The old arbitrary-chirplet matcher is a diagnostic/reference artifact only, not the runtime hot path.