Turn-taking playground

A streaming turn-taking model running entirely in your browser (WebGPU, or CPU as a fallback). Feed it two speakers, from your microphone or audio files, and watch it decide, every 80 ms, when a speaker has finished their turn and when a speaker is taking the floor. Nothing is uploaded: audio stays on your device.

The model is about 225 MB and is cached after the first load. Start also loads it.

Sources

Speaker A

Speaker B

Background noise and options
A end of turntakes the floor
B end of turntakes the floor
speaking input level end-of-turn score take-the-floor score dashed: thresholds; markers: committed events
Backend
not loaded
Time per call
–
Real-time factor
–
Latency in pipeline
–
Stream time
–

About

The model is a causal FastConformer encoder (NVIDIA stt_en_fastconformer_hybrid_large_streaming_multi, CC-BY-4.0) feeding a small cross-speaker turn head trained on two-channel conversations, with background-speech augmentation. It sees 80 ms frames with no lookahead. The default thresholds are the operating points on the TurnBench dev set (end of turn: recall 0.93 at 10% false fires; take the floor: recall 0.98 at 9%). Events are committed on a rising edge above the threshold with a 0.5 s refractory, as TurnBench scores them.

Two scores per speaker: end of turn rises when that speaker has stopped and is handing over the floor (not a mid-sentence pause); take the floor rises when that speaker starts a real turn, not a backchannel like "mm-hm". The model is English-only and a research preview, for non-commercial use.