aiavatarkit
Toolkit for low-latency voice avatars where Jev can serve as a gate that judges turn ends and turn taking from speech transcripts.
Overview
AIAvatarKit is a toolkit for building conversational AI avatars: talking characters in apps, signage and virtual store staff, companion devices like Raspberry Pi and StackChan, metaverse avatars, phone operators via Twilio or Asterisk and multi-channel assistants. It streams and parallelizes the pipeline, reporting under one second from end of speech to first audio, and has swappable VAD, STT, LLM and TTS parts with tool calls and MCP.
Its semantic turn management judges turn end, turn taking and even wakewords by meaning rather than silence. Jev is one of the available gates: a Jev turn-end gate decides from the transcript whether the user has finished speaking, and a Jev turn-taking gate decides whether the avatar should take the turn, so a thinking pause does not cut the user off and a backchannel does not interrupt the avatar.
What the decision model decides
| Type | Question | Answers |
|---|---|---|
| Yes / no | Has the user finished their turn?(inferred) | yes · no |
| Yes / no | Should the avatar take the turn now?(inferred) | yes · no |
How it works
- VAD detects a pause and STT produces a transcript
- Jev turn-end gate scores whether the turn is over
- If yes, the LLM responds; otherwise keep listening
- Turn-taking gate decides whether to interrupt or stay quiet
Strengths
- Meaning-based turn detection avoids cutting users off
- Gates are swappable (Smart Turn, Namo, Jev, OpenAI)
Caveats
- Jev gate is optional and needs a TypeSafe key
- Latency figures are for the whole pipeline, not the Jev gate
Getting started
See documents/vad-turn-end.md#jev-turn-gate and documents/vad-turn-taking.md for the Jev quick start.At a glance
- Type
- Project
- Status
- production
- Language
- Python
- Runtime
- server / devices
- Has code
- yes
- License
- Apache-2.0
Use cases and integrations
How curated lists describe it
An optional AIAvatarKit component uses Jev to judge turn endings from speech transcripts.
logicrw/awesome-jev-projects
Frequently asked questions
What does Jev decide?
Whether the speaker's turn has ended and whether the avatar should take the turn.
Is Jev required?
No, it is one of several turn gates.
Where can avatars run?
Apps, signage, small hardware, VRChat-style worlds and phone lines.
Related projects
Cross-platform dictation app where a decision model chooses whether a personal-dictionary replacement actually fits the sentence.
ProjectbetaPythonLiquid Glass voice typing for macOS 26 with an optional Jev fast path that types clean short sentences without waiting for LLM cleanup.
ProjectbetaSwiftChrome extension and web app that find YouTube sponsor reads with Jev from transcripts or audio and skip them.
PluginbetaJavaScriptRead-aloud English tutor: streaming ASR transcribes, then Jev judges word by word whether each word was read correctly.
ProjectprototypeJavaScriptMac voice assistant where one Jev call per utterance maps speech to app, volume, Spotify and system actions; an LLM only answers questions.
AppprototypePythonExperimental voice-driven auto-advance for Slidev that asks Cloudflare's Clef-omni four typed questions when the presenter pauses.
ProjectprototypeTypeScript