Voice
Talk and type are equal. One locale drives the interface, recognition, speech, and replies.
Twig treats voice and text as the same channel. Hold the microphone to talk, type when you prefer. Both write into the same conversation on the phone.
How listening works
expo-speech-recognitionwith interim results so words appear as you speak.- On Android 13+, recognition can stay continuous and keep a 16 kHz mono WAV for a second pass later.
- Older devices get single-shot recognition without saved audio.
- Endpointing is Android’s own silence timeout. There is no wake word and no always-on mic.
How speaking works
expo-speechplays replies sentence by sentence as the model streams.- Sentences are split with
Intl.Segmenterso non-English punctuation works. - Android has no pause/resume for TTS. Interrupting means stop and start again — which is what barge-in does when you speak over a reply.
One locale
A single language setting drives:
- UI strings
- Speech recognition language
- Text-to-speech voice
- The system-prompt line that tells the agent which language to answer in
If those drift apart, a non-English user will report that “the app is broken.” Onboarding checks that the system actually has a voice for the chosen locale and can open the TTS settings when it does not.