SIGNAL LAB · MEASURE · COMPARE

Voice turns: measure activity, wait for an endpoint

Turn measured audio frames into accepted or rejected candidates and explore the trade-off between false triggers and endpoint delay.

Deterministic synthetic evidence · no recording

Exact evidence inspector

Read the selected state numerically. This includes the details behind the chart rather than a preset verdict.

Show computed state

A turn is not just a loud sample

The fixture generates six seconds of eight-kilohertz audio, divided into twenty-millisecond frames. Each frame contains 160 actual synthetic samples. Loud speech-like tone occurs from 1.6 to 2.8 seconds and a quieter tone from 4.0 to 5.2 seconds; a separate optional nonspeech tone occupies 0.8 to 1.1 seconds. Seeded background noise is added to the samples. The detector computes frame RMS and compares it with your threshold. It does not consult the known speech labels when starting, accepting or rejecting a candidate. Those labels only identify false acceptances after the decision.

Control detection and endpoint delay

RMS activity threshold decides which frames count as active. Minimum active audio is the total duration of active frames required for a candidate to be accepted. Endpoint silence is the consecutive inactive duration required to finish the candidate. If activity resumes before that timeout, the same candidate continues and its silence counter resets. Background noise amplitude changes the generated samples; Include a nonspeech tone burst adds or removes the earlier distraction. Every control rebuilds the same seeded fixture. There is no hysteresis or extra VAD hangover in this turn experiment, so silence belongs to the endpoint rule only.

Reject one distraction without hiding errors

Restore defaults: threshold 0.05, minimum active audio 400 milliseconds and endpoint silence 300 milliseconds. The 300-millisecond nonspeech burst is rejected, while both 1.2-second speech-like segments are accepted. Lower minimum active audio to 100 milliseconds without changing the signal. The burst now produces a false accepted turn; its red marker is an error, not a valid user utterance. Increase threshold to 0.1 and the quieter segment is missed. A duration gate cannot recover frames that never exceeded the activity threshold. Raise the noise amplitude to see continuous activity prevent a clean silence endpoint.

Explore latency and merged candidates

With default signal settings, the first real segment ends at 2.8 seconds. A 300-millisecond silence rule emits its endpoint at 3.1 seconds, while a 600-millisecond rule waits until 3.4 seconds. Set silence to 1600 milliseconds: the next activity can arrive before the timeout, merging separate sounds into one pending candidate. At the six-second end of this finite fixture, pending work remains pending; the model does not invent an endpoint or force an accepted turn. The inspector records start time, last active frame, total active duration, silent duration and the exact endpoint timestamp for every completed candidate.

Inspect the model and its limits

Play reveals the six-second recording over sixty inspection seconds. Pause holds the frame, Step adds one inspection second, Restart rewinds, Speed changes viewing pace and Inspect time scrubs the record. Restore defaults resets the controls. Green markers show accepted candidates, amber rejected candidates, red false acceptances and blue pending work; readable text repeats their values. This is an energy-and-silence teaching gate, not semantic turn prediction, speech recognition or a live ADK implementation. The tones are not natural speech. No microphone, camera, model API or network session is opened. It omits barge-in, echo cancellation, transcription, language cues, response generation and speaker identity. A candidate containing both noise and speech is not counted as a wholly false turn, but that does not imply clean segmentation.

Views are my own and do not represent any employer, past or present.

Search