I build talking animated characters in Rive, with mouth shapes driven by real phoneme data from synthesized speech. This means full character rigging, viseme state setup, and state machine logic so your character speaks accurately: idle states, triggered dialogue lines, word-by-word subtitles, and smooth transitions between mouth positions.