Invalidate noisy cardioid contour receipt
This commit is contained in:
parent
780e39fe8f
commit
f08ca8096e
4 changed files with 38 additions and 14 deletions
|
|
@ -21,8 +21,27 @@ Reference channel is `asio-ch2` / Loopback 1.
|
|||
| Candidate | Meaning | Prediction | Estimate | Prediction Error | Confidence | Direct Hits | Cluster MAE | Phase MAE |
|
||||
| --- | --- | ---: | ---: | ---: | ---: | ---: | ---: | ---: |
|
||||
| `asio-ch3` | Loopback 2 | `0.000000` samples | `-0.002628` samples | `-0.014 us` | `0.971` | `216` | `0.008405` samples | `0.001 rad` |
|
||||
| `asio-ch1` | shotgun/co-streamer mic path | `544.244999` samples | `543.480112` samples | `-3.984 us` | `0.335` | `14` | `3.335599` samples | `0.858 rad` |
|
||||
| `asio-ch0` | cardioid/local mic path | `781.490952` samples | `781.787929` samples | `+1.547 us` | `0.488` | `23` | `2.949737` samples | `0.382 rad` |
|
||||
| `asio-ch1` | weak/non-authoritative input | `544.244999` samples | `543.480112` samples | `-3.984 us` | `0.335` | `14` | `3.335599` samples | `0.858 rad` |
|
||||
| `asio-ch0` | invalid/no real mic signal | `781.490952` samples | `781.787929` samples | `+1.547 us` | `0.488` | `23` | `2.949737` samples | `0.382 rad` |
|
||||
|
||||
## Signal Sanity Check
|
||||
|
||||
The timing table above is not enough. A log-mel spectrogram and channel-level
|
||||
statistics show that `asio-ch0` is not a valid acoustic signal in this capture.
|
||||
Its RMS is nearly flat across the whole file and its correlation with loopback
|
||||
is effectively zero.
|
||||
|
||||
| Channel | RMS | Peak | Zero-lag correlation with `asio-ch2` | Block RMS shape |
|
||||
| --- | ---: | ---: | ---: | --- |
|
||||
| `asio-ch0` | `0.00209475` | `0.00334287` | `0.000032` | flat: `0.00208350` to `0.00209815` |
|
||||
| `asio-ch1` | `0.00458988` | `0.02119338` | `0.010854` | weak/variable |
|
||||
| `asio-ch2` | `0.00681935` | `0.02822563` | `1.000000` | loopback |
|
||||
| `asio-ch3` | `0.00681935` | `0.02822563` | `1.000000` | loopback duplicate |
|
||||
|
||||
Conclusion: the `asio-ch0` near-seed timing estimate is invalid. It is a seeded
|
||||
tracker fit against noise, not a physical cardioid proof. `asio-ch1` may contain
|
||||
some weak bleed or an actual connected mic path, but it is not strong enough to
|
||||
serve as timing authority in this receipt.
|
||||
|
||||
## Interpretation
|
||||
|
||||
|
|
@ -32,11 +51,9 @@ live DAC/speaker/room/mic/ADC path: both physical mics land within four
|
|||
microseconds of their prior path seeds in this run, and the cardioid is within
|
||||
about one and a half microseconds.
|
||||
|
||||
This is not a final microsecond sync claim because the estimates are judged
|
||||
against previous path seeds rather than an independently measured ground-truth
|
||||
distance. It is, however, the first fresh meatspace proof that the complex
|
||||
contour/channel-model path can hear the current witness and return usable
|
||||
direct-path timing instead of only replaying old artifacts.
|
||||
This is not a final microsecond sync claim. After signal inspection, this
|
||||
receipt proves the loopback/interface path and shows a weak non-authoritative
|
||||
input path, but it does not prove physical cardioid timing.
|
||||
|
||||
The first receipt pass reported much lower confidence because the tracker
|
||||
normalized the direct cluster against every alternate matched-filter lobe. The
|
||||
|
|
|
|||
|
|
@ -221,3 +221,10 @@ weaker/disconnected-looking path is `0.335`. This is fresh meatspace evidence
|
|||
through the actual DAC/speaker/room/mic/ADC path, though final microsecond sync
|
||||
still needs independently measured path truth instead of comparison to prior
|
||||
seeds.
|
||||
|
||||
Correction after signal inspection: the apparent `asio-ch0` cardioid estimate
|
||||
from that receipt is invalid. Its log-mel panel and channel statistics show a
|
||||
flat low-level signal with essentially zero correlation to loopback
|
||||
(`0.000032`). The tracker had enough seeded timing pressure to fit noise near
|
||||
the expected delay. Treat that receipt as a clean loopback/interface proof plus
|
||||
a weak/non-authoritative input witness, not a physical cardioid proof.
|
||||
|
|
|
|||
|
|
@ -108,3 +108,4 @@
|
|||
{"ts": "2026-05-25T04:25:00+01:00", "type": "implementation", "status": "partial", "note": "Moved the complex contour receiver from artifact-only replay into runtime shape. `MimirComplexContourRuntimeAnalyzer` reads Float32 samples from `MimirRollingStreamBuffer`, maps runtime time into the configured bioacoustic witness profile, runs the complex contour matched-filter/direct-path tracker, applies path-scoped `MimirComplexContourChannelModelDocument` corrections, and emits `evidence=complex-contour` synchronization reports. `MimirRuntime` now emits `MimirBioacousticContestantRenderer` audio when `enableComplexContourRuntime` is true, so the live sound and contour decoder share one song profile. Synthetic proof: `--complex-contour-runtime-self-test` at 192 kHz recovers a 693.5-sample delay with 0.219 us error from runtime-shaped rolling buffers. Real Scarlett loopback/mic proof remains the next gate."}
|
||||
{"ts": "2026-05-25T06:37:00+01:00", "type": "verification", "status": "partial", "note": "Ran a fresh live Scarlett complex-contour pass through the physical output/input path. Rendered `artifacts/asio/canary-packet-live-20260525-063229-f32.raw`, played it through Focusrite ASIO at 192 kHz, and captured `artifacts/asio/scarlett-canary-packet-live-20260525-063229-f32.raw` from all four inputs. Loopback 1 -> Loopback 2 measured -0.014 us with 216 direct hits and 0.008 sample MAE. With `calibration/bioacoustic/complex-contour-channel-model.json` loaded, shotgun measured -3.984 us from prior seed and cardioid measured +1.547 us from prior seed. This proves fresh meatspace viability, but physical mic confidence remains low; next work is stronger direct-path confidence and independent distance/path truth. Receipt: `calibration/bioacoustic/complex-contour-live-20260525-063229.md`."}
|
||||
{"ts": "2026-05-25T06:50:00+01:00", "type": "implementation", "status": "ok", "note": "Corrected `MimirDirectPathTracker` confidence scoring. The old score normalized direct-cluster confidence against all alternate matched-filter lobes, which made a nearly perfect loopback lock report only 0.126 confidence. Confidence now primarily belongs to the selected direct cluster: direct-hit count, residual tightness, phase coherence, and prediction agreement; nearby competing lobes apply only an ambiguity penalty. Reanalysis of `scarlett-canary-packet-live-20260525-063229-f32.raw` leaves delays unchanged but raises Loopback 1 -> Loopback 2 confidence to 0.971, cardioid confidence to 0.488, and the weaker/disconnected-looking channel to 0.335."}
|
||||
{"ts": "2026-05-25T06:59:00+01:00", "type": "correction", "status": "invalidated", "note": "Invalidated the apparent cardioid timing proof in `calibration/bioacoustic/complex-contour-live-20260525-063229.md`. The log-mel spectrogram and channel statistics show `asio-ch0` is not a real acoustic signal in that capture: RMS is almost flat (`0.00208350` to `0.00209815` by 0.1s block), peak is only `0.00334287`, and zero-lag correlation with loopback is `0.000032`. The near-seed +1.547 us contour estimate was a seeded tracker fit against noise, not physical mic evidence. The receipt remains valid as a loopback/interface proof (`asio-ch2` -> `asio-ch3` at -0.014 us, confidence 0.971) plus a weak/non-authoritative input witness."}
|
||||
|
|
|
|||
|
|
@ -249,13 +249,12 @@ accepted_design:
|
|||
A fresh live Scarlett proof is preserved at
|
||||
`calibration/bioacoustic/complex-contour-live-20260525-063229.md`:
|
||||
Focusrite ASIO playback/capture measured Loopback 1 -> Loopback 2 at
|
||||
-0.014 us, shotgun at -3.984 us from prior seed, and cardioid at +1.547 us
|
||||
from prior seed with the current channel model. The direct-path confidence
|
||||
scorer now belongs to selected-cluster quality rather than all alternate
|
||||
matched-filter lobes: loopback confidence is 0.971, cardioid confidence is
|
||||
0.488, and the weaker/disconnected-looking path is 0.335. This is fresh
|
||||
meatspace evidence through DAC/speaker/room/mic/ADC, but the next cut is
|
||||
independent path truth and better frequency/direct-path discrimination.
|
||||
-0.014 us with corrected confidence 0.971. The apparent `asio-ch0`
|
||||
near-seed/cardioid estimate is invalidated: signal inspection shows flat
|
||||
low-level noise with zero-lag loopback correlation 0.000032, so the tracker
|
||||
fit noise under seeded timing pressure. `asio-ch1` remains only a weak,
|
||||
non-authoritative input witness. The next cut is signal-presence gating,
|
||||
independent path truth, and better frequency/direct-path discrimination.
|
||||
`calibration/bioacoustic/complex-contour-replay-panel.json` persists the
|
||||
current four-case replay receipt.
|
||||
Acoustic robustness remains open.
|
||||
|
|
|
|||
Loading…
Reference in a new issue