Halloween DealsAmazon USHalloween week deals: useful picks before month-endAmazon US: current deals, useful picks and tech finds.Check DealsSlow PC?RecommendedPC slow today? Run a repair scan before it gets worseResolve common Windows issues and optimize system performance.Scan NowHalloween DealsAmazon USOctober picks are moving - compare before checkoutAmazon US: current deals, useful picks and tech finds.See Picks×
Skip to content
World desk5 min

VRM Lip Sync with RMS: A Minimal `aa` Implementation and How to Make It Look Natural

A minimal RMS-to-`aa` method can make a VRM avatar’s mouth move with speech intensity. Learn how to calibrate it, smooth the motion, and recognize when one mouth shape is not enough.
Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

For a basic VRM mouth animation, calculate the RMS of the audio being played, map it to a 0–1 weight, smooth that weight, and apply it to the avatar’s aa expression. This makes the mouth open and close with audio intensity; it does not identify vowels or produce phoneme-accurate lip sync. The result depends on audio-specific calibration, the avatar’s authored expressions, and how you handle silence and overlapping expressions.

What RMS-driven `aa` lip sync can—and cannot—do

RMS, or root mean square, estimates the signal strength of a short window of audio samples. Driving one VRM expression with that value is a compact way to make a mouth move while speech is audible, without a transcript or separate timing track. The implementation article describes this as a sound-driven opening and closing approach: implementation and tuning notes.

As an Amazon Associate I earn from qualifying purchases.

It is not a phoneme detector. With only aa, every sound—including an “i” vowel—uses the same mouth shape. RMS alone also cannot reliably time consonant closures or infer articulation. The implementation article names cases such as closure before “m,” “n,” geminate “tsu,” and devoiced vowels as difficult for amplitude-based movement. If those distinctions matter, use a separate articulation estimator or derive viseme timing from text and audio rather than expecting RMS to supply it.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Minimal implementation pattern

The following pseudocode shows the essential mapping. It assumes an audio-analysis path is already receiving samples from the audio being played, and that clamp limits a value to the stated range.

#1 Best Overall
Funko POP! Movies: Avatar - Jake Sully - Avatar: The Way of Water - Collectable Vinyl Figure - Gift Idea - Official Merchandise - for Kids & Adults - Movies Fans - Model Figure for Collectors
  • IDEAL COLLECTIBLE SIZE - At approximately 3.75 inches (9.5 cm) tall, this vinyl mini figurine complements other collectable merchandise and fits perfectly in your display case or on your desk.
  • PREMIUM VINYL MATERIAL - Made from high-quality, durable vinyl, this collectible is built to last and withstand daily wear, ensuring long-lasting enjoyment for fans and collectors alike.
  • PERFECT GIFT FOR AVATAR: The WAY OF WATER FANS - Ideal for holidays, birthdays, or special occasions and as a present this exclusive figurine is a must-have addition to any Avatar: The Way Of Water merchandise collection
  • EXPAND YOUR COLLECTION - Add this unique Jake Sully vinyl display piece to your growing assortment of Funko Pop! figures, and seek out other rare and exclusive collectible items for a complete set
  • LEADING POP CULTURE BRAND - Trust in the expertise of Funko, the premier creator of pop culture merchandise that includes vinyl figures, action figures, plush, apparel, board games, and more.
rms = sqrt(sum(sample * sample for sample in samples) / sampleCount)
level = clamp((rms - floor) / (reference - floor), 0, 1)
target = playbackIsActive ? sqrt(level) : 0
opening += (target - opening) * follow
vrm.expressionManager.setValue('aa', opening)

Squaring samples before averaging prevents positive and negative waveform values from canceling as they would in a plain arithmetic mean. The square-root curve is optional: use level directly for a linear response, or sqrt(level) to make weaker inputs more visible. The mapping and smoothing pattern comes from the implementation article; it is a starting point, not a universal calibration.

Choose a floor and reference from the actual audio

Set floor to the level below which the mouth should remain closed, and reference to the level that should produce full opening. The reference must be greater than the floor. Values copied from another project are not reliable defaults: speech volume varies with TTS voice, microphone, gain, and playback level. Check quiet as well as loud passages so the mouth neither disappears during soft speech nor stays saturated through much of the recording.

Rank #2
Sale
Jazwares Avatar: The Last Airbender Suki - 4-Inch Mini Figure in Kawaii Style in Dynamic Pose with Display Base
  • WARRIOR GIRL: Lead the warriors of Kyoshi Island with Suki
  • MINI-FIGURE: 4-inch mini figure is based on the first book of Avatar: The Last Airbender
  • KAWAII STYLE: Mini-figure is specially made in a cute kawaii style
  • DYNAMIC POSE: Features dynamic pose with shield and fan plus display base
  • COLLECT MORE: Look out for more Avatar mini figures and collectibles

