Research export
Score a recording (or the bundled battery) exactly like hotato run and get three research-grade files: the events, the per-frame evidence, and the machine envelope. Stdlib only, offline.
uvx hotato export --stereo call.wav --out research/ uvx hotato export --suite barge-in --out research/
The three files
| File | One row per | What it carries |
|---|---|---|
events.csv | scored event | every measured signal plus the verdict: did_yield, seconds_to_yield, talk_over_sec, onset, latency signals, fix class |
frames.csv | VAD frame | the evidence behind every number: t_sec, per-channel dBFS, active flags, thresholds, and noise floors |
envelope.json | run | the standard machine envelope, unchanged |
Self-describing columns
Column meanings are documented in comment lines at the top of each CSV, so the files still explain themselves when they land in a notebook or a stats package months later.
# hotato events export. One row per scored event; every value is a real
# measurement from the scorer (empty cell = not derivable, never fabricated).
# Columns:
# event_id stable id of the event (file basename or scenario id)
# scenario_id battery scenario id (empty for a single recording)
# title human label of the event
# ...An empty cell means the value was not derivable from the recording, never zero and never a stand-in. Frame rows are re-derivable by hand: active is dbfs >= threshold carried by the hangover, and both constants sit in the same row.
Works with the whole surface
The same scenario and audio directories the CLI takes elsewhere work here too, so you can export a tiered suite, a captured call (capture guides), or your own labelled set with one flag change.