Documentationsection 3 of 13
Voice and avatar
- 1What the voice costs
Kotoba's voice is ElevenLabs. Both directions — hearing you and speaking back — go to ElevenLabs, and both use the same API key. There is no other speech…
- 2The two voice modes
voice_mode is one setting with two values, local and agent. The default is local.
- 3The two speaking engines
In local voice mode Kotoba can speak through either of two ElevenLabs engines. Pick one in Settings → Personality → Voice engine (local mode), or with…
- 4Audio tags, and the face they pick
She writes square-bracket cues into her reply. eleven_v3 performs them, so [whispers] over here is actually whispered. The same tag also picks the expression…
- 5The voice socket
In local mode the whole call is one WebSocket
- 6What she never says aloud
A voice cannot read a link. It cannot read a code block, a file path, a leaked tool call or a citation marker. So the text on its way to speech goes through a…
- 7The Live2D model
No model ships with Kotoba. Searching the repository for *.model3.json returns nothing, and public/ contains no model folder.
- 8Expressions: how an emotion becomes a face
The emotion vocabulary is a contract, not a setting. Measured, and identical on both sides (lib/expressions.ts and api/src/kotoba/core/emotions.py)
- 9Lip sync, and finding her face
From the loudness of the audio that is playing. Not from phonemes.
