SmartTurn is a fantastic open source model for turn detection. I needed a much smaller version that could fit anywhere and be always on (always actually being every 20ms in this case), so I figured I could do a trade off of making it support one language only (English), not rely on building on top of a Whisper model and possibly squeeze out similar performance.
While I do still wish to improve this model significantly, this is my progress in doing so thus far. I also augmented the data with synthetic noise and reverb to try to improve its scores in handling those situations.
I'd love for people to try it, and even better, provide suggestions or audio that can help me improve it.
The link takes you to a sample of it running in the browser. There's also an SSM version but that was purely for experimental purposes. While SSMs do well on streaming, there isn't much to gain from it here, since long memory of audio stream isn't that important for turn detection, just the most recent few seconds really, so the GRU version does just fine (or better) and uses much less CPU.
More details are in the repo: https://github.com/sshah03/CueLight
For those interested in SmartTurn: https://github.com/pipecat-ai/smart-turn