Expand description
Progressive word-boundary firing, shared by the cloud and sherpa-onnx engines.
Engines without real API timing data get 150-wpm estimates. Firing
them in one batch after synthesis leaves callers that interleave marks
with playback (e.g. the VoiceGarden-SPD speech-dispatcher module)
unable to highlight in sync on long utterances. EstimateFirer
anchors the estimates onto the delivered-audio clock instead: estimate
i fires once ≥ its start-time worth of PCM has actually been emitted.
Structs§
- Estimate
Event - One estimated boundary event with source-text position resolved.
- Estimate
Firer - Fires
EstimatePlanevents as cumulative delivered audio crosses each estimate’s start time (scaled bytime_scaleto account for the engine’s actual speech rate). Owns the plan so it can be moved into ’static callbacks. - Estimate
Plan - Pre-resolved estimated boundaries for an utterance, in firing order.