Interaction design

Rive Lip Sync: Audio-Level Animation vs Timed Visemes

Compare amplitude-driven mouth animation and timed visemes for Rive characters, including required voice data, mappings, interruption and project scope.

THE PRACTICAL ANSWER

Choose the speech method from the data your app can supply. Audio level describes intensity; timed visemes identify a sequence of visual speech shapes. Both need a reliable return-to-rest policy.

Written for: AI product teams, voice developers and producers commissioning a talking mascot.

Separate a talking loop, amplitude motion and timed speech

“Talking animation” can describe three different deliverables. A looping talking pose runs independently of speech detail. Audio-level mouth motion responds to a measure of loudness. Timed visemes select visual speech shapes using events aligned to playback.

For a small decorative character, a simpler approach may be enough. For a close-up assistant where mouth detail is central to the experience, a more structured speech setup may be appropriate. Make that decision before the mouth shapes are designed, and explain exactly what the application will provide.

Compare the data requirements

ApproachApplication suppliesWhat to agree
Talking loopStart and stop eventsLoop selection, interruption and rest
Audio-level mouth motionNormalized amplitude over timeRange, smoothing, silence threshold and updates
Timed visemesShape identifiers, timing and a playback clockMapping, units, blending, fallback and cancellation

Audio level does not identify individual speech sounds. Timed visemes require a usable timing source; adding a mouth rig to the Rive file does not make those timing events appear automatically.

Treat the mapping as a project deliverable

A viseme is a visual speech pose. Microsoft’s speech documentation provides a concrete provider example using viseme IDs and audio offsets. Its output details are specific to the selected service and locale.

For your project, document how the incoming identifiers select the character’s mouth shapes. Record timestamp units, the neutral/rest value and how unsupported identifiers behave. Do not assume a mouth-shape name used by one character or provider is interchangeable with another.

Inspect a real exported mouth library

The Kids AI portfolio export includes mouth-shape animations with names such as Sil, QW, BMP and FV, alongside expressions and idle movement. The portfolio player also exposes a mouthShape data control.

Those observations tell you what exists in that export. They do not establish a mapping to your TTS provider or prove a complete native voice integration. A commissioned handoff should supply the mapping and ownership decisions needed for your actual audio pipeline.

Test playback interruption and silence

Ask what happens when audio pauses, stops, fails or is replaced by a new response. The application should clear obsolete timing updates and request the agreed rest state. Otherwise the character can keep moving its mouth after the reply is gone.

For amplitude motion, review quiet speech, long silence and noisy input. For visemes, review timestamps arriving late, playback restarted from a different point and unknown identifiers. Mouth behavior should coexist with the intended expression; a reset should not unexpectedly clear the entire face.

Send representative voice data before approving scope

Include a short audio sample and an example of the data your app receives. State the target platform, runtime version, languages or locales and whether the character appears large enough for detailed mouth shapes to matter.

The published viseme add-on is $350 for one talking character, applied after any custom-design minimum. Additional talking characters and integration requirements are quoted separately. For the visual setup and handoff, see Rive lip-sync animation; for conversation priorities, see the AI companion activity guide.

Technical references