three.ws · audio2face · amplitude lipsync

Two NVIDIA models on one face

Type a line. It's spoken in NVIDIA Magpie's voice, and that exact audio is sent to NVIDIA Audio2Face-3D, which returns a per-frame ARKit blendshape track. The avatar's mouth and face animate frame-for-frame with the real voice — mapped onto whatever morph-target convention the loaded GLB ships (ARKit, common avatar-platform, VRM, Oculus visemes). If Audio2Face is unavailable, the avatar still speaks and falls back to amplitude lipsync — never a frozen face.

Magpie TTS · voice Audio2Face-3D · facial animation
live · Magpie → Audio2Face → morphs
Loading avatar…
Pipeline path will appear here after you press Speak.

Powered by /api/a2f (NVIDIA Audio2Face-3D over NVCF gRPC) and /api/tts/speak (NVIDIA Magpie). The blendshape→morph mapping lives in src/voice/a2f-player.js — it reuses the ARKit/VRM/Oculus vocabulary in src/voice/arkit-blendshapes.js, so any humanoid rig lip-syncs without a per-rig allowlist. See the amplitude-only lipsync demo for the fallback path on its own.