Smooth toward the target

The expression should approach the current target rather than jump directly to it. The common update opening += (target - opening) * follow is simple, but a fixed per-frame coefficient behaves differently at different frame rates. For a production animation, base smoothing on elapsed time if frame rate can vary. More smoothing reduces jitter but can make the mouth lag; less smoothing follows changes more closely but can look unsteady.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Apply weights in a deliberate order

Set the aa value alongside the runtime’s normal VRM update sequence. If another subsystem can set ih, ou, ee, or oh, clear or coordinate those values so they do not conflict with the RMS-driven expression. When playback ends, set the target to zero and close the mouth explicitly. Disconnect or dispose of analysis resources during cleanup.

Rank #3
Sale
Avatar: The Last Airbender Zuko (Book Three) - 6.5-Inch Scale Figure with Alternate Faceplate, Swappable Hands, and Fire Bending Effect
  • FIRE BENDER: Master the element of fire with Zuko (Book Three)
  • BOOK THREE: 6.5-inch scale figure is based on “Book Three” of Avatar: The Last Airbender
  • SOFT TUNIC: Features 22 points of articulation and a soft good tunic
  • ACCESSORIES: Includes five swappable hands one alternate faceplate
  • FIRE EFFECT: Also includes fire bending effect to recreate iconic battles

The implementation article describes branching an analysis path from playback without adding a second connection to the audio destination, because its acoustic echo cancellation reference relies on the existing HTML <audio> playback path. Treat that as a constraint of the described playback and AEC setup, not as a universal Web Audio rule. See the audio-graph discussion for that specific arrangement.

Tune for a natural-looking result

Inspect the input distribution, not just its average

Review representative quiet and loud speech, or inspect percentiles of the frame-level RMS values. An average can hide weak movement in quiet passages or excessive saturation in loud ones. Watch the avatar at both ends of the range while adjusting floor and reference.

Rank #4
Jazwares Avatar: The Last Airbender Aang (Book Three) - 6.5-Inch Scale Figure with Alternate Faceplate, Swappable Hands, Staff and Air Bending Effect
  • THE AVATAR: Master all four elements with Aang (Book Three)
  • BOOK THREE: 6.5-inch scale figure is based on “Book Three” of Avatar: The Last Airbender
  • SOFT TUNIC: Features 22 points of articulation and a soft goods tunic
  • ACCESSORIES: Includes four swappable hands one alternate faceplate
  • AIR EFFECT: Also includes a staff and an air bending effect to recreate iconic battles

Choose the response curve by eye

A linear mapping preserves normalized amplitude changes. A square-root curve lifts weaker values and compresses the difference between low and high openings; it may also increase how often the expression reaches its maximum. Neither curve is inherently more natural. Compare them on the actual audio and avatar.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

For context, the implementation article reports one author’s comparison on a particular TTS/on-device setup: linear mapping produced an average maximum weight of 0.537, a bottom-quartile weight of 0.375, and 3.5% saturation; square-root mapping produced 0.647, 0.531, and 6.1%, respectively. The same article says its comparison did not evaluate the exact aa-only code shown earlier. These figures are an example of how a response curve can be compared, not expected outcomes for another project. See the author’s reported RMS distribution and curve comparison.

Best Value
Jazwares Avatar: The Last Airbender Momo - 4-Inch Mini Figure in Kawaii Style in Dynamic Pose with Display Base
  • WINGED LEMUR: Join team Avatar with Momo!
  • MINI-FIGURE: 4-inch mini figure is based on the hit series Avatar: The Last Airbender
  • KAWAII STYLE: Mini-figure is specially made in a cute kawaii style
  • DYNAMIC POSE: Features dynamic pose and unique scenery with display base
  • COLLECT MORE: Look out for more Avatar mini figures and collectibles

Check the avatar’s actual mouth deformation

VRM standardizes expression keys and weights, not a single universal mouth shape. The appearance of aa depends on the avatar’s configured blend shapes. UniVRM documents how blend shapes can be combined into an expression: UniVRM blend-shape documentation. The VRM 1.0 specification defines the procedural lip-sync keys aa, ih, ou, ee, and oh: VRM 1.0 expression specification.

Prevent emotion expressions from over-opening the mouth

