lipsync

Map audio features to viseme weights for XR avatar mouth animations.

455|91|Updated Sep 25, 2025
One-click install
npx skills add https://github.com/google/xrblocks --skill lipsync-google
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: lipsync
Source: https://github.com/google/xrblocks/tree/main/src/addons/lipsync
Command: npx skills add https://github.com/google/xrblocks --skill lipsync-google

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes scripts (resource) and references (resource) and assets (resource) components.

What problem does it solve?

This Skill provides real-time audio-driven mouth animations for XR avatars, allowing them to mouth along with spoken audio, creating a more immersive and expressive user experience.

Core Features & Use Cases

  • Audio-to-Viseme Mapping: Maps audio features to viseme weights, driving the mouth shape of an avatar's face.
  • Formant-based Heuristic: Uses formant analysis to determine viseme weights, without the need for machine learning models.
  • Integration with Netblocks: Integrates with the Netblocks platform to synchronize mouth movements across multiplayer sessions.
  • Use Case: In a multiplayer XR experience, this Skill can be used to ensure that characters' mouths move in sync with their spoken words, enhancing realism and immersion.

Quick Start

Import the LipsyncMouth script and pass it a MediaStream and a target face. For example:

const face = xb.StylizedFace({showEyes: false});
puppetHead.add(face);
const driver = new LipsyncMouth(myMicStream, {target: face});
puppetHead.add(driver);

Frequently Asked Questions about lipsync

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I add real-time audio-driven mouth animation to an XR avatar?

You can animate XR avatar mouths in real-time by mapping audio features to viseme weights. This Skill maps audio input to mouth shapes without using machine learning models, relying on a formant-based heuristic.

Does avatar lipsync require machine learning models to analyze audio?

Avatar lipsync does not require machine learning models when using a formant-based heuristic. This Skill analyzes audio formants directly to determine viseme weights for driving the mouth shape of an XR face.

How do I sync avatar mouth movements across multiplayer XR sessions?

To sync avatar mouth movements across multiplayer XR sessions, this Skill integrates with the Netblocks platform. This ensures that characters' mouths move in sync with spoken words for all connected users.

What prerequisites are needed to drive mouth animations with audio input?

Driving mouth animations with audio input requires an active MediaStream and a target face object that implements a setVisemes method. The Skill is designed for XR applications using the xrblocks framework.

What are the limitations of using formant analysis for viseme mapping?

Using formant analysis for viseme mapping limits you to heuristic-based audio feature detection rather than nuanced phoneme recognition. This approach is tailored for xrblocks faces and requires a consistent audio MediaStream input to function.