Add bioacoustic clock and actuator proofs
This commit is contained in:
parent
d3392e1989
commit
189519c3d1
91 changed files with 2425 additions and 14 deletions
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
|
@ -0,0 +1,97 @@
|
|||
{
|
||||
"ResultId": "bioacoustic-20260524-150729:baseline-mfcc-index:blur-light",
|
||||
"RunId": "bioacoustic-20260524-150729",
|
||||
"StartedAtUtc": "2026-05-24T15:07:29.1407348\u002B00:00",
|
||||
"Toolchain": "Mimir.BufferSmoke --bioacoustic-train",
|
||||
"HypothesisId": "baseline-mfcc-index",
|
||||
"HypothesisNotes": "Current smoke baseline: four projection tables, 14-bit hashes, light degradation augmentation.",
|
||||
"DegradationName": "blur-light",
|
||||
"SampleRate": 48000,
|
||||
"Seconds": 0.75,
|
||||
"ExpectedEvents": 5,
|
||||
"ObservationCount": 4,
|
||||
"CorrectAnchors": 4,
|
||||
"Precision": 1,
|
||||
"Recall": 0.8,
|
||||
"Confidence": 0.9836788342508233,
|
||||
"TimingMeanAbsoluteErrorSamples": 960.0000000000009,
|
||||
"DecodeMilliseconds": 132.7467,
|
||||
"RealtimeFactor": 5.649857962570821,
|
||||
"IdentityScore": 0.9083678834250823,
|
||||
"TimingScore": 0.727585336048426,
|
||||
"SpeedScore": 0.11299715925141643,
|
||||
"TotalScore": 0.7167528800625509,
|
||||
"RoundTripMelBins": 48,
|
||||
"RoundTripCepstralCoefficients": 20,
|
||||
"RoundTripFrameCount": 67,
|
||||
"RoundTripRmsRatio": 0.0011363025982355157,
|
||||
"ClockHypothesis": {
|
||||
"AnchorCount": 2,
|
||||
"SourceOffsetSamples": -3.637978807091713E-12,
|
||||
"EffectiveSampleRate": 48000,
|
||||
"MeanAbsoluteErrorSamples": 5.462159233862034E-12,
|
||||
"Confidence": 0.727585336048426,
|
||||
"Score": 1.0275853360484146
|
||||
},
|
||||
"Decoder": {
|
||||
"FftSize": 1024,
|
||||
"HopSize": 256,
|
||||
"MelBins": 40,
|
||||
"CepstralCoefficients": 14,
|
||||
"TableCount": 4,
|
||||
"HashBits": 14,
|
||||
"NearHashRadius": 4,
|
||||
"DenseStepSeconds": 0.04,
|
||||
"ProposalBudgetMultiplier": 8,
|
||||
"TemplateAugmentations": [
|
||||
"template-clean",
|
||||
"template-blur",
|
||||
"template-warp-light",
|
||||
"template-warp-blur"
|
||||
]
|
||||
},
|
||||
"Artifacts": [
|
||||
{
|
||||
"Kind": "pre-warp-audio",
|
||||
"Uri": "baseline-mfcc-index/blur-light/pre-warp.wav",
|
||||
"ContentHash": "4862d46ea00c1d387387028f90147b98bd6e36fe594eefdcfa1b6360f7348f29"
|
||||
},
|
||||
{
|
||||
"Kind": "post-warp-audio",
|
||||
"Uri": "baseline-mfcc-index/blur-light/post-warp.wav",
|
||||
"ContentHash": "f36a51bdd08f1bd617e1109615168f334017f067fd94224422b9fe3d3d310e01"
|
||||
},
|
||||
{
|
||||
"Kind": "reconstructed-from-detections",
|
||||
"Uri": "baseline-mfcc-index/blur-light/reconstructed-from-detections.wav",
|
||||
"ContentHash": "fb0c97c66b719413fbeefd5f8fcbddb1d528393d106837167ddead9d811db4b3"
|
||||
},
|
||||
{
|
||||
"Kind": "summary-json",
|
||||
"Uri": "baseline-mfcc-index/blur-light/summary.json",
|
||||
"ContentHash": ""
|
||||
}
|
||||
],
|
||||
"Observations": [
|
||||
{
|
||||
"EventIndex": 0,
|
||||
"SampleOffset": 1920,
|
||||
"Confidence": 0.98428245173112
|
||||
},
|
||||
{
|
||||
"EventIndex": 1,
|
||||
"SampleOffset": 9600,
|
||||
"Confidence": 0.9745795247875152
|
||||
},
|
||||
{
|
||||
"EventIndex": 2,
|
||||
"SampleOffset": 19200,
|
||||
"Confidence": 0.9851073398265959
|
||||
},
|
||||
{
|
||||
"EventIndex": 3,
|
||||
"SampleOffset": 26880,
|
||||
"Confidence": 0.9907460206580619
|
||||
}
|
||||
]
|
||||
}
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
|
@ -0,0 +1,97 @@
|
|||
{
|
||||
"ResultId": "bioacoustic-20260524-150729:baseline-mfcc-index:clean-roundtrip",
|
||||
"RunId": "bioacoustic-20260524-150729",
|
||||
"StartedAtUtc": "2026-05-24T15:07:29.1407348\u002B00:00",
|
||||
"Toolchain": "Mimir.BufferSmoke --bioacoustic-train",
|
||||
"HypothesisId": "baseline-mfcc-index",
|
||||
"HypothesisNotes": "Current smoke baseline: four projection tables, 14-bit hashes, light degradation augmentation.",
|
||||
"DegradationName": "clean-roundtrip",
|
||||
"SampleRate": 48000,
|
||||
"Seconds": 0.75,
|
||||
"ExpectedEvents": 5,
|
||||
"ObservationCount": 4,
|
||||
"CorrectAnchors": 4,
|
||||
"Precision": 1,
|
||||
"Recall": 0.8,
|
||||
"Confidence": 0.9748347918229967,
|
||||
"TimingMeanAbsoluteErrorSamples": 9.094947017729282E-13,
|
||||
"DecodeMilliseconds": 132.1422,
|
||||
"RealtimeFactor": 5.675703900797777,
|
||||
"IdentityScore": 0.9074834791822998,
|
||||
"TimingScore": 0.9049669583645835,
|
||||
"SpeedScore": 0.11351407801595555,
|
||||
"TotalScore": 0.748236625201842,
|
||||
"RoundTripMelBins": 48,
|
||||
"RoundTripCepstralCoefficients": 20,
|
||||
"RoundTripFrameCount": 67,
|
||||
"RoundTripRmsRatio": 0.014436986876321297,
|
||||
"ClockHypothesis": {
|
||||
"AnchorCount": 4,
|
||||
"SourceOffsetSamples": 3.637978807091713E-12,
|
||||
"EffectiveSampleRate": 47999.99999999999,
|
||||
"MeanAbsoluteErrorSamples": 2.1582792898597273E-12,
|
||||
"Confidence": 0.9049669583645835,
|
||||
"Score": 1.504966958364579
|
||||
},
|
||||
"Decoder": {
|
||||
"FftSize": 1024,
|
||||
"HopSize": 256,
|
||||
"MelBins": 40,
|
||||
"CepstralCoefficients": 14,
|
||||
"TableCount": 4,
|
||||
"HashBits": 14,
|
||||
"NearHashRadius": 4,
|
||||
"DenseStepSeconds": 0.04,
|
||||
"ProposalBudgetMultiplier": 8,
|
||||
"TemplateAugmentations": [
|
||||
"template-clean",
|
||||
"template-blur",
|
||||
"template-warp-light",
|
||||
"template-warp-blur"
|
||||
]
|
||||
},
|
||||
"Artifacts": [
|
||||
{
|
||||
"Kind": "pre-warp-audio",
|
||||
"Uri": "baseline-mfcc-index/clean-roundtrip/pre-warp.wav",
|
||||
"ContentHash": "4862d46ea00c1d387387028f90147b98bd6e36fe594eefdcfa1b6360f7348f29"
|
||||
},
|
||||
{
|
||||
"Kind": "post-warp-audio",
|
||||
"Uri": "baseline-mfcc-index/clean-roundtrip/post-warp.wav",
|
||||
"ContentHash": "3b9ca18e7ae4841d0673baa1b6468fc1f37bb1f7f309a3b6e3ce4356f1ba3612"
|
||||
},
|
||||
{
|
||||
"Kind": "reconstructed-from-detections",
|
||||
"Uri": "baseline-mfcc-index/clean-roundtrip/reconstructed-from-detections.wav",
|
||||
"ContentHash": "d9ba73e1ec3cc5004b4396b655cc92891cd9afa9a4580c89555acbecb9c022ee"
|
||||
},
|
||||
{
|
||||
"Kind": "summary-json",
|
||||
"Uri": "baseline-mfcc-index/clean-roundtrip/summary.json",
|
||||
"ContentHash": ""
|
||||
}
|
||||
],
|
||||
"Observations": [
|
||||
{
|
||||
"EventIndex": 0,
|
||||
"SampleOffset": 3840,
|
||||
"Confidence": 0.970562952519866
|
||||
},
|
||||
{
|
||||
"EventIndex": 1,
|
||||
"SampleOffset": 11520,
|
||||
"Confidence": 0.9765021294619582
|
||||
},
|
||||
{
|
||||
"EventIndex": 2,
|
||||
"SampleOffset": 19200,
|
||||
"Confidence": 0.9764329354758533
|
||||
},
|
||||
{
|
||||
"EventIndex": 3,
|
||||
"SampleOffset": 26880,
|
||||
"Confidence": 0.9758411498343091
|
||||
}
|
||||
]
|
||||
}
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
|
@ -0,0 +1,92 @@
|
|||
{
|
||||
"ResultId": "bioacoustic-20260524-150729:baseline-mfcc-index:warp-heavy-blur",
|
||||
"RunId": "bioacoustic-20260524-150729",
|
||||
"StartedAtUtc": "2026-05-24T15:07:29.1407348\u002B00:00",
|
||||
"Toolchain": "Mimir.BufferSmoke --bioacoustic-train",
|
||||
"HypothesisId": "baseline-mfcc-index",
|
||||
"HypothesisNotes": "Current smoke baseline: four projection tables, 14-bit hashes, light degradation augmentation.",
|
||||
"DegradationName": "warp-heavy-blur",
|
||||
"SampleRate": 48000,
|
||||
"Seconds": 0.75,
|
||||
"ExpectedEvents": 5,
|
||||
"ObservationCount": 3,
|
||||
"CorrectAnchors": 3,
|
||||
"Precision": 1,
|
||||
"Recall": 0.6,
|
||||
"Confidence": 0.9523460368723567,
|
||||
"TimingMeanAbsoluteErrorSamples": 1919.9999999999989,
|
||||
"DecodeMilliseconds": 124.2868,
|
||||
"RealtimeFactor": 6.034430044059385,
|
||||
"IdentityScore": 0.8152346036872357,
|
||||
"TimingScore": 0.19483163982978208,
|
||||
"SpeedScore": 0.1206886008811877,
|
||||
"TotalScore": 0.5646528696316844,
|
||||
"RoundTripMelBins": 48,
|
||||
"RoundTripCepstralCoefficients": 20,
|
||||
"RoundTripFrameCount": 67,
|
||||
"RoundTripRmsRatio": 0.0004699618910325598,
|
||||
"ClockHypothesis": {
|
||||
"AnchorCount": 1,
|
||||
"SourceOffsetSamples": 0,
|
||||
"EffectiveSampleRate": 48000,
|
||||
"MeanAbsoluteErrorSamples": 0,
|
||||
"Confidence": 0.19483163982978208,
|
||||
"Score": 0.19483163982978208
|
||||
},
|
||||
"Decoder": {
|
||||
"FftSize": 1024,
|
||||
"HopSize": 256,
|
||||
"MelBins": 40,
|
||||
"CepstralCoefficients": 14,
|
||||
"TableCount": 4,
|
||||
"HashBits": 14,
|
||||
"NearHashRadius": 4,
|
||||
"DenseStepSeconds": 0.04,
|
||||
"ProposalBudgetMultiplier": 8,
|
||||
"TemplateAugmentations": [
|
||||
"template-clean",
|
||||
"template-blur",
|
||||
"template-warp-light",
|
||||
"template-warp-blur"
|
||||
]
|
||||
},
|
||||
"Artifacts": [
|
||||
{
|
||||
"Kind": "pre-warp-audio",
|
||||
"Uri": "baseline-mfcc-index/warp-heavy-blur/pre-warp.wav",
|
||||
"ContentHash": "4862d46ea00c1d387387028f90147b98bd6e36fe594eefdcfa1b6360f7348f29"
|
||||
},
|
||||
{
|
||||
"Kind": "post-warp-audio",
|
||||
"Uri": "baseline-mfcc-index/warp-heavy-blur/post-warp.wav",
|
||||
"ContentHash": "3ca3e9bbaa0ae0fc00ebe085f968f53d45e1a2b71511e851c1aa0bbf6cd34410"
|
||||
},
|
||||
{
|
||||
"Kind": "reconstructed-from-detections",
|
||||
"Uri": "baseline-mfcc-index/warp-heavy-blur/reconstructed-from-detections.wav",
|
||||
"ContentHash": "c405855826e48e11434e54343d8f3ddb71e57573e659ce0096795b762071e512"
|
||||
},
|
||||
{
|
||||
"Kind": "summary-json",
|
||||
"Uri": "baseline-mfcc-index/warp-heavy-blur/summary.json",
|
||||
"ContentHash": ""
|
||||
}
|
||||
],
|
||||
"Observations": [
|
||||
{
|
||||
"EventIndex": 0,
|
||||
"SampleOffset": 0,
|
||||
"Confidence": 0.950131203846557
|
||||
},
|
||||
{
|
||||
"EventIndex": 2,
|
||||
"SampleOffset": 19200,
|
||||
"Confidence": 0.9741581991489103
|
||||
},
|
||||
{
|
||||
"EventIndex": 3,
|
||||
"SampleOffset": 24960,
|
||||
"Confidence": 0.9327487076216032
|
||||
}
|
||||
]
|
||||
}
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
|
@ -0,0 +1,102 @@
|
|||
{
|
||||
"ResultId": "bioacoustic-20260524-150729:baseline-mfcc-index:warp-light-blur",
|
||||
"RunId": "bioacoustic-20260524-150729",
|
||||
"StartedAtUtc": "2026-05-24T15:07:29.1407348\u002B00:00",
|
||||
"Toolchain": "Mimir.BufferSmoke --bioacoustic-train",
|
||||
"HypothesisId": "baseline-mfcc-index",
|
||||
"HypothesisNotes": "Current smoke baseline: four projection tables, 14-bit hashes, light degradation augmentation.",
|
||||
"DegradationName": "warp-light-blur",
|
||||
"SampleRate": 48000,
|
||||
"Seconds": 0.75,
|
||||
"ExpectedEvents": 5,
|
||||
"ObservationCount": 5,
|
||||
"CorrectAnchors": 4,
|
||||
"Precision": 0.8,
|
||||
"Recall": 0.8,
|
||||
"Confidence": 0.9121532731255396,
|
||||
"TimingMeanAbsoluteErrorSamples": 12672,
|
||||
"DecodeMilliseconds": 129.1681,
|
||||
"RealtimeFactor": 5.8063871807358005,
|
||||
"IdentityScore": 0.8112153273125541,
|
||||
"TimingScore": 0.8066634007245423,
|
||||
"SpeedScore": 0.116127743614716,
|
||||
"TotalScore": 0.6713784637871444,
|
||||
"RoundTripMelBins": 48,
|
||||
"RoundTripCepstralCoefficients": 20,
|
||||
"RoundTripFrameCount": 67,
|
||||
"RoundTripRmsRatio": 0.00014185500315276218,
|
||||
"ClockHypothesis": {
|
||||
"AnchorCount": 3,
|
||||
"SourceOffsetSamples": -1920.0000000000018,
|
||||
"EffectiveSampleRate": 48000.000000000015,
|
||||
"MeanAbsoluteErrorSamples": 7.414220374413076E-13,
|
||||
"Confidence": 0.8066634007245423,
|
||||
"Score": 1.2566634007245407
|
||||
},
|
||||
"Decoder": {
|
||||
"FftSize": 1024,
|
||||
"HopSize": 256,
|
||||
"MelBins": 40,
|
||||
"CepstralCoefficients": 14,
|
||||
"TableCount": 4,
|
||||
"HashBits": 14,
|
||||
"NearHashRadius": 4,
|
||||
"DenseStepSeconds": 0.04,
|
||||
"ProposalBudgetMultiplier": 8,
|
||||
"TemplateAugmentations": [
|
||||
"template-clean",
|
||||
"template-blur",
|
||||
"template-warp-light",
|
||||
"template-warp-blur"
|
||||
]
|
||||
},
|
||||
"Artifacts": [
|
||||
{
|
||||
"Kind": "pre-warp-audio",
|
||||
"Uri": "baseline-mfcc-index/warp-light-blur/pre-warp.wav",
|
||||
"ContentHash": "4862d46ea00c1d387387028f90147b98bd6e36fe594eefdcfa1b6360f7348f29"
|
||||
},
|
||||
{
|
||||
"Kind": "post-warp-audio",
|
||||
"Uri": "baseline-mfcc-index/warp-light-blur/post-warp.wav",
|
||||
"ContentHash": "c3bb1eb61dd15004724160816be15f8462944106a1a3f2077c5f97c7901342b9"
|
||||
},
|
||||
{
|
||||
"Kind": "reconstructed-from-detections",
|
||||
"Uri": "baseline-mfcc-index/warp-light-blur/reconstructed-from-detections.wav",
|
||||
"ContentHash": "bfe489671957fea685d911037927160c71abd4d1a3a2dfa7fc7b2c2e6a9040ee"
|
||||
},
|
||||
{
|
||||
"Kind": "summary-json",
|
||||
"Uri": "baseline-mfcc-index/warp-light-blur/summary.json",
|
||||
"ContentHash": ""
|
||||
}
|
||||
],
|
||||
"Observations": [
|
||||
{
|
||||
"EventIndex": 0,
|
||||
"SampleOffset": 1920,
|
||||
"Confidence": 0.9573043883272961
|
||||
},
|
||||
{
|
||||
"EventIndex": 8,
|
||||
"SampleOffset": 7680,
|
||||
"Confidence": 0.780325467055781
|
||||
},
|
||||
{
|
||||
"EventIndex": 1,
|
||||
"SampleOffset": 9600,
|
||||
"Confidence": 0.9019369466538933
|
||||
},
|
||||
{
|
||||
"EventIndex": 2,
|
||||
"SampleOffset": 19200,
|
||||
"Confidence": 0.980489887703701
|
||||
},
|
||||
{
|
||||
"EventIndex": 3,
|
||||
"SampleOffset": 24960,
|
||||
"Confidence": 0.9407096758870259
|
||||
}
|
||||
]
|
||||
}
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
|
@ -0,0 +1,102 @@
|
|||
{
|
||||
"ResultId": "bioacoustic-20260524-150729:baseline-mfcc-index:warp-light",
|
||||
"RunId": "bioacoustic-20260524-150729",
|
||||
"StartedAtUtc": "2026-05-24T15:07:29.1407348\u002B00:00",
|
||||
"Toolchain": "Mimir.BufferSmoke --bioacoustic-train",
|
||||
"HypothesisId": "baseline-mfcc-index",
|
||||
"HypothesisNotes": "Current smoke baseline: four projection tables, 14-bit hashes, light degradation augmentation.",
|
||||
"DegradationName": "warp-light",
|
||||
"SampleRate": 48000,
|
||||
"Seconds": 0.75,
|
||||
"ExpectedEvents": 5,
|
||||
"ObservationCount": 5,
|
||||
"CorrectAnchors": 5,
|
||||
"Precision": 1,
|
||||
"Recall": 1,
|
||||
"Confidence": 0.9237956807548804,
|
||||
"TimingMeanAbsoluteErrorSamples": 6038.400000000001,
|
||||
"DecodeMilliseconds": 123.9108,
|
||||
"RealtimeFactor": 6.052741165418995,
|
||||
"IdentityScore": 0.9923795680754881,
|
||||
"TimingScore": 0.18618374635424131,
|
||||
"SpeedScore": 0.1210548233083799,
|
||||
"TotalScore": 0.672999371212242,
|
||||
"RoundTripMelBins": 48,
|
||||
"RoundTripCepstralCoefficients": 20,
|
||||
"RoundTripFrameCount": 67,
|
||||
"RoundTripRmsRatio": 1.062162293139017E-06,
|
||||
"ClockHypothesis": {
|
||||
"AnchorCount": 1,
|
||||
"SourceOffsetSamples": 0,
|
||||
"EffectiveSampleRate": 48000,
|
||||
"MeanAbsoluteErrorSamples": 0,
|
||||
"Confidence": 0.18618374635424131,
|
||||
"Score": 0.18618374635424131
|
||||
},
|
||||
"Decoder": {
|
||||
"FftSize": 1024,
|
||||
"HopSize": 256,
|
||||
"MelBins": 40,
|
||||
"CepstralCoefficients": 14,
|
||||
"TableCount": 4,
|
||||
"HashBits": 14,
|
||||
"NearHashRadius": 4,
|
||||
"DenseStepSeconds": 0.04,
|
||||
"ProposalBudgetMultiplier": 8,
|
||||
"TemplateAugmentations": [
|
||||
"template-clean",
|
||||
"template-blur",
|
||||
"template-warp-light",
|
||||
"template-warp-blur"
|
||||
]
|
||||
},
|
||||
"Artifacts": [
|
||||
{
|
||||
"Kind": "pre-warp-audio",
|
||||
"Uri": "baseline-mfcc-index/warp-light/pre-warp.wav",
|
||||
"ContentHash": "4862d46ea00c1d387387028f90147b98bd6e36fe594eefdcfa1b6360f7348f29"
|
||||
},
|
||||
{
|
||||
"Kind": "post-warp-audio",
|
||||
"Uri": "baseline-mfcc-index/warp-light/post-warp.wav",
|
||||
"ContentHash": "64a7e1a53b5529fa38a039055838449e4f4d7da9c96ea47c72e8e159006d6549"
|
||||
},
|
||||
{
|
||||
"Kind": "reconstructed-from-detections",
|
||||
"Uri": "baseline-mfcc-index/warp-light/reconstructed-from-detections.wav",
|
||||
"ContentHash": "f705b66e19de7c4c2aa5d4a461778527f090b56d61617ca3f775b36043e6b749"
|
||||
},
|
||||
{
|
||||
"Kind": "summary-json",
|
||||
"Uri": "baseline-mfcc-index/warp-light/summary.json",
|
||||
"ContentHash": ""
|
||||
}
|
||||
],
|
||||
"Observations": [
|
||||
{
|
||||
"EventIndex": 0,
|
||||
"SampleOffset": 3840,
|
||||
"Confidence": 0.9309187317712065
|
||||
},
|
||||
{
|
||||
"EventIndex": 1,
|
||||
"SampleOffset": 5760,
|
||||
"Confidence": 0.8930832714627722
|
||||
},
|
||||
{
|
||||
"EventIndex": 4,
|
||||
"SampleOffset": 17280,
|
||||
"Confidence": 0.8946619501123622
|
||||
},
|
||||
{
|
||||
"EventIndex": 2,
|
||||
"SampleOffset": 23040,
|
||||
"Confidence": 0.9523837911929987
|
||||
},
|
||||
{
|
||||
"EventIndex": 3,
|
||||
"SampleOffset": 30192,
|
||||
"Confidence": 0.9479306592350625
|
||||
}
|
||||
]
|
||||
}
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
|
@ -0,0 +1,96 @@
|
|||
{
|
||||
"ResultId": "bioacoustic-20260524-150729:compact-fast-index:blur-light",
|
||||
"RunId": "bioacoustic-20260524-150729",
|
||||
"StartedAtUtc": "2026-05-24T15:07:29.1407348\u002B00:00",
|
||||
"Toolchain": "Mimir.BufferSmoke --bioacoustic-train",
|
||||
"HypothesisId": "compact-fast-index",
|
||||
"HypothesisNotes": "Smaller feature and table shape. It should run faster if identity survives; otherwise it dies with a receipt.",
|
||||
"DegradationName": "blur-light",
|
||||
"SampleRate": 48000,
|
||||
"Seconds": 0.75,
|
||||
"ExpectedEvents": 5,
|
||||
"ObservationCount": 4,
|
||||
"CorrectAnchors": 4,
|
||||
"Precision": 1,
|
||||
"Recall": 0.8,
|
||||
"Confidence": 0.984348775069297,
|
||||
"TimingMeanAbsoluteErrorSamples": 960.0000000000009,
|
||||
"DecodeMilliseconds": 174.3146,
|
||||
"RealtimeFactor": 4.302565591178249,
|
||||
"IdentityScore": 0.9084348775069297,
|
||||
"TimingScore": 0.7277010398918269,
|
||||
"SpeedScore": 0.08605131182356499,
|
||||
"TotalScore": 0.7114260735995384,
|
||||
"RoundTripMelBins": 48,
|
||||
"RoundTripCepstralCoefficients": 20,
|
||||
"RoundTripFrameCount": 67,
|
||||
"RoundTripRmsRatio": 0.0011363025982355157,
|
||||
"ClockHypothesis": {
|
||||
"AnchorCount": 2,
|
||||
"SourceOffsetSamples": 0,
|
||||
"EffectiveSampleRate": 48000,
|
||||
"MeanAbsoluteErrorSamples": 1.8236284626527456E-12,
|
||||
"Confidence": 0.7277010398918269,
|
||||
"Score": 1.0277010398918232
|
||||
},
|
||||
"Decoder": {
|
||||
"FftSize": 1024,
|
||||
"HopSize": 256,
|
||||
"MelBins": 32,
|
||||
"CepstralCoefficients": 10,
|
||||
"TableCount": 3,
|
||||
"HashBits": 12,
|
||||
"NearHashRadius": 3,
|
||||
"DenseStepSeconds": 0.04,
|
||||
"ProposalBudgetMultiplier": 6,
|
||||
"TemplateAugmentations": [
|
||||
"template-clean",
|
||||
"template-blur",
|
||||
"template-warp-blur"
|
||||
]
|
||||
},
|
||||
"Artifacts": [
|
||||
{
|
||||
"Kind": "pre-warp-audio",
|
||||
"Uri": "compact-fast-index/blur-light/pre-warp.wav",
|
||||
"ContentHash": "4862d46ea00c1d387387028f90147b98bd6e36fe594eefdcfa1b6360f7348f29"
|
||||
},
|
||||
{
|
||||
"Kind": "post-warp-audio",
|
||||
"Uri": "compact-fast-index/blur-light/post-warp.wav",
|
||||
"ContentHash": "f36a51bdd08f1bd617e1109615168f334017f067fd94224422b9fe3d3d310e01"
|
||||
},
|
||||
{
|
||||
"Kind": "reconstructed-from-detections",
|
||||
"Uri": "compact-fast-index/blur-light/reconstructed-from-detections.wav",
|
||||
"ContentHash": "7bb6731d2b7db07693b7fe7c31de6a7fccca5a867b47e9d6cd64fe6a1fe65a39"
|
||||
},
|
||||
{
|
||||
"Kind": "summary-json",
|
||||
"Uri": "compact-fast-index/blur-light/summary.json",
|
||||
"ContentHash": ""
|
||||
}
|
||||
],
|
||||
"Observations": [
|
||||
{
|
||||
"EventIndex": 0,
|
||||
"SampleOffset": 1920,
|
||||
"Confidence": 0.9850700939602861
|
||||
},
|
||||
{
|
||||
"EventIndex": 1,
|
||||
"SampleOffset": 9600,
|
||||
"Confidence": 0.9753146073985
|
||||
},
|
||||
{
|
||||
"EventIndex": 2,
|
||||
"SampleOffset": 19200,
|
||||
"Confidence": 0.9859841655055015
|
||||
},
|
||||
{
|
||||
"EventIndex": 3,
|
||||
"SampleOffset": 26880,
|
||||
"Confidence": 0.9910262334129001
|
||||
}
|
||||
]
|
||||
}
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
|
@ -0,0 +1,96 @@
|
|||
{
|
||||
"ResultId": "bioacoustic-20260524-150729:compact-fast-index:clean-roundtrip",
|
||||
"RunId": "bioacoustic-20260524-150729",
|
||||
"StartedAtUtc": "2026-05-24T15:07:29.1407348\u002B00:00",
|
||||
"Toolchain": "Mimir.BufferSmoke --bioacoustic-train",
|
||||
"HypothesisId": "compact-fast-index",
|
||||
"HypothesisNotes": "Smaller feature and table shape. It should run faster if identity survives; otherwise it dies with a receipt.",
|
||||
"DegradationName": "clean-roundtrip",
|
||||
"SampleRate": 48000,
|
||||
"Seconds": 0.75,
|
||||
"ExpectedEvents": 5,
|
||||
"ObservationCount": 4,
|
||||
"CorrectAnchors": 4,
|
||||
"Precision": 1,
|
||||
"Recall": 0.8,
|
||||
"Confidence": 0.9768049196341044,
|
||||
"TimingMeanAbsoluteErrorSamples": 9.094947017729282E-13,
|
||||
"DecodeMilliseconds": 113.407,
|
||||
"RealtimeFactor": 6.613348382374986,
|
||||
"IdentityScore": 0.9076804919634105,
|
||||
"TimingScore": 0.905360983926792,
|
||||
"SpeedScore": 0.13226696764749973,
|
||||
"TotalScore": 0.752180275653637,
|
||||
"RoundTripMelBins": 48,
|
||||
"RoundTripCepstralCoefficients": 20,
|
||||
"RoundTripFrameCount": 67,
|
||||
"RoundTripRmsRatio": 0.014436986876321297,
|
||||
"ClockHypothesis": {
|
||||
"AnchorCount": 4,
|
||||
"SourceOffsetSamples": -5.4569682106375694E-12,
|
||||
"EffectiveSampleRate": 48000.00000000001,
|
||||
"MeanAbsoluteErrorSamples": 3.978120228478332E-12,
|
||||
"Confidence": 0.905360983926792,
|
||||
"Score": 1.5053609839267839
|
||||
},
|
||||
"Decoder": {
|
||||
"FftSize": 1024,
|
||||
"HopSize": 256,
|
||||
"MelBins": 32,
|
||||
"CepstralCoefficients": 10,
|
||||
"TableCount": 3,
|
||||
"HashBits": 12,
|
||||
"NearHashRadius": 3,
|
||||
"DenseStepSeconds": 0.04,
|
||||
"ProposalBudgetMultiplier": 6,
|
||||
"TemplateAugmentations": [
|
||||
"template-clean",
|
||||
"template-blur",
|
||||
"template-warp-blur"
|
||||
]
|
||||
},
|
||||
"Artifacts": [
|
||||
{
|
||||
"Kind": "pre-warp-audio",
|
||||
"Uri": "compact-fast-index/clean-roundtrip/pre-warp.wav",
|
||||
"ContentHash": "4862d46ea00c1d387387028f90147b98bd6e36fe594eefdcfa1b6360f7348f29"
|
||||
},
|
||||
{
|
||||
"Kind": "post-warp-audio",
|
||||
"Uri": "compact-fast-index/clean-roundtrip/post-warp.wav",
|
||||
"ContentHash": "3b9ca18e7ae4841d0673baa1b6468fc1f37bb1f7f309a3b6e3ce4356f1ba3612"
|
||||
},
|
||||
{
|
||||
"Kind": "reconstructed-from-detections",
|
||||
"Uri": "compact-fast-index/clean-roundtrip/reconstructed-from-detections.wav",
|
||||
"ContentHash": "58c47f1100c9a4037f6404077a6a0cd0aed5b32c125238d9837f5a5a6fb6a215"
|
||||
},
|
||||
{
|
||||
"Kind": "summary-json",
|
||||
"Uri": "compact-fast-index/clean-roundtrip/summary.json",
|
||||
"ContentHash": ""
|
||||
}
|
||||
],
|
||||
"Observations": [
|
||||
{
|
||||
"EventIndex": 0,
|
||||
"SampleOffset": 3840,
|
||||
"Confidence": 0.9718269855357083
|
||||
},
|
||||
{
|
||||
"EventIndex": 1,
|
||||
"SampleOffset": 11520,
|
||||
"Confidence": 0.9788285888684045
|
||||
},
|
||||
{
|
||||
"EventIndex": 2,
|
||||
"SampleOffset": 19200,
|
||||
"Confidence": 0.9778422455527276
|
||||
},
|
||||
{
|
||||
"EventIndex": 3,
|
||||
"SampleOffset": 26880,
|
||||
"Confidence": 0.9787218585795772
|
||||
}
|
||||
]
|
||||
}
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
|
@ -0,0 +1,111 @@
|
|||
{
|
||||
"ResultId": "bioacoustic-20260524-150729:compact-fast-index:warp-heavy-blur",
|
||||
"RunId": "bioacoustic-20260524-150729",
|
||||
"StartedAtUtc": "2026-05-24T15:07:29.1407348\u002B00:00",
|
||||
"Toolchain": "Mimir.BufferSmoke --bioacoustic-train",
|
||||
"HypothesisId": "compact-fast-index",
|
||||
"HypothesisNotes": "Smaller feature and table shape. It should run faster if identity survives; otherwise it dies with a receipt.",
|
||||
"DegradationName": "warp-heavy-blur",
|
||||
"SampleRate": 48000,
|
||||
"Seconds": 0.75,
|
||||
"ExpectedEvents": 5,
|
||||
"ObservationCount": 7,
|
||||
"CorrectAnchors": 3,
|
||||
"Precision": 0.42857142857142855,
|
||||
"Recall": 0.6,
|
||||
"Confidence": 0.6888231610686016,
|
||||
"TimingMeanAbsoluteErrorSamples": 198582.85714285713,
|
||||
"DecodeMilliseconds": 119.248,
|
||||
"RealtimeFactor": 6.28941365892929,
|
||||
"IdentityScore": 0.531739458964003,
|
||||
"TimingScore": 0.19504350232533124,
|
||||
"SpeedScore": 0.12578827317858582,
|
||||
"TotalScore": 0.38994394961195866,
|
||||
"RoundTripMelBins": 48,
|
||||
"RoundTripCepstralCoefficients": 20,
|
||||
"RoundTripFrameCount": 67,
|
||||
"RoundTripRmsRatio": 0.0004699618910325598,
|
||||
"ClockHypothesis": {
|
||||
"AnchorCount": 1,
|
||||
"SourceOffsetSamples": 0,
|
||||
"EffectiveSampleRate": 48000,
|
||||
"MeanAbsoluteErrorSamples": 0,
|
||||
"Confidence": 0.19504350232533124,
|
||||
"Score": 0.19504350232533124
|
||||
},
|
||||
"Decoder": {
|
||||
"FftSize": 1024,
|
||||
"HopSize": 256,
|
||||
"MelBins": 32,
|
||||
"CepstralCoefficients": 10,
|
||||
"TableCount": 3,
|
||||
"HashBits": 12,
|
||||
"NearHashRadius": 3,
|
||||
"DenseStepSeconds": 0.04,
|
||||
"ProposalBudgetMultiplier": 6,
|
||||
"TemplateAugmentations": [
|
||||
"template-clean",
|
||||
"template-blur",
|
||||
"template-warp-blur"
|
||||
]
|
||||
},
|
||||
"Artifacts": [
|
||||
{
|
||||
"Kind": "pre-warp-audio",
|
||||
"Uri": "compact-fast-index/warp-heavy-blur/pre-warp.wav",
|
||||
"ContentHash": "4862d46ea00c1d387387028f90147b98bd6e36fe594eefdcfa1b6360f7348f29"
|
||||
},
|
||||
{
|
||||
"Kind": "post-warp-audio",
|
||||
"Uri": "compact-fast-index/warp-heavy-blur/post-warp.wav",
|
||||
"ContentHash": "3ca3e9bbaa0ae0fc00ebe085f968f53d45e1a2b71511e851c1aa0bbf6cd34410"
|
||||
},
|
||||
{
|
||||
"Kind": "reconstructed-from-detections",
|
||||
"Uri": "compact-fast-index/warp-heavy-blur/reconstructed-from-detections.wav",
|
||||
"ContentHash": "2e26cd394faf43bffb7024457e90b619183cf019d17c2c9318cb967e8db06c5a"
|
||||
},
|
||||
{
|
||||
"Kind": "summary-json",
|
||||
"Uri": "compact-fast-index/warp-heavy-blur/summary.json",
|
||||
"ContentHash": ""
|
||||
}
|
||||
],
|
||||
"Observations": [
|
||||
{
|
||||
"EventIndex": 0,
|
||||
"SampleOffset": 0,
|
||||
"Confidence": 0.9550447439633769
|
||||
},
|
||||
{
|
||||
"EventIndex": 13,
|
||||
"SampleOffset": 7680,
|
||||
"Confidence": 0.6951335327983058
|
||||
},
|
||||
{
|
||||
"EventIndex": 31,
|
||||
"SampleOffset": 9600,
|
||||
"Confidence": 0.5363250218998903
|
||||
},
|
||||
{
|
||||
"EventIndex": 55,
|
||||
"SampleOffset": 11520,
|
||||
"Confidence": 0.3995579482592479
|
||||
},
|
||||
{
|
||||
"EventIndex": 85,
|
||||
"SampleOffset": 15360,
|
||||
"Confidence": 0.31691266051126143
|
||||
},
|
||||
{
|
||||
"EventIndex": 2,
|
||||
"SampleOffset": 19200,
|
||||
"Confidence": 0.9752175116266562
|
||||
},
|
||||
{
|
||||
"EventIndex": 3,
|
||||
"SampleOffset": 24960,
|
||||
"Confidence": 0.9435707084214735
|
||||
}
|
||||
]
|
||||
}
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
|
@ -0,0 +1,111 @@
|
|||
{
|
||||
"ResultId": "bioacoustic-20260524-150729:compact-fast-index:warp-light-blur",
|
||||
"RunId": "bioacoustic-20260524-150729",
|
||||
"StartedAtUtc": "2026-05-24T15:07:29.1407348\u002B00:00",
|
||||
"Toolchain": "Mimir.BufferSmoke --bioacoustic-train",
|
||||
"HypothesisId": "compact-fast-index",
|
||||
"HypothesisNotes": "Smaller feature and table shape. It should run faster if identity survives; otherwise it dies with a receipt.",
|
||||
"DegradationName": "warp-light-blur",
|
||||
"SampleRate": 48000,
|
||||
"Seconds": 0.75,
|
||||
"ExpectedEvents": 5,
|
||||
"ObservationCount": 7,
|
||||
"CorrectAnchors": 4,
|
||||
"Precision": 0.5714285714285714,
|
||||
"Recall": 0.8,
|
||||
"Confidence": 0.8129263643415109,
|
||||
"TimingMeanAbsoluteErrorSamples": 66377.14285714286,
|
||||
"DecodeMilliseconds": 127.6446,
|
||||
"RealtimeFactor": 5.875689218345312,
|
||||
"IdentityScore": 0.6984354935770083,
|
||||
"TimingScore": 0.7217464317178384,
|
||||
"SpeedScore": 0.11751378436690624,
|
||||
"TotalScore": 0.5864471206003372,
|
||||
"RoundTripMelBins": 48,
|
||||
"RoundTripCepstralCoefficients": 20,
|
||||
"RoundTripFrameCount": 67,
|
||||
"RoundTripRmsRatio": 0.00014185500315276218,
|
||||
"ClockHypothesis": {
|
||||
"AnchorCount": 2,
|
||||
"SourceOffsetSamples": -1919.9999999999982,
|
||||
"EffectiveSampleRate": 48000,
|
||||
"MeanAbsoluteErrorSamples": 9.160269247376375E-13,
|
||||
"Confidence": 0.7217464317178384,
|
||||
"Score": 1.0217464317178364
|
||||
},
|
||||
"Decoder": {
|
||||
"FftSize": 1024,
|
||||
"HopSize": 256,
|
||||
"MelBins": 32,
|
||||
"CepstralCoefficients": 10,
|
||||
"TableCount": 3,
|
||||
"HashBits": 12,
|
||||
"NearHashRadius": 3,
|
||||
"DenseStepSeconds": 0.04,
|
||||
"ProposalBudgetMultiplier": 6,
|
||||
"TemplateAugmentations": [
|
||||
"template-clean",
|
||||
"template-blur",
|
||||
"template-warp-blur"
|
||||
]
|
||||
},
|
||||
"Artifacts": [
|
||||
{
|
||||
"Kind": "pre-warp-audio",
|
||||
"Uri": "compact-fast-index/warp-light-blur/pre-warp.wav",
|
||||
"ContentHash": "4862d46ea00c1d387387028f90147b98bd6e36fe594eefdcfa1b6360f7348f29"
|
||||
},
|
||||
{
|
||||
"Kind": "post-warp-audio",
|
||||
"Uri": "compact-fast-index/warp-light-blur/post-warp.wav",
|
||||
"ContentHash": "c3bb1eb61dd15004724160816be15f8462944106a1a3f2077c5f97c7901342b9"
|
||||
},
|
||||
{
|
||||
"Kind": "reconstructed-from-detections",
|
||||
"Uri": "compact-fast-index/warp-light-blur/reconstructed-from-detections.wav",
|
||||
"ContentHash": "9413021dd6fb7f6ecc5507daa0d8e2582f60c199113b145f4b825741fa5ea9c3"
|
||||
},
|
||||
{
|
||||
"Kind": "summary-json",
|
||||
"Uri": "compact-fast-index/warp-light-blur/summary.json",
|
||||
"ContentHash": ""
|
||||
}
|
||||
],
|
||||
"Observations": [
|
||||
{
|
||||
"EventIndex": 31,
|
||||
"SampleOffset": 0,
|
||||
"Confidence": 0.5454031634847253
|
||||
},
|
||||
{
|
||||
"EventIndex": 0,
|
||||
"SampleOffset": 1920,
|
||||
"Confidence": 0.9656180175295067
|
||||
},
|
||||
{
|
||||
"EventIndex": 13,
|
||||
"SampleOffset": 9600,
|
||||
"Confidence": 0.7188366577311006
|
||||
},
|
||||
{
|
||||
"EventIndex": 17,
|
||||
"SampleOffset": 13440,
|
||||
"Confidence": 0.6406011439308475
|
||||
},
|
||||
{
|
||||
"EventIndex": 1,
|
||||
"SampleOffset": 15360,
|
||||
"Confidence": 0.8834554945662992
|
||||
},
|
||||
{
|
||||
"EventIndex": 2,
|
||||
"SampleOffset": 19200,
|
||||
"Confidence": 0.9847237734991533
|
||||
},
|
||||
{
|
||||
"EventIndex": 3,
|
||||
"SampleOffset": 24960,
|
||||
"Confidence": 0.9518462996489437
|
||||
}
|
||||
]
|
||||
}
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
|
@ -0,0 +1,116 @@
|
|||
{
|
||||
"ResultId": "bioacoustic-20260524-150729:compact-fast-index:warp-light",
|
||||
"RunId": "bioacoustic-20260524-150729",
|
||||
"StartedAtUtc": "2026-05-24T15:07:29.1407348\u002B00:00",
|
||||
"Toolchain": "Mimir.BufferSmoke --bioacoustic-train",
|
||||
"HypothesisId": "compact-fast-index",
|
||||
"HypothesisNotes": "Smaller feature and table shape. It should run faster if identity survives; otherwise it dies with a receipt.",
|
||||
"DegradationName": "warp-light",
|
||||
"SampleRate": 48000,
|
||||
"Seconds": 0.75,
|
||||
"ExpectedEvents": 5,
|
||||
"ObservationCount": 8,
|
||||
"CorrectAnchors": 4,
|
||||
"Precision": 0.5,
|
||||
"Recall": 0.8,
|
||||
"Confidence": 0.669268198512264,
|
||||
"TimingMeanAbsoluteErrorSamples": 232974,
|
||||
"DecodeMilliseconds": 119.0569,
|
||||
"RealtimeFactor": 6.299508890286913,
|
||||
"IdentityScore": 0.6519268198512265,
|
||||
"TimingScore": 0.18699439801317996,
|
||||
"SpeedScore": 0.12599017780573826,
|
||||
"TotalScore": 0.46305165551128047,
|
||||
"RoundTripMelBins": 48,
|
||||
"RoundTripCepstralCoefficients": 20,
|
||||
"RoundTripFrameCount": 67,
|
||||
"RoundTripRmsRatio": 1.062162293139017E-06,
|
||||
"ClockHypothesis": {
|
||||
"AnchorCount": 1,
|
||||
"SourceOffsetSamples": 0,
|
||||
"EffectiveSampleRate": 48000,
|
||||
"MeanAbsoluteErrorSamples": 0,
|
||||
"Confidence": 0.18699439801317996,
|
||||
"Score": 0.18699439801317996
|
||||
},
|
||||
"Decoder": {
|
||||
"FftSize": 1024,
|
||||
"HopSize": 256,
|
||||
"MelBins": 32,
|
||||
"CepstralCoefficients": 10,
|
||||
"TableCount": 3,
|
||||
"HashBits": 12,
|
||||
"NearHashRadius": 3,
|
||||
"DenseStepSeconds": 0.04,
|
||||
"ProposalBudgetMultiplier": 6,
|
||||
"TemplateAugmentations": [
|
||||
"template-clean",
|
||||
"template-blur",
|
||||
"template-warp-blur"
|
||||
]
|
||||
},
|
||||
"Artifacts": [
|
||||
{
|
||||
"Kind": "pre-warp-audio",
|
||||
"Uri": "compact-fast-index/warp-light/pre-warp.wav",
|
||||
"ContentHash": "4862d46ea00c1d387387028f90147b98bd6e36fe594eefdcfa1b6360f7348f29"
|
||||
},
|
||||
{
|
||||
"Kind": "post-warp-audio",
|
||||
"Uri": "compact-fast-index/warp-light/post-warp.wav",
|
||||
"ContentHash": "64a7e1a53b5529fa38a039055838449e4f4d7da9c96ea47c72e8e159006d6549"
|
||||
},
|
||||
{
|
||||
"Kind": "reconstructed-from-detections",
|
||||
"Uri": "compact-fast-index/warp-light/reconstructed-from-detections.wav",
|
||||
"ContentHash": "c5073d88ba06d85e25ed60e49b098be45aefd18b07edeed4810e145c54ec70f3"
|
||||
},
|
||||
{
|
||||
"Kind": "summary-json",
|
||||
"Uri": "compact-fast-index/warp-light/summary.json",
|
||||
"ContentHash": ""
|
||||
}
|
||||
],
|
||||
"Observations": [
|
||||
{
|
||||
"EventIndex": 0,
|
||||
"SampleOffset": 3840,
|
||||
"Confidence": 0.9349719900658997
|
||||
},
|
||||
{
|
||||
"EventIndex": 47,
|
||||
"SampleOffset": 9600,
|
||||
"Confidence": 0.4445755765976692
|
||||
},
|
||||
{
|
||||
"EventIndex": 63,
|
||||
"SampleOffset": 11520,
|
||||
"Confidence": 0.36877939655868713
|
||||
},
|
||||
{
|
||||
"EventIndex": 105,
|
||||
"SampleOffset": 13440,
|
||||
"Confidence": 0.2693162070994128
|
||||
},
|
||||
{
|
||||
"EventIndex": 29,
|
||||
"SampleOffset": 15360,
|
||||
"Confidence": 0.5527002997632532
|
||||
},
|
||||
{
|
||||
"EventIndex": 4,
|
||||
"SampleOffset": 17280,
|
||||
"Confidence": 0.867731480111482
|
||||
},
|
||||
{
|
||||
"EventIndex": 2,
|
||||
"SampleOffset": 23040,
|
||||
"Confidence": 0.9589661051533191
|
||||
},
|
||||
{
|
||||
"EventIndex": 3,
|
||||
"SampleOffset": 30192,
|
||||
"Confidence": 0.9571045327483895
|
||||
}
|
||||
]
|
||||
}
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
|
@ -0,0 +1,102 @@
|
|||
{
|
||||
"ResultId": "bioacoustic-20260524-150729:highband-room-index:blur-light",
|
||||
"RunId": "bioacoustic-20260524-150729",
|
||||
"StartedAtUtc": "2026-05-24T15:07:29.1407348\u002B00:00",
|
||||
"Toolchain": "Mimir.BufferSmoke --bioacoustic-train",
|
||||
"HypothesisId": "highband-room-index",
|
||||
"HypothesisNotes": "Bias toward the measured useful upper speech/birdcall band and away from low room junk.",
|
||||
"DegradationName": "blur-light",
|
||||
"SampleRate": 48000,
|
||||
"Seconds": 0.75,
|
||||
"ExpectedEvents": 5,
|
||||
"ObservationCount": 5,
|
||||
"CorrectAnchors": 5,
|
||||
"Precision": 1,
|
||||
"Recall": 1,
|
||||
"Confidence": 0.9767347350365185,
|
||||
"TimingMeanAbsoluteErrorSamples": 2160.000000000001,
|
||||
"DecodeMilliseconds": 151.8894,
|
||||
"RealtimeFactor": 4.937803428020652,
|
||||
"IdentityScore": 0.9976734735036519,
|
||||
"TimingScore": 0.47663254500963104,
|
||||
"SpeedScore": 0.09875606856041305,
|
||||
"TotalScore": 0.7241026253860804,
|
||||
"RoundTripMelBins": 48,
|
||||
"RoundTripCepstralCoefficients": 20,
|
||||
"RoundTripFrameCount": 67,
|
||||
"RoundTripRmsRatio": 0.0011363025982355157,
|
||||
"ClockHypothesis": {
|
||||
"AnchorCount": 2,
|
||||
"SourceOffsetSamples": 119.37115076386908,
|
||||
"EffectiveSampleRate": 48000,
|
||||
"MeanAbsoluteErrorSamples": 119.99670457198329,
|
||||
"Confidence": 0.47663254500963104,
|
||||
"Score": 0.5266394104846658
|
||||
},
|
||||
"Decoder": {
|
||||
"FftSize": 1024,
|
||||
"HopSize": 256,
|
||||
"MelBins": 40,
|
||||
"CepstralCoefficients": 14,
|
||||
"TableCount": 4,
|
||||
"HashBits": 14,
|
||||
"NearHashRadius": 4,
|
||||
"DenseStepSeconds": 0.035,
|
||||
"ProposalBudgetMultiplier": 8,
|
||||
"TemplateAugmentations": [
|
||||
"template-clean",
|
||||
"template-blur",
|
||||
"template-warp-light",
|
||||
"template-warp-blur"
|
||||
]
|
||||
},
|
||||
"Artifacts": [
|
||||
{
|
||||
"Kind": "pre-warp-audio",
|
||||
"Uri": "highband-room-index/blur-light/pre-warp.wav",
|
||||
"ContentHash": "4862d46ea00c1d387387028f90147b98bd6e36fe594eefdcfa1b6360f7348f29"
|
||||
},
|
||||
{
|
||||
"Kind": "post-warp-audio",
|
||||
"Uri": "highband-room-index/blur-light/post-warp.wav",
|
||||
"ContentHash": "f36a51bdd08f1bd617e1109615168f334017f067fd94224422b9fe3d3d310e01"
|
||||
},
|
||||
{
|
||||
"Kind": "reconstructed-from-detections",
|
||||
"Uri": "highband-room-index/blur-light/reconstructed-from-detections.wav",
|
||||
"ContentHash": "678fd3a1370c2066776c33d474e43a1eaaaa06a2b37fb7d1a8010ce55913a479"
|
||||
},
|
||||
{
|
||||
"Kind": "summary-json",
|
||||
"Uri": "highband-room-index/blur-light/summary.json",
|
||||
"ContentHash": ""
|
||||
}
|
||||
],
|
||||
"Observations": [
|
||||
{
|
||||
"EventIndex": 0,
|
||||
"SampleOffset": 3360,
|
||||
"Confidence": 0.9804186362856496
|
||||
},
|
||||
{
|
||||
"EventIndex": 1,
|
||||
"SampleOffset": 11760,
|
||||
"Confidence": 0.9780007923602838
|
||||
},
|
||||
{
|
||||
"EventIndex": 2,
|
||||
"SampleOffset": 18480,
|
||||
"Confidence": 0.9812782020145265
|
||||
},
|
||||
{
|
||||
"EventIndex": 4,
|
||||
"SampleOffset": 25200,
|
||||
"Confidence": 0.9556710028138445
|
||||
},
|
||||
{
|
||||
"EventIndex": 3,
|
||||
"SampleOffset": 26880,
|
||||
"Confidence": 0.9883050417082883
|
||||
}
|
||||
]
|
||||
}
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
|
@ -0,0 +1,97 @@
|
|||
{
|
||||
"ResultId": "bioacoustic-20260524-150729:highband-room-index:clean-roundtrip",
|
||||
"RunId": "bioacoustic-20260524-150729",
|
||||
"StartedAtUtc": "2026-05-24T15:07:29.1407348\u002B00:00",
|
||||
"Toolchain": "Mimir.BufferSmoke --bioacoustic-train",
|
||||
"HypothesisId": "highband-room-index",
|
||||
"HypothesisNotes": "Bias toward the measured useful upper speech/birdcall band and away from low room junk.",
|
||||
"DegradationName": "clean-roundtrip",
|
||||
"SampleRate": 48000,
|
||||
"Seconds": 0.75,
|
||||
"ExpectedEvents": 5,
|
||||
"ObservationCount": 4,
|
||||
"CorrectAnchors": 4,
|
||||
"Precision": 1,
|
||||
"Recall": 0.8,
|
||||
"Confidence": 0.9767861387794289,
|
||||
"TimingMeanAbsoluteErrorSamples": 780.0000000000009,
|
||||
"DecodeMilliseconds": 141.1094,
|
||||
"RealtimeFactor": 5.315025079831677,
|
||||
"IdentityScore": 0.9076786138779429,
|
||||
"TimingScore": 0.47510733005073624,
|
||||
"SpeedScore": 0.10630050159663354,
|
||||
"TotalScore": 0.6695401603327837,
|
||||
"RoundTripMelBins": 48,
|
||||
"RoundTripCepstralCoefficients": 20,
|
||||
"RoundTripFrameCount": 67,
|
||||
"RoundTripRmsRatio": 0.014436986876321297,
|
||||
"ClockHypothesis": {
|
||||
"AnchorCount": 2,
|
||||
"SourceOffsetSamples": -600.5843704955751,
|
||||
"EffectiveSampleRate": 48000,
|
||||
"MeanAbsoluteErrorSamples": 119.99715425936493,
|
||||
"Confidence": 0.47510733005073624,
|
||||
"Score": 0.5251132586770594
|
||||
},
|
||||
"Decoder": {
|
||||
"FftSize": 1024,
|
||||
"HopSize": 256,
|
||||
"MelBins": 40,
|
||||
"CepstralCoefficients": 14,
|
||||
"TableCount": 4,
|
||||
"HashBits": 14,
|
||||
"NearHashRadius": 4,
|
||||
"DenseStepSeconds": 0.035,
|
||||
"ProposalBudgetMultiplier": 8,
|
||||
"TemplateAugmentations": [
|
||||
"template-clean",
|
||||
"template-blur",
|
||||
"template-warp-light",
|
||||
"template-warp-blur"
|
||||
]
|
||||
},
|
||||
"Artifacts": [
|
||||
{
|
||||
"Kind": "pre-warp-audio",
|
||||
"Uri": "highband-room-index/clean-roundtrip/pre-warp.wav",
|
||||
"ContentHash": "4862d46ea00c1d387387028f90147b98bd6e36fe594eefdcfa1b6360f7348f29"
|
||||
},
|
||||
{
|
||||
"Kind": "post-warp-audio",
|
||||
"Uri": "highband-room-index/clean-roundtrip/post-warp.wav",
|
||||
"ContentHash": "3b9ca18e7ae4841d0673baa1b6468fc1f37bb1f7f309a3b6e3ce4356f1ba3612"
|
||||
},
|
||||
{
|
||||
"Kind": "reconstructed-from-detections",
|
||||
"Uri": "highband-room-index/clean-roundtrip/reconstructed-from-detections.wav",
|
||||
"ContentHash": "0e21aa647097f4137ec939cc9ffa3c64994024a43f3c841c945168a5552fd509"
|
||||
},
|
||||
{
|
||||
"Kind": "summary-json",
|
||||
"Uri": "highband-room-index/clean-roundtrip/summary.json",
|
||||
"ContentHash": ""
|
||||
}
|
||||
],
|
||||
"Observations": [
|
||||
{
|
||||
"EventIndex": 0,
|
||||
"SampleOffset": 3360,
|
||||
"Confidence": 0.9707775982576307
|
||||
},
|
||||
{
|
||||
"EventIndex": 1,
|
||||
"SampleOffset": 11760,
|
||||
"Confidence": 0.9779443579846969
|
||||
},
|
||||
{
|
||||
"EventIndex": 2,
|
||||
"SampleOffset": 18480,
|
||||
"Confidence": 0.9802787630304474
|
||||
},
|
||||
{
|
||||
"EventIndex": 3,
|
||||
"SampleOffset": 28560,
|
||||
"Confidence": 0.9781438358449407
|
||||
}
|
||||
]
|
||||
}
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
|
@ -0,0 +1,102 @@
|
|||
{
|
||||
"ResultId": "bioacoustic-20260524-150729:highband-room-index:warp-heavy-blur",
|
||||
"RunId": "bioacoustic-20260524-150729",
|
||||
"StartedAtUtc": "2026-05-24T15:07:29.1407348\u002B00:00",
|
||||
"Toolchain": "Mimir.BufferSmoke --bioacoustic-train",
|
||||
"HypothesisId": "highband-room-index",
|
||||
"HypothesisNotes": "Bias toward the measured useful upper speech/birdcall band and away from low room junk.",
|
||||
"DegradationName": "warp-heavy-blur",
|
||||
"SampleRate": 48000,
|
||||
"Seconds": 0.75,
|
||||
"ExpectedEvents": 5,
|
||||
"ObservationCount": 5,
|
||||
"CorrectAnchors": 4,
|
||||
"Precision": 0.8,
|
||||
"Recall": 0.8,
|
||||
"Confidence": 0.8591045607204133,
|
||||
"TimingMeanAbsoluteErrorSamples": 49008,
|
||||
"DecodeMilliseconds": 120.5688,
|
||||
"RealtimeFactor": 6.220514760037423,
|
||||
"IdentityScore": 0.8059104560720414,
|
||||
"TimingScore": 0.19419083633265083,
|
||||
"SpeedScore": 0.12441029520074846,
|
||||
"TotalScore": 0.5595008923446925,
|
||||
"RoundTripMelBins": 48,
|
||||
"RoundTripCepstralCoefficients": 20,
|
||||
"RoundTripFrameCount": 67,
|
||||
"RoundTripRmsRatio": 0.0004699618910325598,
|
||||
"ClockHypothesis": {
|
||||
"AnchorCount": 1,
|
||||
"SourceOffsetSamples": -720,
|
||||
"EffectiveSampleRate": 48000,
|
||||
"MeanAbsoluteErrorSamples": 0,
|
||||
"Confidence": 0.19419083633265083,
|
||||
"Score": 0.19419083633265083
|
||||
},
|
||||
"Decoder": {
|
||||
"FftSize": 1024,
|
||||
"HopSize": 256,
|
||||
"MelBins": 40,
|
||||
"CepstralCoefficients": 14,
|
||||
"TableCount": 4,
|
||||
"HashBits": 14,
|
||||
"NearHashRadius": 4,
|
||||
"DenseStepSeconds": 0.035,
|
||||
"ProposalBudgetMultiplier": 8,
|
||||
"TemplateAugmentations": [
|
||||
"template-clean",
|
||||
"template-blur",
|
||||
"template-warp-light",
|
||||
"template-warp-blur"
|
||||
]
|
||||
},
|
||||
"Artifacts": [
|
||||
{
|
||||
"Kind": "pre-warp-audio",
|
||||
"Uri": "highband-room-index/warp-heavy-blur/pre-warp.wav",
|
||||
"ContentHash": "4862d46ea00c1d387387028f90147b98bd6e36fe594eefdcfa1b6360f7348f29"
|
||||
},
|
||||
{
|
||||
"Kind": "post-warp-audio",
|
||||
"Uri": "highband-room-index/warp-heavy-blur/post-warp.wav",
|
||||
"ContentHash": "3ca3e9bbaa0ae0fc00ebe085f968f53d45e1a2b71511e851c1aa0bbf6cd34410"
|
||||
},
|
||||
{
|
||||
"Kind": "reconstructed-from-detections",
|
||||
"Uri": "highband-room-index/warp-heavy-blur/reconstructed-from-detections.wav",
|
||||
"ContentHash": "163ebf88b1afe45431cdc2ce9856e2e03038dca6f5085ce783591d2bda0b2004"
|
||||
},
|
||||
{
|
||||
"Kind": "summary-json",
|
||||
"Uri": "highband-room-index/warp-heavy-blur/summary.json",
|
||||
"ContentHash": ""
|
||||
}
|
||||
],
|
||||
"Observations": [
|
||||
{
|
||||
"EventIndex": 0,
|
||||
"SampleOffset": 1680,
|
||||
"Confidence": 0.9538095447968339
|
||||
},
|
||||
{
|
||||
"EventIndex": 31,
|
||||
"SampleOffset": 6720,
|
||||
"Confidence": 0.5194886074568715
|
||||
},
|
||||
{
|
||||
"EventIndex": 1,
|
||||
"SampleOffset": 15120,
|
||||
"Confidence": 0.9036467344252803
|
||||
},
|
||||
{
|
||||
"EventIndex": 2,
|
||||
"SampleOffset": 18480,
|
||||
"Confidence": 0.9709541816632541
|
||||
},
|
||||
{
|
||||
"EventIndex": 3,
|
||||
"SampleOffset": 23520,
|
||||
"Confidence": 0.9476237352598268
|
||||
}
|
||||
]
|
||||
}
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
|
@ -0,0 +1,97 @@
|
|||
{
|
||||
"ResultId": "bioacoustic-20260524-150729:highband-room-index:warp-light-blur",
|
||||
"RunId": "bioacoustic-20260524-150729",
|
||||
"StartedAtUtc": "2026-05-24T15:07:29.1407348\u002B00:00",
|
||||
"Toolchain": "Mimir.BufferSmoke --bioacoustic-train",
|
||||
"HypothesisId": "highband-room-index",
|
||||
"HypothesisNotes": "Bias toward the measured useful upper speech/birdcall band and away from low room junk.",
|
||||
"DegradationName": "warp-light-blur",
|
||||
"SampleRate": 48000,
|
||||
"Seconds": 0.75,
|
||||
"ExpectedEvents": 5,
|
||||
"ObservationCount": 4,
|
||||
"CorrectAnchors": 4,
|
||||
"Precision": 1,
|
||||
"Recall": 0.8,
|
||||
"Confidence": 0.955577364360123,
|
||||
"TimingMeanAbsoluteErrorSamples": 2519.999999999999,
|
||||
"DecodeMilliseconds": 126.3966,
|
||||
"RealtimeFactor": 5.933703912921708,
|
||||
"IdentityScore": 0.9055577364360123,
|
||||
"TimingScore": 0.19533536690526754,
|
||||
"SpeedScore": 0.11867407825843417,
|
||||
"TotalScore": 0.6203409782849627,
|
||||
"RoundTripMelBins": 48,
|
||||
"RoundTripCepstralCoefficients": 20,
|
||||
"RoundTripFrameCount": 67,
|
||||
"RoundTripRmsRatio": 0.00014185500315276218,
|
||||
"ClockHypothesis": {
|
||||
"AnchorCount": 1,
|
||||
"SourceOffsetSamples": 960,
|
||||
"EffectiveSampleRate": 48000,
|
||||
"MeanAbsoluteErrorSamples": 0,
|
||||
"Confidence": 0.19533536690526754,
|
||||
"Score": 0.19533536690526754
|
||||
},
|
||||
"Decoder": {
|
||||
"FftSize": 1024,
|
||||
"HopSize": 256,
|
||||
"MelBins": 40,
|
||||
"CepstralCoefficients": 14,
|
||||
"TableCount": 4,
|
||||
"HashBits": 14,
|
||||
"NearHashRadius": 4,
|
||||
"DenseStepSeconds": 0.035,
|
||||
"ProposalBudgetMultiplier": 8,
|
||||
"TemplateAugmentations": [
|
||||
"template-clean",
|
||||
"template-blur",
|
||||
"template-warp-light",
|
||||
"template-warp-blur"
|
||||
]
|
||||
},
|
||||
"Artifacts": [
|
||||
{
|
||||
"Kind": "pre-warp-audio",
|
||||
"Uri": "highband-room-index/warp-light-blur/pre-warp.wav",
|
||||
"ContentHash": "4862d46ea00c1d387387028f90147b98bd6e36fe594eefdcfa1b6360f7348f29"
|
||||
},
|
||||
{
|
||||
"Kind": "post-warp-audio",
|
||||
"Uri": "highband-room-index/warp-light-blur/post-warp.wav",
|
||||
"ContentHash": "c3bb1eb61dd15004724160816be15f8462944106a1a3f2077c5f97c7901342b9"
|
||||
},
|
||||
{
|
||||
"Kind": "reconstructed-from-detections",
|
||||
"Uri": "highband-room-index/warp-light-blur/reconstructed-from-detections.wav",
|
||||
"ContentHash": "667389c0a15519c9efa30dad5881ee77bd0a562f5ef1f7a7c0f8e69ea1f52181"
|
||||
},
|
||||
{
|
||||
"Kind": "summary-json",
|
||||
"Uri": "highband-room-index/warp-light-blur/summary.json",
|
||||
"ContentHash": ""
|
||||
}
|
||||
],
|
||||
"Observations": [
|
||||
{
|
||||
"EventIndex": 0,
|
||||
"SampleOffset": 1680,
|
||||
"Confidence": 0.9603744762545714
|
||||
},
|
||||
{
|
||||
"EventIndex": 1,
|
||||
"SampleOffset": 15120,
|
||||
"Confidence": 0.93464422622285
|
||||
},
|
||||
{
|
||||
"EventIndex": 2,
|
||||
"SampleOffset": 20160,
|
||||
"Confidence": 0.9766768345263376
|
||||
},
|
||||
{
|
||||
"EventIndex": 3,
|
||||
"SampleOffset": 23520,
|
||||
"Confidence": 0.9506139204367329
|
||||
}
|
||||
]
|
||||
}
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
|
@ -0,0 +1,107 @@
|
|||
{
|
||||
"ResultId": "bioacoustic-20260524-150729:highband-room-index:warp-light",
|
||||
"RunId": "bioacoustic-20260524-150729",
|
||||
"StartedAtUtc": "2026-05-24T15:07:29.1407348\u002B00:00",
|
||||
"Toolchain": "Mimir.BufferSmoke --bioacoustic-train",
|
||||
"HypothesisId": "highband-room-index",
|
||||
"HypothesisNotes": "Bias toward the measured useful upper speech/birdcall band and away from low room junk.",
|
||||
"DegradationName": "warp-light",
|
||||
"SampleRate": 48000,
|
||||
"Seconds": 0.75,
|
||||
"ExpectedEvents": 5,
|
||||
"ObservationCount": 6,
|
||||
"CorrectAnchors": 5,
|
||||
"Precision": 0.8333333333333334,
|
||||
"Recall": 1,
|
||||
"Confidence": 0.8647739333272076,
|
||||
"TimingMeanAbsoluteErrorSamples": 45808,
|
||||
"DecodeMilliseconds": 141.448,
|
||||
"RealtimeFactor": 5.302301906000792,
|
||||
"IdentityScore": 0.9114773933327207,
|
||||
"TimingScore": 0.465446031369141,
|
||||
"SpeedScore": 0.10604603812001584,
|
||||
"TotalScore": 0.6701054771367353,
|
||||
"RoundTripMelBins": 48,
|
||||
"RoundTripCepstralCoefficients": 20,
|
||||
"RoundTripFrameCount": 67,
|
||||
"RoundTripRmsRatio": 1.062162293139017E-06,
|
||||
"ClockHypothesis": {
|
||||
"AnchorCount": 2,
|
||||
"SourceOffsetSamples": -3242.296930469185,
|
||||
"EffectiveSampleRate": 48000,
|
||||
"MeanAbsoluteErrorSamples": 119.9560342534968,
|
||||
"Confidence": 0.465446031369141,
|
||||
"Score": 0.5155376266743559
|
||||
},
|
||||
"Decoder": {
|
||||
"FftSize": 1024,
|
||||
"HopSize": 256,
|
||||
"MelBins": 40,
|
||||
"CepstralCoefficients": 14,
|
||||
"TableCount": 4,
|
||||
"HashBits": 14,
|
||||
"NearHashRadius": 4,
|
||||
"DenseStepSeconds": 0.035,
|
||||
"ProposalBudgetMultiplier": 8,
|
||||
"TemplateAugmentations": [
|
||||
"template-clean",
|
||||
"template-blur",
|
||||
"template-warp-light",
|
||||
"template-warp-blur"
|
||||
]
|
||||
},
|
||||
"Artifacts": [
|
||||
{
|
||||
"Kind": "pre-warp-audio",
|
||||
"Uri": "highband-room-index/warp-light/pre-warp.wav",
|
||||
"ContentHash": "4862d46ea00c1d387387028f90147b98bd6e36fe594eefdcfa1b6360f7348f29"
|
||||
},
|
||||
{
|
||||
"Kind": "post-warp-audio",
|
||||
"Uri": "highband-room-index/warp-light/post-warp.wav",
|
||||
"ContentHash": "64a7e1a53b5529fa38a039055838449e4f4d7da9c96ea47c72e8e159006d6549"
|
||||
},
|
||||
{
|
||||
"Kind": "reconstructed-from-detections",
|
||||
"Uri": "highband-room-index/warp-light/reconstructed-from-detections.wav",
|
||||
"ContentHash": "4ade7e00bc207b7d36ddcaf0072a0dde71df63876b2d528ae5f5ab3f48c0b802"
|
||||
},
|
||||
{
|
||||
"Kind": "summary-json",
|
||||
"Uri": "highband-room-index/warp-light/summary.json",
|
||||
"ContentHash": ""
|
||||
}
|
||||
],
|
||||
"Observations": [
|
||||
{
|
||||
"EventIndex": 0,
|
||||
"SampleOffset": 0,
|
||||
"Confidence": 0.9245597876660968
|
||||
},
|
||||
{
|
||||
"EventIndex": 1,
|
||||
"SampleOffset": 8400,
|
||||
"Confidence": 0.9093535841055699
|
||||
},
|
||||
{
|
||||
"EventIndex": 35,
|
||||
"SampleOffset": 15120,
|
||||
"Confidence": 0.5165926936010917
|
||||
},
|
||||
{
|
||||
"EventIndex": 2,
|
||||
"SampleOffset": 21840,
|
||||
"Confidence": 0.9556672239379088
|
||||
},
|
||||
{
|
||||
"EventIndex": 3,
|
||||
"SampleOffset": 23520,
|
||||
"Confidence": 0.9448449602085223
|
||||
},
|
||||
{
|
||||
"EventIndex": 4,
|
||||
"SampleOffset": 30192,
|
||||
"Confidence": 0.9376253504440569
|
||||
}
|
||||
]
|
||||
}
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
|
@ -0,0 +1,98 @@
|
|||
{
|
||||
"ResultId": "bioacoustic-20260524-150729:robust-wide-index:blur-light",
|
||||
"RunId": "bioacoustic-20260524-150729",
|
||||
"StartedAtUtc": "2026-05-24T15:07:29.1407348\u002B00:00",
|
||||
"Toolchain": "Mimir.BufferSmoke --bioacoustic-train",
|
||||
"HypothesisId": "robust-wide-index",
|
||||
"HypothesisNotes": "More cepstra and a wider augmentation bank. It pays more CPU for warped-room survival.",
|
||||
"DegradationName": "blur-light",
|
||||
"SampleRate": 48000,
|
||||
"Seconds": 0.75,
|
||||
"ExpectedEvents": 5,
|
||||
"ObservationCount": 4,
|
||||
"CorrectAnchors": 4,
|
||||
"Precision": 1,
|
||||
"Recall": 0.8,
|
||||
"Confidence": 0.9847020912578779,
|
||||
"TimingMeanAbsoluteErrorSamples": 1079.999999999999,
|
||||
"DecodeMilliseconds": 263.8216,
|
||||
"RealtimeFactor": 2.842830154922872,
|
||||
"IdentityScore": 0.9084702091257879,
|
||||
"TimingScore": 0.5332666824033109,
|
||||
"SpeedScore": 0.05685660309845744,
|
||||
"TotalScore": 0.6706108531102759,
|
||||
"RoundTripMelBins": 48,
|
||||
"RoundTripCepstralCoefficients": 20,
|
||||
"RoundTripFrameCount": 67,
|
||||
"RoundTripRmsRatio": 0.0011363025982355157,
|
||||
"ClockHypothesis": {
|
||||
"AnchorCount": 3,
|
||||
"SourceOffsetSamples": -1181.8986331291107,
|
||||
"EffectiveSampleRate": 48214.77096170677,
|
||||
"MeanAbsoluteErrorSamples": 204.79233215195967,
|
||||
"Confidence": 0.5332666824033109,
|
||||
"Score": 0.5566159904200616
|
||||
},
|
||||
"Decoder": {
|
||||
"FftSize": 1024,
|
||||
"HopSize": 192,
|
||||
"MelBins": 48,
|
||||
"CepstralCoefficients": 18,
|
||||
"TableCount": 5,
|
||||
"HashBits": 15,
|
||||
"NearHashRadius": 4,
|
||||
"DenseStepSeconds": 0.03,
|
||||
"ProposalBudgetMultiplier": 9,
|
||||
"TemplateAugmentations": [
|
||||
"template-clean",
|
||||
"template-blur",
|
||||
"template-warp-light",
|
||||
"template-warp-blur",
|
||||
"template-warp-heavy"
|
||||
]
|
||||
},
|
||||
"Artifacts": [
|
||||
{
|
||||
"Kind": "pre-warp-audio",
|
||||
"Uri": "robust-wide-index/blur-light/pre-warp.wav",
|
||||
"ContentHash": "4862d46ea00c1d387387028f90147b98bd6e36fe594eefdcfa1b6360f7348f29"
|
||||
},
|
||||
{
|
||||
"Kind": "post-warp-audio",
|
||||
"Uri": "robust-wide-index/blur-light/post-warp.wav",
|
||||
"ContentHash": "f36a51bdd08f1bd617e1109615168f334017f067fd94224422b9fe3d3d310e01"
|
||||
},
|
||||
{
|
||||
"Kind": "reconstructed-from-detections",
|
||||
"Uri": "robust-wide-index/blur-light/reconstructed-from-detections.wav",
|
||||
"ContentHash": "cf0fb32ebdc6e8d707cc0decd77fcf464c1130308a39920b2a36d16f6b5043dc"
|
||||
},
|
||||
{
|
||||
"Kind": "summary-json",
|
||||
"Uri": "robust-wide-index/blur-light/summary.json",
|
||||
"ContentHash": ""
|
||||
}
|
||||
],
|
||||
"Observations": [
|
||||
{
|
||||
"EventIndex": 0,
|
||||
"SampleOffset": 2880,
|
||||
"Confidence": 0.9844071734887759
|
||||
},
|
||||
{
|
||||
"EventIndex": 1,
|
||||
"SampleOffset": 10080,
|
||||
"Confidence": 0.9762337381622903
|
||||
},
|
||||
{
|
||||
"EventIndex": 2,
|
||||
"SampleOffset": 20160,
|
||||
"Confidence": 0.9866738086280044
|
||||
},
|
||||
{
|
||||
"EventIndex": 3,
|
||||
"SampleOffset": 25920,
|
||||
"Confidence": 0.9914936447524411
|
||||
}
|
||||
]
|
||||
}
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
|
@ -0,0 +1,98 @@
|
|||
{
|
||||
"ResultId": "bioacoustic-20260524-150729:robust-wide-index:clean-roundtrip",
|
||||
"RunId": "bioacoustic-20260524-150729",
|
||||
"StartedAtUtc": "2026-05-24T15:07:29.1407348\u002B00:00",
|
||||
"Toolchain": "Mimir.BufferSmoke --bioacoustic-train",
|
||||
"HypothesisId": "robust-wide-index",
|
||||
"HypothesisNotes": "More cepstra and a wider augmentation bank. It pays more CPU for warped-room survival.",
|
||||
"DegradationName": "clean-roundtrip",
|
||||
"SampleRate": 48000,
|
||||
"Seconds": 0.75,
|
||||
"ExpectedEvents": 5,
|
||||
"ObservationCount": 4,
|
||||
"CorrectAnchors": 4,
|
||||
"Precision": 1,
|
||||
"Recall": 0.8,
|
||||
"Confidence": 0.9734754168919428,
|
||||
"TimingMeanAbsoluteErrorSamples": 360.0000000000009,
|
||||
"DecodeMilliseconds": 227.5334,
|
||||
"RealtimeFactor": 3.296219368233411,
|
||||
"IdentityScore": 0.9073475416891943,
|
||||
"TimingScore": 0.530687958219793,
|
||||
"SpeedScore": 0.06592438736466823,
|
||||
"TotalScore": 0.6712641857997969,
|
||||
"RoundTripMelBins": 48,
|
||||
"RoundTripCepstralCoefficients": 20,
|
||||
"RoundTripFrameCount": 67,
|
||||
"RoundTripRmsRatio": 0.014436986876321297,
|
||||
"ClockHypothesis": {
|
||||
"AnchorCount": 3,
|
||||
"SourceOffsetSamples": 256.32714656469216,
|
||||
"EffectiveSampleRate": 48215.69514839496,
|
||||
"MeanAbsoluteErrorSamples": 205.85925862588226,
|
||||
"Confidence": 0.530687958219793,
|
||||
"Score": 0.551814502749205
|
||||
},
|
||||
"Decoder": {
|
||||
"FftSize": 1024,
|
||||
"HopSize": 192,
|
||||
"MelBins": 48,
|
||||
"CepstralCoefficients": 18,
|
||||
"TableCount": 5,
|
||||
"HashBits": 15,
|
||||
"NearHashRadius": 4,
|
||||
"DenseStepSeconds": 0.03,
|
||||
"ProposalBudgetMultiplier": 9,
|
||||
"TemplateAugmentations": [
|
||||
"template-clean",
|
||||
"template-blur",
|
||||
"template-warp-light",
|
||||
"template-warp-blur",
|
||||
"template-warp-heavy"
|
||||
]
|
||||
},
|
||||
"Artifacts": [
|
||||
{
|
||||
"Kind": "pre-warp-audio",
|
||||
"Uri": "robust-wide-index/clean-roundtrip/pre-warp.wav",
|
||||
"ContentHash": "4862d46ea00c1d387387028f90147b98bd6e36fe594eefdcfa1b6360f7348f29"
|
||||
},
|
||||
{
|
||||
"Kind": "post-warp-audio",
|
||||
"Uri": "robust-wide-index/clean-roundtrip/post-warp.wav",
|
||||
"ContentHash": "3b9ca18e7ae4841d0673baa1b6468fc1f37bb1f7f309a3b6e3ce4356f1ba3612"
|
||||
},
|
||||
{
|
||||
"Kind": "reconstructed-from-detections",
|
||||
"Uri": "robust-wide-index/clean-roundtrip/reconstructed-from-detections.wav",
|
||||
"ContentHash": "9ce83aade2bfd782cce9ffe60ea8ceca7558b9202fa89c0521f9c1ba9097619d"
|
||||
},
|
||||
{
|
||||
"Kind": "summary-json",
|
||||
"Uri": "robust-wide-index/clean-roundtrip/summary.json",
|
||||
"ContentHash": ""
|
||||
}
|
||||
],
|
||||
"Observations": [
|
||||
{
|
||||
"EventIndex": 0,
|
||||
"SampleOffset": 4320,
|
||||
"Confidence": 0.9699188108387837
|
||||
},
|
||||
{
|
||||
"EventIndex": 1,
|
||||
"SampleOffset": 11520,
|
||||
"Confidence": 0.9747413632902306
|
||||
},
|
||||
{
|
||||
"EventIndex": 2,
|
||||
"SampleOffset": 18720,
|
||||
"Confidence": 0.9762583202076656
|
||||
},
|
||||
{
|
||||
"EventIndex": 3,
|
||||
"SampleOffset": 27360,
|
||||
"Confidence": 0.9729831732310916
|
||||
}
|
||||
]
|
||||
}
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
|
@ -0,0 +1,103 @@
|
|||
{
|
||||
"ResultId": "bioacoustic-20260524-150729:robust-wide-index:warp-heavy-blur",
|
||||
"RunId": "bioacoustic-20260524-150729",
|
||||
"StartedAtUtc": "2026-05-24T15:07:29.1407348\u002B00:00",
|
||||
"Toolchain": "Mimir.BufferSmoke --bioacoustic-train",
|
||||
"HypothesisId": "robust-wide-index",
|
||||
"HypothesisNotes": "More cepstra and a wider augmentation bank. It pays more CPU for warped-room survival.",
|
||||
"DegradationName": "warp-heavy-blur",
|
||||
"SampleRate": 48000,
|
||||
"Seconds": 0.75,
|
||||
"ExpectedEvents": 5,
|
||||
"ObservationCount": 5,
|
||||
"CorrectAnchors": 4,
|
||||
"Precision": 0.8,
|
||||
"Recall": 0.8,
|
||||
"Confidence": 0.8572875750018513,
|
||||
"TimingMeanAbsoluteErrorSamples": 46176,
|
||||
"DecodeMilliseconds": 265.865,
|
||||
"RealtimeFactor": 2.820980572847122,
|
||||
"IdentityScore": 0.8057287575001852,
|
||||
"TimingScore": 0.19413521186402094,
|
||||
"SpeedScore": 0.05641961145694244,
|
||||
"TotalScore": 0.5457800900770271,
|
||||
"RoundTripMelBins": 48,
|
||||
"RoundTripCepstralCoefficients": 20,
|
||||
"RoundTripFrameCount": 67,
|
||||
"RoundTripRmsRatio": 0.0004699618910325598,
|
||||
"ClockHypothesis": {
|
||||
"AnchorCount": 1,
|
||||
"SourceOffsetSamples": -480,
|
||||
"EffectiveSampleRate": 48000,
|
||||
"MeanAbsoluteErrorSamples": 0,
|
||||
"Confidence": 0.19413521186402094,
|
||||
"Score": 0.19413521186402094
|
||||
},
|
||||
"Decoder": {
|
||||
"FftSize": 1024,
|
||||
"HopSize": 192,
|
||||
"MelBins": 48,
|
||||
"CepstralCoefficients": 18,
|
||||
"TableCount": 5,
|
||||
"HashBits": 15,
|
||||
"NearHashRadius": 4,
|
||||
"DenseStepSeconds": 0.03,
|
||||
"ProposalBudgetMultiplier": 9,
|
||||
"TemplateAugmentations": [
|
||||
"template-clean",
|
||||
"template-blur",
|
||||
"template-warp-light",
|
||||
"template-warp-blur",
|
||||
"template-warp-heavy"
|
||||
]
|
||||
},
|
||||
"Artifacts": [
|
||||
{
|
||||
"Kind": "pre-warp-audio",
|
||||
"Uri": "robust-wide-index/warp-heavy-blur/pre-warp.wav",
|
||||
"ContentHash": "4862d46ea00c1d387387028f90147b98bd6e36fe594eefdcfa1b6360f7348f29"
|
||||
},
|
||||
{
|
||||
"Kind": "post-warp-audio",
|
||||
"Uri": "robust-wide-index/warp-heavy-blur/post-warp.wav",
|
||||
"ContentHash": "3ca3e9bbaa0ae0fc00ebe085f968f53d45e1a2b71511e851c1aa0bbf6cd34410"
|
||||
},
|
||||
{
|
||||
"Kind": "reconstructed-from-detections",
|
||||
"Uri": "robust-wide-index/warp-heavy-blur/reconstructed-from-detections.wav",
|
||||
"ContentHash": "22ef7a9bcc0718435942a3c66af3174a24c196bd8b36c5bdfa467507ea59bed4"
|
||||
},
|
||||
{
|
||||
"Kind": "summary-json",
|
||||
"Uri": "robust-wide-index/warp-heavy-blur/summary.json",
|
||||
"ContentHash": ""
|
||||
}
|
||||
],
|
||||
"Observations": [
|
||||
{
|
||||
"EventIndex": 0,
|
||||
"SampleOffset": 0,
|
||||
"Confidence": 0.9527487074713425
|
||||
},
|
||||
{
|
||||
"EventIndex": 1,
|
||||
"SampleOffset": 10080,
|
||||
"Confidence": 0.886024872438331
|
||||
},
|
||||
{
|
||||
"EventIndex": 30,
|
||||
"SampleOffset": 11520,
|
||||
"Confidence": 0.539710964976235
|
||||
},
|
||||
{
|
||||
"EventIndex": 2,
|
||||
"SampleOffset": 18720,
|
||||
"Confidence": 0.9706760593201047
|
||||
},
|
||||
{
|
||||
"EventIndex": 3,
|
||||
"SampleOffset": 24480,
|
||||
"Confidence": 0.9372772708032441
|
||||
}
|
||||
]
|
||||
}
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
|
@ -0,0 +1,103 @@
|
|||
{
|
||||
"ResultId": "bioacoustic-20260524-150729:robust-wide-index:warp-light-blur",
|
||||
"RunId": "bioacoustic-20260524-150729",
|
||||
"StartedAtUtc": "2026-05-24T15:07:29.1407348\u002B00:00",
|
||||
"Toolchain": "Mimir.BufferSmoke --bioacoustic-train",
|
||||
"HypothesisId": "robust-wide-index",
|
||||
"HypothesisNotes": "More cepstra and a wider augmentation bank. It pays more CPU for warped-room survival.",
|
||||
"DegradationName": "warp-light-blur",
|
||||
"SampleRate": 48000,
|
||||
"Seconds": 0.75,
|
||||
"ExpectedEvents": 5,
|
||||
"ObservationCount": 5,
|
||||
"CorrectAnchors": 4,
|
||||
"Precision": 0.8,
|
||||
"Recall": 0.8,
|
||||
"Confidence": 0.9141968184634031,
|
||||
"TimingMeanAbsoluteErrorSamples": 13920,
|
||||
"DecodeMilliseconds": 224.6397,
|
||||
"RealtimeFactor": 3.338679672382041,
|
||||
"IdentityScore": 0.8114196818463404,
|
||||
"TimingScore": 0.525243980114753,
|
||||
"SpeedScore": 0.06677359344764082,
|
||||
"TotalScore": 0.6109788378549148,
|
||||
"RoundTripMelBins": 48,
|
||||
"RoundTripCepstralCoefficients": 20,
|
||||
"RoundTripFrameCount": 67,
|
||||
"RoundTripRmsRatio": 0.00014185500315276218,
|
||||
"ClockHypothesis": {
|
||||
"AnchorCount": 3,
|
||||
"SourceOffsetSamples": -2618.3634428642745,
|
||||
"EffectiveSampleRate": 48207.36165285075,
|
||||
"MeanAbsoluteErrorSamples": 204.5918436878574,
|
||||
"Confidence": 0.525243980114753,
|
||||
"Score": 0.5490109724317167
|
||||
},
|
||||
"Decoder": {
|
||||
"FftSize": 1024,
|
||||
"HopSize": 192,
|
||||
"MelBins": 48,
|
||||
"CepstralCoefficients": 18,
|
||||
"TableCount": 5,
|
||||
"HashBits": 15,
|
||||
"NearHashRadius": 4,
|
||||
"DenseStepSeconds": 0.03,
|
||||
"ProposalBudgetMultiplier": 9,
|
||||
"TemplateAugmentations": [
|
||||
"template-clean",
|
||||
"template-blur",
|
||||
"template-warp-light",
|
||||
"template-warp-blur",
|
||||
"template-warp-heavy"
|
||||
]
|
||||
},
|
||||
"Artifacts": [
|
||||
{
|
||||
"Kind": "pre-warp-audio",
|
||||
"Uri": "robust-wide-index/warp-light-blur/pre-warp.wav",
|
||||
"ContentHash": "4862d46ea00c1d387387028f90147b98bd6e36fe594eefdcfa1b6360f7348f29"
|
||||
},
|
||||
{
|
||||
"Kind": "post-warp-audio",
|
||||
"Uri": "robust-wide-index/warp-light-blur/post-warp.wav",
|
||||
"ContentHash": "c3bb1eb61dd15004724160816be15f8462944106a1a3f2077c5f97c7901342b9"
|
||||
},
|
||||
{
|
||||
"Kind": "reconstructed-from-detections",
|
||||
"Uri": "robust-wide-index/warp-light-blur/reconstructed-from-detections.wav",
|
||||
"ContentHash": "a6c2e9146b6d201492c12275700726d4cb489d3030ba605cc1c190bad871e84e"
|
||||
},
|
||||
{
|
||||
"Kind": "summary-json",
|
||||
"Uri": "robust-wide-index/warp-light-blur/summary.json",
|
||||
"ContentHash": ""
|
||||
}
|
||||
],
|
||||
"Observations": [
|
||||
{
|
||||
"EventIndex": 0,
|
||||
"SampleOffset": 1440,
|
||||
"Confidence": 0.9568438177382963
|
||||
},
|
||||
{
|
||||
"EventIndex": 1,
|
||||
"SampleOffset": 8640,
|
||||
"Confidence": 0.9299836885720597
|
||||
},
|
||||
{
|
||||
"EventIndex": 9,
|
||||
"SampleOffset": 11520,
|
||||
"Confidence": 0.7589848046963656
|
||||
},
|
||||
{
|
||||
"EventIndex": 2,
|
||||
"SampleOffset": 18720,
|
||||
"Confidence": 0.9809965027688126
|
||||
},
|
||||
{
|
||||
"EventIndex": 3,
|
||||
"SampleOffset": 24480,
|
||||
"Confidence": 0.9441752785414812
|
||||
}
|
||||
]
|
||||
}
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
|
@ -0,0 +1,113 @@
|
|||
{
|
||||
"ResultId": "bioacoustic-20260524-150729:robust-wide-index:warp-light",
|
||||
"RunId": "bioacoustic-20260524-150729",
|
||||
"StartedAtUtc": "2026-05-24T15:07:29.1407348\u002B00:00",
|
||||
"Toolchain": "Mimir.BufferSmoke --bioacoustic-train",
|
||||
"HypothesisId": "robust-wide-index",
|
||||
"HypothesisNotes": "More cepstra and a wider augmentation bank. It pays more CPU for warped-room survival.",
|
||||
"DegradationName": "warp-light",
|
||||
"SampleRate": 48000,
|
||||
"Seconds": 0.75,
|
||||
"ExpectedEvents": 5,
|
||||
"ObservationCount": 7,
|
||||
"CorrectAnchors": 4,
|
||||
"Precision": 0.5714285714285714,
|
||||
"Recall": 0.8,
|
||||
"Confidence": 0.6973654063470601,
|
||||
"TimingMeanAbsoluteErrorSamples": 240610.2857142857,
|
||||
"DecodeMilliseconds": 228.0981,
|
||||
"RealtimeFactor": 3.2880589535818143,
|
||||
"IdentityScore": 0.6868793977775632,
|
||||
"TimingScore": 0.18675545569962676,
|
||||
"SpeedScore": 0.06576117907163628,
|
||||
"TotalScore": 0.47263344446234923,
|
||||
"RoundTripMelBins": 48,
|
||||
"RoundTripCepstralCoefficients": 20,
|
||||
"RoundTripFrameCount": 67,
|
||||
"RoundTripRmsRatio": 1.062162293139017E-06,
|
||||
"ClockHypothesis": {
|
||||
"AnchorCount": 1,
|
||||
"SourceOffsetSamples": -960,
|
||||
"EffectiveSampleRate": 48000,
|
||||
"MeanAbsoluteErrorSamples": 0,
|
||||
"Confidence": 0.18675545569962676,
|
||||
"Score": 0.18675545569962676
|
||||
},
|
||||
"Decoder": {
|
||||
"FftSize": 1024,
|
||||
"HopSize": 192,
|
||||
"MelBins": 48,
|
||||
"CepstralCoefficients": 18,
|
||||
"TableCount": 5,
|
||||
"HashBits": 15,
|
||||
"NearHashRadius": 4,
|
||||
"DenseStepSeconds": 0.03,
|
||||
"ProposalBudgetMultiplier": 9,
|
||||
"TemplateAugmentations": [
|
||||
"template-clean",
|
||||
"template-blur",
|
||||
"template-warp-light",
|
||||
"template-warp-blur",
|
||||
"template-warp-heavy"
|
||||
]
|
||||
},
|
||||
"Artifacts": [
|
||||
{
|
||||
"Kind": "pre-warp-audio",
|
||||
"Uri": "robust-wide-index/warp-light/pre-warp.wav",
|
||||
"ContentHash": "4862d46ea00c1d387387028f90147b98bd6e36fe594eefdcfa1b6360f7348f29"
|
||||
},
|
||||
{
|
||||
"Kind": "post-warp-audio",
|
||||
"Uri": "robust-wide-index/warp-light/post-warp.wav",
|
||||
"ContentHash": "64a7e1a53b5529fa38a039055838449e4f4d7da9c96ea47c72e8e159006d6549"
|
||||
},
|
||||
{
|
||||
"Kind": "reconstructed-from-detections",
|
||||
"Uri": "robust-wide-index/warp-light/reconstructed-from-detections.wav",
|
||||
"ContentHash": "caf69797d6f43f5f5a3eee41515923dcd3b25563a54692427c8227df0233b2f1"
|
||||
},
|
||||
{
|
||||
"Kind": "summary-json",
|
||||
"Uri": "robust-wide-index/warp-light/summary.json",
|
||||
"ContentHash": ""
|
||||
}
|
||||
],
|
||||
"Observations": [
|
||||
{
|
||||
"EventIndex": 0,
|
||||
"SampleOffset": 2880,
|
||||
"Confidence": 0.9337772784981337
|
||||
},
|
||||
{
|
||||
"EventIndex": 1,
|
||||
"SampleOffset": 8640,
|
||||
"Confidence": 0.9175578116476332
|
||||
},
|
||||
{
|
||||
"EventIndex": 73,
|
||||
"SampleOffset": 12960,
|
||||
"Confidence": 0.3417469526010798
|
||||
},
|
||||
{
|
||||
"EventIndex": 30,
|
||||
"SampleOffset": 14400,
|
||||
"Confidence": 0.5427608991372147
|
||||
},
|
||||
{
|
||||
"EventIndex": 119,
|
||||
"SampleOffset": 15840,
|
||||
"Confidence": 0.24756166742074842
|
||||
},
|
||||
{
|
||||
"EventIndex": 2,
|
||||
"SampleOffset": 23040,
|
||||
"Confidence": 0.9512111997475022
|
||||
},
|
||||
{
|
||||
"EventIndex": 3,
|
||||
"SampleOffset": 30192,
|
||||
"Confidence": 0.946942035377108
|
||||
}
|
||||
]
|
||||
}
|
||||
|
|
@ -0,0 +1,19 @@
|
|||
{
|
||||
"runId": "bioacoustic-20260524-150729",
|
||||
"startedAtUtc": "2026-05-24T15:07:29.1407348\u002B00:00",
|
||||
"sampleRate": 48000,
|
||||
"seconds": 0.75,
|
||||
"resultCount": 20,
|
||||
"cache": "bioacoustic-training.cc",
|
||||
"best": {
|
||||
"ResultId": "bioacoustic-20260524-150729:compact-fast-index:clean-roundtrip",
|
||||
"HypothesisId": "compact-fast-index",
|
||||
"DegradationName": "clean-roundtrip",
|
||||
"TotalScore": 0.752180275653637,
|
||||
"IdentityScore": 0.9076804919634105,
|
||||
"TimingScore": 0.905360983926792,
|
||||
"SpeedScore": 0.13226696764749973,
|
||||
"DecodeMilliseconds": 113.407,
|
||||
"RealtimeFactor": 6.613348382374986
|
||||
}
|
||||
}
|
||||
Binary file not shown.
|
|
@ -135,3 +135,11 @@ The latest training receipt says identity can survive the current
|
|||
mel-cepstral degradation panel, but timing collapses under warped domains. That
|
||||
points the next cut at a global delay/clock/path hypothesis over detected words,
|
||||
not a larger brute-force dictionary.
|
||||
|
||||
That cut has started in the harness. `--bioacoustic-train` now persists a
|
||||
global clock hypothesis per result and scores timing through its confidence
|
||||
rather than raw absolute word offset. The latest corrected receipt is
|
||||
`artifacts/bioacoustic-training/bioacoustic-20260524-150729/`; it shows compact
|
||||
indexing still wins clean throughput, baseline indexing remains steadier under
|
||||
degradation, highband indexing has real warped-path value, and anchor density
|
||||
must become its own benchmark metric.
|
||||
|
|
|
|||
|
|
@ -51,6 +51,42 @@ Speed tells whether the receiver shape can plausibly become a streaming machine.
|
|||
|
||||
Run:
|
||||
|
||||
```text
|
||||
artifacts/bioacoustic-training/bioacoustic-20260524-150729/
|
||||
```
|
||||
|
||||
This run adds global clock hypothesis scoring. Timing is no longer raw
|
||||
per-word absolute error; it is the confidence of a coherent clock/path fit over
|
||||
detected words. Single-anchor fits are deliberately weak, and sample-rate slope
|
||||
is only allowed when enough anchors exist.
|
||||
|
||||
Best aggregate result:
|
||||
|
||||
```text
|
||||
compact-fast-index / clean-roundtrip
|
||||
total=0.752 identity=0.908 timing=0.905 speed=0.132 realtime=6.6x
|
||||
```
|
||||
|
||||
Useful observations:
|
||||
|
||||
- `compact-fast-index` is still the clean-throughput winner when enough anchors
|
||||
survive.
|
||||
- `baseline-mfcc-index` is still the steadier degraded-path receiver.
|
||||
- `highband-room-index` shows real value under warp, but needs more anchor
|
||||
density before it can own timing.
|
||||
- `compact-fast-index` remains faster, but its warped-path identity and timing
|
||||
confidence are weaker.
|
||||
- `robust-wide-index` still costs too much for the current panel, but it gives
|
||||
useful pressure under heavier degradation.
|
||||
- The global clock hypothesis is the right scoring authority, but short windows
|
||||
and weak degradations can still starve it. Future training runs should score
|
||||
time-to-lock separately from identity. Anchor coverage is now persisted in the
|
||||
CultCache clock snapshot so optimization can target lock density directly.
|
||||
|
||||
Previous receipt:
|
||||
|
||||
Run:
|
||||
|
||||
```text
|
||||
artifacts/bioacoustic-training/bioacoustic-20260524-103438/
|
||||
```
|
||||
|
|
|
|||
|
|
@ -91,6 +91,9 @@ a named invariant that the native runtime cannot protect yet.
|
|||
- `MimirAudioSynchronizationStateTracker` owns the first smoothed per-source
|
||||
sync state: latest fractional delay, smoothed delay, confidence, per-band
|
||||
response evidence, and delay-slope/SRO estimate in ppm.
|
||||
- `faust/mimir_alignment_actuator.dsp` is the first Faust-owned sample movement
|
||||
surface: six channels of bounded fractional delay and gain controls. Mimir
|
||||
estimates delay/SRO; Faust/native DSP applies correction.
|
||||
- `MimirRuntime` updates audio sync analysis online as a bounded rotating
|
||||
service and can emit live sync telemetry with
|
||||
`MIMIR_SYNC_TELEMETRY_SECONDS`. UI and telemetry read cached reports/states;
|
||||
|
|
@ -153,7 +156,9 @@ a named invariant that the native runtime cannot protect yet.
|
|||
sync report.
|
||||
The active bioacoustic standalone receiver test recovers a delayed audio
|
||||
stream to below printed microsecond precision using only the motif codebook
|
||||
and schedule state.
|
||||
and schedule state. `--bioacoustic-actuator-self-test` estimates a synthetic
|
||||
317.375-sample bioacoustic delay, applies the fractional correction, and
|
||||
remeasures the residual below printed microsecond precision.
|
||||
- `MimirVideoFrameDescriptor` for dimensions, pixel format, stride, device
|
||||
timestamp, and native/GPU handle metadata.
|
||||
- `IMimirVideoCaptureDriver` and `MimirVideoCaptureDriverSource` as the live
|
||||
|
|
|
|||
37
faust/mimir_alignment_actuator.dsp
Normal file
37
faust/mimir_alignment_actuator.dsp
Normal file
|
|
@ -0,0 +1,37 @@
|
|||
declare name "Mimir Alignment Actuator";
|
||||
declare version "0.1";
|
||||
declare author "Mimir";
|
||||
declare license "MIT";
|
||||
|
||||
import("stdfaust.lib");
|
||||
|
||||
// Faust/native DSP owns sample movement. Mimir.Runtime estimates delay/SRO and
|
||||
// writes control values; this graph applies bounded fractional delay per source.
|
||||
// Positive delay controls hold a source back. Upstream runtime policy should
|
||||
// choose which sources are reference and which need correction.
|
||||
|
||||
maxDelay = 4096;
|
||||
|
||||
delay0 = hslider("source0/delay_samples", 0.0, 0.0, maxDelay, 0.001);
|
||||
delay1 = hslider("source1/delay_samples", 0.0, 0.0, maxDelay, 0.001);
|
||||
delay2 = hslider("source2/delay_samples", 0.0, 0.0, maxDelay, 0.001);
|
||||
delay3 = hslider("source3/delay_samples", 0.0, 0.0, maxDelay, 0.001);
|
||||
delay4 = hslider("source4/delay_samples", 0.0, 0.0, maxDelay, 0.001);
|
||||
delay5 = hslider("source5/delay_samples", 0.0, 0.0, maxDelay, 0.001);
|
||||
|
||||
gain0 = hslider("source0/gain", 1.0, 0.0, 2.0, 0.001);
|
||||
gain1 = hslider("source1/gain", 1.0, 0.0, 2.0, 0.001);
|
||||
gain2 = hslider("source2/gain", 1.0, 0.0, 2.0, 0.001);
|
||||
gain3 = hslider("source3/gain", 1.0, 0.0, 2.0, 0.001);
|
||||
gain4 = hslider("source4/gain", 1.0, 0.0, 2.0, 0.001);
|
||||
gain5 = hslider("source5/gain", 1.0, 0.0, 2.0, 0.001);
|
||||
|
||||
align(delay, gain, input) = input : de.fdelay(maxDelay, delay) : *(gain);
|
||||
|
||||
process =
|
||||
align(delay0, gain0),
|
||||
align(delay1, gain1),
|
||||
align(delay2, gain2),
|
||||
align(delay3, gain3),
|
||||
align(delay4, gain4),
|
||||
align(delay5, gain5);
|
||||
|
|
@ -191,6 +191,12 @@ artifact, but it leaves a concrete response profile: 14 frames, 12 anchors,
|
|||
0.865 clock confidence, and strongest bins around 4525, 4075, and 7225 Hz.
|
||||
Acoustic robustness is now the open problem, not clean loopback timing,
|
||||
standalone decoder shape, or basic response evidence.
|
||||
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
|
||||
--delay-samples 317.375` proves the control loop shape by estimating a
|
||||
bioacoustic delay, applying fractional correction, and remeasuring residual
|
||||
below printed microsecond precision.
|
||||
|
||||
## Visual Fusion
|
||||
|
||||
|
|
|
|||
|
|
@ -44,6 +44,13 @@ if (args.Any(arg => string.Equals(arg, "--bioacoustic-train", StringComparison.O
|
|||
ParseStringOption(args, "--output", "artifacts/bioacoustic-training")).ConfigureAwait(false);
|
||||
}
|
||||
|
||||
if (args.Any(arg => string.Equals(arg, "--bioacoustic-actuator-self-test", StringComparison.OrdinalIgnoreCase)))
|
||||
{
|
||||
return RunBioacousticActuatorSelfTest(
|
||||
ParseIntOption(args, "--sample-rate", MimirBioacousticTimeline.SampleRate),
|
||||
ParseDoubleOption(args, "--delay-samples", 317.375));
|
||||
}
|
||||
|
||||
if (args.Any(arg => string.Equals(arg, "--standalone-chirp-bin-self-test", StringComparison.OrdinalIgnoreCase)))
|
||||
{
|
||||
return RunStandaloneChirpBinSelfTest(
|
||||
|
|
@ -470,6 +477,7 @@ static int RunBioacousticCepstralSmoke(int sampleRate, double seconds)
|
|||
var recall = expectedEvents.Count == 0 ? 0.0 : correctAnchors / (double)expectedEvents.Count;
|
||||
var confidence = observations.Count == 0 ? 0.0 : observations.Average(observation => observation.Confidence);
|
||||
var mae = MeanCepstralTimingError(observations, timeline, sampleRate);
|
||||
var clock = FitBioacousticClockHypothesis(observations, timeline, sampleRate);
|
||||
var passed = correctAnchors >= Math.Min(3, expectedEvents.Count) &&
|
||||
precision >= 0.50 &&
|
||||
recall >= 0.35 &&
|
||||
|
|
@ -477,6 +485,7 @@ static int RunBioacousticCepstralSmoke(int sampleRate, double seconds)
|
|||
Console.WriteLine(
|
||||
$"bioacoustic-cepstral-smoke decoder=indexed-mfcc-word setting={setting.Name} observations={observations.Count} correct={correctAnchors}/{expectedEvents.Count} " +
|
||||
$"precision={precision:0.000} recall={recall:0.000} confidence={confidence:0.000} mae={mae:0.000} " +
|
||||
$"globalAnchors={clock?.AnchorCount ?? 0} globalMae={clock?.MeanAbsoluteErrorSamples ?? double.PositiveInfinity:0.000} globalOffset={clock?.SourceOffsetSamples ?? double.NaN:0.000} globalRate={clock?.EffectiveSampleRate ?? double.NaN:0.000} " +
|
||||
$"melBins={analysis.MelBins} cepstra={analysis.CepstralCoefficients} stftFrames={analysis.FrameCount} rmsRatio={analysis.RmsRatio:0.000} pass={passed}");
|
||||
if (!passed)
|
||||
{
|
||||
|
|
@ -557,11 +566,12 @@ static async Task<int> RunBioacousticTrainingAsync(int sampleRate, double second
|
|||
var recall = expectedEvents.Count == 0 ? 0.0 : correctAnchors / (double)expectedEvents.Count;
|
||||
var confidence = observations.Count == 0 ? 0.0 : observations.Average(observation => observation.Confidence);
|
||||
var timingMae = MeanCepstralTimingError(observations, timeline, sampleRate);
|
||||
var clock = FitBioacousticClockHypothesis(observations, timeline, sampleRate);
|
||||
var globalTimingMae = clock?.MeanAbsoluteErrorSamples ?? double.PositiveInfinity;
|
||||
var anchorCoverage = expectedEvents.Count == 0 || clock == null ? 0.0 : clock.AnchorCount / (double)expectedEvents.Count;
|
||||
var realtime = decodeMilliseconds <= 0.0 ? double.PositiveInfinity : seconds * 1000.0 / decodeMilliseconds;
|
||||
var identityScore = precision * 0.45 + recall * 0.45 + confidence * 0.10;
|
||||
var timingScore = double.IsFinite(timingMae)
|
||||
? 1.0 / (1.0 + timingMae / Math.Max(1.0, sampleRate * 0.005))
|
||||
: 0.0;
|
||||
var timingScore = clock?.Confidence ?? 0.0;
|
||||
var speedScore = Math.Clamp(realtime / 50.0, 0.0, 1.0);
|
||||
var totalScore = identityScore * 0.62 + timingScore * 0.18 + speedScore * 0.20;
|
||||
var reconstructed = ReconstructDetectedBioacousticSong(observations, source.Length, sampleRate);
|
||||
|
|
@ -595,6 +605,16 @@ static async Task<int> RunBioacousticTrainingAsync(int sampleRate, double second
|
|||
analysis.CepstralCoefficients,
|
||||
analysis.FrameCount,
|
||||
analysis.RmsRatio,
|
||||
clock == null
|
||||
? new BioacousticClockHypothesisSnapshot(0, 0, 0, 0, 0, 0, 0)
|
||||
: new BioacousticClockHypothesisSnapshot(
|
||||
clock.AnchorCount,
|
||||
clock.SourceOffsetSamples,
|
||||
clock.EffectiveSampleRate,
|
||||
clock.MeanAbsoluteErrorSamples,
|
||||
clock.Confidence,
|
||||
clock.Score,
|
||||
anchorCoverage),
|
||||
new BioacousticTrainingDecoderSnapshot(
|
||||
hypothesis.Decoder.FftSize,
|
||||
hypothesis.Decoder.HopSize,
|
||||
|
|
@ -633,7 +653,7 @@ static async Task<int> RunBioacousticTrainingAsync(int sampleRate, double second
|
|||
results.Add(result);
|
||||
Console.WriteLine(
|
||||
$"bioacoustic-train hypothesis={hypothesis.Id} degradation={degradation.Name} total={totalScore:0.000} identity={identityScore:0.000} timing={timingScore:0.000} speed={speedScore:0.000} " +
|
||||
$"precision={precision:0.000} recall={recall:0.000} confidence={confidence:0.000} mae={timingMae:0.000} decodeMs={decodeMilliseconds:0.000} realtime={realtime:0.0}x artifacts={RelativePath(Directory.GetCurrentDirectory(), settingDirectory)}");
|
||||
$"precision={precision:0.000} recall={recall:0.000} confidence={confidence:0.000} mae={timingMae:0.000} globalMae={globalTimingMae:0.000} globalAnchors={clock?.AnchorCount ?? 0} anchorCoverage={anchorCoverage:0.000} decodeMs={decodeMilliseconds:0.000} realtime={realtime:0.0}x artifacts={RelativePath(Directory.GetCurrentDirectory(), settingDirectory)}");
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -784,6 +804,66 @@ static int RunActiveSyncSelfTest(int sampleRate, MimirAudioSyncMode mode)
|
|||
: 1;
|
||||
}
|
||||
|
||||
static int RunBioacousticActuatorSelfTest(int sampleRate, double delaySamples)
|
||||
{
|
||||
var segments = Enumerable.Range(0, 4)
|
||||
.Select(segment => MimirBioacousticTimeline.Default.RenderSegmentMonoFloat((ulong)segment, sampleRate))
|
||||
.ToArray();
|
||||
var reference = new float[segments.Sum(segment => segment.Length)];
|
||||
var writeOffset = 0;
|
||||
foreach (var segment in segments)
|
||||
{
|
||||
Array.Copy(segment, 0, reference, writeOffset, segment.Length);
|
||||
writeOffset += segment.Length;
|
||||
}
|
||||
|
||||
var delayed = ApplyFractionalDelay(reference, delaySamples);
|
||||
var before = EstimateBioacousticDelay(reference, delayed, sampleRate);
|
||||
if (before == null)
|
||||
{
|
||||
Console.Error.WriteLine("bioacoustic actuator self-test failed: analyzer could not estimate the delayed candidate");
|
||||
return 1;
|
||||
}
|
||||
|
||||
var corrected = ApplyFractionalDelay(delayed, -before.FractionalDelaySamples);
|
||||
var after = EstimateBioacousticDelay(reference, corrected, sampleRate);
|
||||
if (after == null)
|
||||
{
|
||||
Console.Error.WriteLine("bioacoustic actuator self-test failed: analyzer could not estimate the corrected candidate");
|
||||
return 1;
|
||||
}
|
||||
|
||||
var beforeError = Math.Abs(before.FractionalDelaySamples - delaySamples);
|
||||
var afterResidual = Math.Abs(after.FractionalDelaySamples);
|
||||
Console.WriteLine(
|
||||
$"bioacoustic-actuator-self-test estimatedDelay={before.FractionalDelaySamples:0.000000} expected={delaySamples:0.000000} beforeErrorSamples={beforeError:0.000000} " +
|
||||
$"correctedResidualSamples={afterResidual:0.000000} correctedResidualUs={afterResidual * 1_000_000.0 / sampleRate:0.000} beforeConfidence={before.Confidence:0.000} afterConfidence={after.Confidence:0.000}");
|
||||
return beforeError < 0.05 &&
|
||||
afterResidual * 1_000_000.0 / sampleRate < 1.0 &&
|
||||
after.Confidence > 0.70
|
||||
? 0
|
||||
: 1;
|
||||
}
|
||||
|
||||
static MimirAudioSynchronizationReport? EstimateBioacousticDelay(float[] reference, float[] candidate, int sampleRate)
|
||||
{
|
||||
const string referenceSourceId = "actuator-reference";
|
||||
const string candidateSourceId = "actuator-candidate";
|
||||
var referenceBuffer = new MimirRollingStreamBuffer(
|
||||
new MimirStreamDescriptor(referenceSourceId, MimirStreamKind.Audio, MimirStreamOrigin.LocalDevice),
|
||||
TimeSpan.FromSeconds(5));
|
||||
var candidateBuffer = new MimirRollingStreamBuffer(
|
||||
new MimirStreamDescriptor(candidateSourceId, MimirStreamKind.Audio, MimirStreamOrigin.LocalDevice),
|
||||
TimeSpan.FromSeconds(5));
|
||||
AppendFloatBlock(referenceBuffer, referenceSourceId, reference, sampleRate);
|
||||
AppendFloatBlock(candidateBuffer, candidateSourceId, candidate, sampleRate);
|
||||
|
||||
var analyzer = new MimirAudioSynchronizationAnalyzer();
|
||||
return analyzer
|
||||
.Analyze([referenceBuffer, candidateBuffer], referenceSourceId, MimirAudioSyncMode.ChirpOnly)
|
||||
.SingleOrDefault();
|
||||
}
|
||||
|
||||
static string SyncModeLabel(MimirAudioSyncMode mode)
|
||||
{
|
||||
return mode == MimirAudioSyncMode.ChirpOnly ? "chirp-only" : "hybrid";
|
||||
|
|
@ -1543,6 +1623,151 @@ static double MeanCepstralTimingError(
|
|||
Math.Abs(observation.SampleOffset - timeline.EventForIndex(observation.EventIndex).StartSeconds * sampleRate));
|
||||
}
|
||||
|
||||
static BioacousticClockHypothesis? FitBioacousticClockHypothesis(
|
||||
IReadOnlyList<CepstralWordObservation> observations,
|
||||
MimirBioacousticTimeline timeline,
|
||||
int sampleRate)
|
||||
{
|
||||
var anchors = observations
|
||||
.Select(observation => new BioacousticClockAnchor(
|
||||
observation.EventIndex,
|
||||
timeline.EventForIndex(observation.EventIndex).StartSeconds,
|
||||
observation.SampleOffset,
|
||||
Math.Clamp(observation.Confidence, 0.001, 1.0)))
|
||||
.OrderByDescending(anchor => anchor.Confidence)
|
||||
.Take(24)
|
||||
.ToArray();
|
||||
if (anchors.Length == 0)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
|
||||
var candidates = new List<BioacousticClockHypothesis>();
|
||||
foreach (var anchor in anchors)
|
||||
{
|
||||
var offset = anchor.SampleOffset - anchor.TimelineSeconds * sampleRate;
|
||||
AddClockCandidate(candidates, anchors, sampleRate, offset, sampleRate);
|
||||
}
|
||||
|
||||
if (anchors.Length >= 3)
|
||||
{
|
||||
for (var first = 0; first < anchors.Length; first++)
|
||||
{
|
||||
for (var second = first + 1; second < anchors.Length; second++)
|
||||
{
|
||||
var dt = anchors[second].TimelineSeconds - anchors[first].TimelineSeconds;
|
||||
if (Math.Abs(dt) < 0.08)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
var rate = (anchors[second].SampleOffset - anchors[first].SampleOffset) / dt;
|
||||
if (!double.IsFinite(rate) || rate < sampleRate * 0.98 || rate > sampleRate * 1.02)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
var offset = anchors[first].SampleOffset - anchors[first].TimelineSeconds * rate;
|
||||
AddClockCandidate(candidates, anchors, sampleRate, offset, rate);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return candidates
|
||||
.OrderByDescending(candidate => candidate.Score)
|
||||
.ThenBy(candidate => candidate.MeanAbsoluteErrorSamples)
|
||||
.FirstOrDefault();
|
||||
}
|
||||
|
||||
static void AddClockCandidate(
|
||||
List<BioacousticClockHypothesis> candidates,
|
||||
IReadOnlyList<BioacousticClockAnchor> anchors,
|
||||
int nominalSampleRate,
|
||||
double sourceOffsetSamples,
|
||||
double effectiveSampleRate)
|
||||
{
|
||||
var tolerance = Math.Max(36.0, nominalSampleRate * 0.012);
|
||||
var inliers = anchors
|
||||
.Where(anchor => Math.Abs(anchor.SampleOffset - (sourceOffsetSamples + anchor.TimelineSeconds * effectiveSampleRate)) <= tolerance)
|
||||
.ToArray();
|
||||
if (inliers.Length == 0)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
var refined = FitBioacousticClockToInliers(inliers, nominalSampleRate);
|
||||
if (refined != null)
|
||||
{
|
||||
candidates.Add(refined);
|
||||
}
|
||||
}
|
||||
|
||||
static BioacousticClockHypothesis? FitBioacousticClockToInliers(
|
||||
IReadOnlyList<BioacousticClockAnchor> anchors,
|
||||
int nominalSampleRate)
|
||||
{
|
||||
if (anchors.Count == 0)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
|
||||
if (anchors.Count == 1)
|
||||
{
|
||||
var anchor = anchors[0];
|
||||
var offset = anchor.SampleOffset - anchor.TimelineSeconds * nominalSampleRate;
|
||||
var singleAnchorConfidence = anchor.Confidence * 0.20;
|
||||
return new BioacousticClockHypothesis(
|
||||
offset,
|
||||
nominalSampleRate,
|
||||
1,
|
||||
0.0,
|
||||
singleAnchorConfidence,
|
||||
singleAnchorConfidence,
|
||||
anchors.ToArray());
|
||||
}
|
||||
|
||||
var totalWeight = anchors.Sum(anchor => Math.Max(1.0e-6, anchor.Confidence));
|
||||
var meanTimeline = anchors.Sum(anchor => anchor.TimelineSeconds * Math.Max(1.0e-6, anchor.Confidence)) / totalWeight;
|
||||
var meanSample = anchors.Sum(anchor => anchor.SampleOffset * Math.Max(1.0e-6, anchor.Confidence)) / totalWeight;
|
||||
var covariance = 0.0;
|
||||
var variance = 0.0;
|
||||
foreach (var anchor in anchors)
|
||||
{
|
||||
var weight = Math.Max(1.0e-6, anchor.Confidence);
|
||||
var dt = anchor.TimelineSeconds - meanTimeline;
|
||||
covariance += weight * dt * (anchor.SampleOffset - meanSample);
|
||||
variance += weight * dt * dt;
|
||||
}
|
||||
|
||||
var effectiveSampleRate = anchors.Count >= 3 && variance > 1.0e-12 ? covariance / variance : nominalSampleRate;
|
||||
if (!double.IsFinite(effectiveSampleRate) ||
|
||||
effectiveSampleRate < nominalSampleRate * 0.98 ||
|
||||
effectiveSampleRate > nominalSampleRate * 1.02)
|
||||
{
|
||||
effectiveSampleRate = nominalSampleRate;
|
||||
}
|
||||
|
||||
var sourceOffset = meanSample - effectiveSampleRate * meanTimeline;
|
||||
var weightedResidual = anchors.Sum(anchor =>
|
||||
{
|
||||
var predicted = sourceOffset + anchor.TimelineSeconds * effectiveSampleRate;
|
||||
return Math.Abs(anchor.SampleOffset - predicted) * Math.Max(1.0e-6, anchor.Confidence);
|
||||
}) / totalWeight;
|
||||
var residualConfidence = 1.0 / (1.0 + weightedResidual / Math.Max(1.0, nominalSampleRate * 0.001));
|
||||
var countConfidence = Math.Clamp(anchors.Count / 5.0, 0.0, 1.0);
|
||||
var anchorConfidence = Math.Clamp(anchors.Average(anchor => anchor.Confidence), 0.0, 1.0);
|
||||
var confidence = residualConfidence * 0.35 + countConfidence * 0.45 + anchorConfidence * 0.20;
|
||||
var score = confidence + Math.Min(anchors.Count, 8) * 0.15 - weightedResidual / Math.Max(1.0, nominalSampleRate * 0.010);
|
||||
return new BioacousticClockHypothesis(
|
||||
sourceOffset,
|
||||
effectiveSampleRate,
|
||||
anchors.Count,
|
||||
weightedResidual,
|
||||
confidence,
|
||||
score,
|
||||
anchors.ToArray());
|
||||
}
|
||||
|
||||
static double CepstralDistance(IReadOnlyList<double> first, IReadOnlyList<double> second)
|
||||
{
|
||||
var sum = 0.0;
|
||||
|
|
@ -2180,6 +2405,21 @@ internal sealed record CepstralWordObservation(
|
|||
double SampleOffset,
|
||||
double Confidence);
|
||||
|
||||
internal sealed record BioacousticClockAnchor(
|
||||
ulong EventIndex,
|
||||
double TimelineSeconds,
|
||||
double SampleOffset,
|
||||
double Confidence);
|
||||
|
||||
internal sealed record BioacousticClockHypothesis(
|
||||
double SourceOffsetSamples,
|
||||
double EffectiveSampleRate,
|
||||
int AnchorCount,
|
||||
double MeanAbsoluteErrorSamples,
|
||||
double Confidence,
|
||||
double Score,
|
||||
IReadOnlyList<BioacousticClockAnchor> Anchors);
|
||||
|
||||
internal sealed record CepstralWordIndex(
|
||||
IReadOnlyList<CepstralWordTemplate> Templates,
|
||||
IReadOnlyDictionary<(int Table, int Hash), List<int>> Buckets);
|
||||
|
|
@ -2215,9 +2455,20 @@ public sealed record BioacousticTrainingResult(
|
|||
[property: Key(23)] int RoundTripCepstralCoefficients,
|
||||
[property: Key(24)] int RoundTripFrameCount,
|
||||
[property: Key(25)] double RoundTripRmsRatio,
|
||||
[property: Key(26)] BioacousticTrainingDecoderSnapshot Decoder,
|
||||
[property: Key(27)] BioacousticTrainingArtifact[] Artifacts,
|
||||
[property: Key(28)] BioacousticTrainingObservation[] Observations);
|
||||
[property: Key(26)] BioacousticClockHypothesisSnapshot ClockHypothesis,
|
||||
[property: Key(27)] BioacousticTrainingDecoderSnapshot Decoder,
|
||||
[property: Key(28)] BioacousticTrainingArtifact[] Artifacts,
|
||||
[property: Key(29)] BioacousticTrainingObservation[] Observations);
|
||||
|
||||
[MessagePackObject]
|
||||
public sealed record BioacousticClockHypothesisSnapshot(
|
||||
[property: Key(0)] int AnchorCount,
|
||||
[property: Key(1)] double SourceOffsetSamples,
|
||||
[property: Key(2)] double EffectiveSampleRate,
|
||||
[property: Key(3)] double MeanAbsoluteErrorSamples,
|
||||
[property: Key(4)] double Confidence,
|
||||
[property: Key(5)] double Score,
|
||||
[property: Key(6)] double AnchorCoverage);
|
||||
|
||||
[MessagePackObject]
|
||||
public sealed record BioacousticTrainingDecoderSnapshot(
|
||||
|
|
|
|||
|
|
@ -84,3 +84,5 @@
|
|||
{"ts": "2026-05-23T23:45:11+01:00", "type": "decision", "status": "ok", "note": "Added Perfect Machine domain index plus 2026-05-23 architecture/optimization/reference study and sample implementation sketches for decoder, SIMD/GPU scoring, actuator, and native rings."}
|
||||
{"ts": "2026-05-24T01:55:37+01:00", "type": "decision", "status": "ok", "note": "Completed corrected two-hour Perfect Machine study pass from 2026-05-23T23:54:42.9041588+01:00 through 2026-05-24T01:54:56.9747630+01:00; research/perfect-machine-study-2026-05-23 now indexes decoder architecture, acoustic field models, calibration sessions, Fensalir/native boundaries, distributed receivers, benchmarks, failure modes, low-level notes, and sample implementation sketches."}
|
||||
{"ts": "2026-05-24T11:38:08+01:00", "type": "implementation", "status": "ok", "note": "Added bioacoustic indexed-cepstral training harness with CultLib/CultCache typed result receipts and WAV artifact directories. Latest run artifacts/bioacoustic-training/bioacoustic-20260524-103438 scored 20 hypothesis/degradation cases; identity often survives mel-cepstral warp/blur, but timing MAE under warp points next at a global clock/path hypothesis rather than larger brute-force matching."}
|
||||
{"ts": "2026-05-24T16:06:07+01:00", "type": "implementation", "status": "ok", "note": "Added global bioacoustic clock hypothesis scoring to the training harness and the first Faust-owned alignment actuator surface. Corrected receipt artifacts/bioacoustic-training/bioacoustic-20260524-150000 favors baseline-mfcc-index/blur-light with total 0.766 after penalizing low-anchor timing fits. bioacoustic-actuator-self-test estimates 317.375 samples, applies fractional correction, and remeasures 0.000 us residual; faust/mimir_alignment_actuator.dsp validates through Faust C++ generation."}
|
||||
{"ts": "2026-05-24T16:09:30+01:00", "type": "implementation", "status": "ok", "note": "Extended the corrected bioacoustic training run to 0.75s in artifacts/bioacoustic-training/bioacoustic-20260524-150729. Compact indexing wins clean throughput at total 0.752/realtime 6.6x, baseline remains steadier under degradation, highband has warped-path value, and anchor density/time-to-lock should become explicit metrics."}
|
||||
|
|
|
|||
|
|
@ -128,11 +128,13 @@ accepted_design:
|
|||
confirmation. `Mimir.BufferSmoke --bioacoustic-train` now runs a
|
||||
receipt-backed hypothesis panel over indexed cepstral decoder shapes and
|
||||
writes typed CultCache results plus pre-warp/post-warp/reconstructed WAV
|
||||
artifacts under `artifacts/bioacoustic-training/`. The latest receipt
|
||||
`bioacoustic-20260524-103438` shows compact indexing is fastest on clean
|
||||
audio, baseline indexing is more stable under light warp, highband indexing
|
||||
can win blur/warp-blur cases, and timing error under domain warp remains
|
||||
the pressure for a global clock/path hypothesis. `MimirChirpBinTimeline` remains the controlled chirp-bin
|
||||
artifacts under `artifacts/bioacoustic-training/`. The first receipt
|
||||
`bioacoustic-20260524-103438` showed compact indexing fastest on clean
|
||||
audio and exposed timing error under domain warp. The corrected receipt
|
||||
`bioacoustic-20260524-150729` adds global clock hypothesis scoring over a
|
||||
longer window; compact indexing wins clean throughput, baseline indexing
|
||||
remains steadier under degradation, highband indexing has warped-path value,
|
||||
and anchor density needs its own metric. `MimirChirpBinTimeline` remains the controlled chirp-bin
|
||||
calibration/reference artifact with ASIO tooling and
|
||||
`MimirChirpBinCalibrationModel`; keep those captures as response evidence,
|
||||
not the active runtime sound. Reports and sync states expose delay in
|
||||
|
|
@ -146,7 +148,12 @@ accepted_design:
|
|||
correctly accepts strong passive evidence at 2.772 us error. The synthetic
|
||||
standalone receiver proof `--standalone-bioacoustic-self-test --sample-rate
|
||||
48000 --delay-samples 1269.5` recovers delayed source time below printed
|
||||
microsecond precision using only the codebook/schedule. The synthetic
|
||||
microsecond precision using only the codebook/schedule. `--bioacoustic-actuator-self-test
|
||||
--sample-rate 48000 --delay-samples 317.375` now proves the first
|
||||
measurement-to-sample-movement loop: estimate bioacoustic delay, apply
|
||||
fractional correction, and remeasure residual below printed microsecond
|
||||
precision. `faust/mimir_alignment_actuator.dsp` is the first Faust-owned
|
||||
actuator surface for six channels of bounded fractional delay/gain. The synthetic
|
||||
codebook proof is `dotnet run --project
|
||||
.\src\Mimir.BufferSmoke\Mimir.BufferSmoke.csproj -- --bioacoustic-self-test`.
|
||||
`Mimir.BufferSmoke --render-chirp-bin-f32` plus
|
||||
|
|
|
|||
Loading…
Reference in a new issue