Expression weights can interact. The VRM 1.0 specification warns that applying aa while happy also opens the mouth can make it open too far or look strange, and advises not to lip-sync during happy. Its overrideMouth behavior can block or attenuate procedural lip-sync presets when an emotion is active. Coordinate the emotion and mouth expressions rather than treating each weight as independent; consult the specification’s override guidance.

Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

When to move beyond one expression

Approach What it estimates Benefits Limits
RMS driving aa Signal strength mapped to one mouth-opening shape Small implementation; responds to audio amplitude without phoneme or text timing No vowel identification; weak consonant closure and phoneme timing; needs audio-specific calibration and visual tuning. Implementation article.
Multi-viseme software path Multiple vowel visemes estimated from audio More mouth shapes; the documented library uses MFCC vowel classification and writes aa, ih, ou, ee, and oh More integration work; a vowel set does not guarantee accurate consonant articulation. Check API and version compatibility and whether the avatar supports the shapes. Library README.

A text-timed viseme system is another possible direction if transcript timing is available, but the sources cited here do not establish a particular package or method for it.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Optional library route

The three-vrm-lip-sync README documents inputs including audio-file URLs, AudioBuffer, HTML <audio>, microphone, and MediaStream. Its examples use an MFCC-based vowel classifier, write the five VRM viseme expressions, and include stop and dispose calls. The README demonstrates updating the animation mixer, then lip-sync weights, then calling vrm.update. This describes the repository’s documented usage, not an independently verified guarantee; check compatibility with the versions in your project before adopting it.

Quick Recap

SaleBestseller No. 2
Jazwares Avatar: The Last Airbender Suki - 4-Inch Mini Figure in Kawaii Style in Dynamic Pose with Display Base
Jazwares Avatar: The Last Airbender Suki - 4-Inch Mini Figure in Kawaii Style in Dynamic Pose with Display Base
WARRIOR GIRL: Lead the warriors of Kyoshi Island with Suki; MINI-FIGURE: 4-inch mini figure is based on the first book of Avatar: The Last Airbender
$6.66
SaleBestseller No. 3
Avatar: The Last Airbender Zuko (Book Three) - 6.5-Inch Scale Figure with Alternate Faceplate, Swappable Hands, and Fire Bending Effect
Avatar: The Last Airbender Zuko (Book Three) - 6.5-Inch Scale Figure with Alternate Faceplate, Swappable Hands, and Fire Bending Effect
FIRE BENDER: Master the element of fire with Zuko (Book Three); SOFT TUNIC: Features 22 points of articulation and a soft good tunic
$8.25
Bestseller No. 4
Jazwares Avatar: The Last Airbender Aang (Book Three) - 6.5-Inch Scale Figure with Alternate Faceplate, Swappable Hands, Staff and Air Bending Effect
Jazwares Avatar: The Last Airbender Aang (Book Three) - 6.5-Inch Scale Figure with Alternate Faceplate, Swappable Hands, Staff and Air Bending Effect
THE AVATAR: Master all four elements with Aang (Book Three); SOFT TUNIC: Features 22 points of articulation and a soft goods tunic
$19.94
Bestseller No. 5
Jazwares Avatar: The Last Airbender Momo - 4-Inch Mini Figure in Kawaii Style in Dynamic Pose with Display Base
Jazwares Avatar: The Last Airbender Momo - 4-Inch Mini Figure in Kawaii Style in Dynamic Pose with Display Base
WINGED LEMUR: Join team Avatar with Momo!; MINI-FIGURE: 4-inch mini figure is based on the hit series Avatar: The Last Airbender
$11.33

References

Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.

Leave a Reply

Your email address will not be published. Required fields are marked *

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

More from the Wire

  1. World desk4 min
    How to Spot an AI Voice Scam Before Sending MoneyDon’t rely on how a caller sounds. Pause, call back through a known number, and verify the emergency with another trusted person before sending money.
  2. Mountain View desk4 min
    Google’s SynthID Detector: How to Check AI-Generated Images, Video and AudioGoogle’s SynthID Detector looks for an embedded watermark in supported images, video and audio. Here is what its results do—and do not—show.
  3. Redmond desk20 min
    How to create a link to File or Folder in Windows 11Windows 11 gives you several ways to point to a file or folder without moving or duplicating it. You can create a desktop shortcut,…
Recommended PC Tool
Recommended PC Tool
PC Slower Than It Used to Be?Free scan - under a minute
Outdated Drivers Are Slowing You DownFree scan - exact matches

Two free Windows tools

One Free Minute Could Fix That PC

Before you go - each of these free tools takes about a minute and tackles what quietly slows a Windows PC down.

Special offer. View Outbyte info, uninstall instructions, EULA, and Privacy Policy.