{{ pageTitle }}
{{ pageIntro }}
Recordings
| File | Origin | Length | Format | Loudness | Status | |
|---|---|---|---|---|---|---|
| {{ r.origin }} | {{ r.dur }} | {{ r.fmt }} | {{ r.lufs }} |
{{ r.status }}
|
|
{{ dName }}
Over time
{{ g.title }}
Inter-onset intervals
0–1000 ms, 10 ms bins · {{ dOnsets }} onsetsHover a measurement for its algorithm. Full definitions are under .
Available after the analysis finishes. The analyzer never asks how a recording was made before measuring it.
Recorded for research after the measurements were calculated, stored separately (keyed by file SHA-256), and never passed to the analysis or to a model. Changing it does not change any result above.
Available after the analysis finishes.
Adds this recording’s measurements to the local dataset. The lineage names the source recording; every version with the same lineage is kept in the same split.
Import and analyze at least two recordings to compare them.
{{ alignWarnText }}
Change over time
AMeasurement differences
| Measurement | Unit | A | Δ | |
|---|---|---|---|---|
| {{ r.label }} | {{ r.unit }} | {{ r.a }} | {{ c.v }} | {{ c.d }} |
| Category | Truth | Train | Calibration | Test | Total |
|---|---|---|---|---|---|
| {{ m.label }} | {{ m.truth }} | {{ m.train }} | {{ m.calibration }} | {{ m.test }} | {{ m.total }} |
Confusion matrix, precision, recall, F1 and false-positive rate are calculated on the test split once a trained classifier is installed and has scored those entries. The calibration split is reserved for choosing a threshold. Nothing is shown until then.
Entries
No entries yet. Open an analyzed recording and use “Add to dataset”.
| File | Category | Lineage | Split | Length | |
|---|---|---|---|---|---|
| {{ e.cat }} | {{ e.lineage }} | {{ e.split }} | {{ e.dur }} |
{{ clsReason }} The Lab does not turn measurements into a probability. When a model is installed, each result is shown with the model name, version, threshold, the input duration actually scored and the model’s documented limitations.
Phase 2 candidates (not installed)
Integration contract
A model is registered withregisterClassifier() in forensics-engine.js. Registration is rejected unless the descriptor carries id, name, version, licence, source, threshold, input seconds, sample rate, limitations and a run() that returns the model’s own output.
Inference runs on the existing worker. Models that cannot run in the browser stay unregistered; an optional local or server endpoint can be added behind the same descriptor, with the endpoint shown next to every result.
Scores are stored with the model id and version next to, not inside, the measurement report. Provenance is never an input.
All measurements use decoded samples of the whole file. Spectral measures use the mid signal (L+R)/2, 2048-sample Hann frames with a 1024-sample hop, amplitude-normalised so a full-scale sine reads 0 dBFS. Time series use 0.5 s windows. Onset detection, BS.1770 loudness, grid fitting and alignment are the CM Humanizer engine’s own functions. Measurement version {{ fxVersion }}.