Expand description
World-standard reference adapters — the “oracle” seat from Prometheus’s
trial stage (prom-trial::oracle), generalized to external AI tools.
§Why batch mode is the primary contract
The naive design — invoke the reference once per clip and time it — is wrong for AI tooling, and wrong in the direction that flatters us. A Python reference spends seconds on interpreter startup and model load; transcribing a 5-second clip takes a fraction of that. Timing per-invocation would measure Python’s startup, report our Rust as spectacularly faster, and the claim would be indefensible.
So an ASR reference is invoked once for the whole corpus with a file list, and reports per-clip transcription time itself. That yields two honest numbers, both recorded:
- warm RTF — steady-state throughput, model already loaded. This is what implementations publish, and what a server-side user experiences.
- end-to-end RTF — total wall clock for the batch, including the one model load, amortized over the corpus. This is what a CLI user experiences.
Neither alone is the truth; quoting only the flattering one is how
benchmarks lie. Single-file mode (command) remains for simple tools
(tesseract) where startup is negligible.
Structs§
- Batch
Result - The parsed output of one batch invocation.
- Clip
Result - One clip’s result from a batch run.
- Named
Scorer - A named, executable scorer — declared HERE and not in a corpus.
- Reference
File - The declaration file: references, and the scorers they may be paired with.
- Reference
Spec - One external reference implementation.
- TtsBatch
Result - The parsed output of one TTS batch invocation.
- TtsClip
Result - One utterance’s result from a TTS batch run: the adapter read a text file and wrote a WAV.