Check out our latest project ✨ OpenChapter.io: free ebooks the way its meant to be 📖

Baked Lipsync

An asset by fbcosentino
The page banner background of a mountain and forest
Baked Lipsync thumbnail image
Baked Lipsync thumbnail image
Baked Lipsync thumbnail image
Baked Lipsync hero image

Quick Information

0 ratings
Baked Lipsync icon image
fbcosentino
Baked Lipsync

Godot plugin to automatically generate and play lip animation in sync with pre-recorded audio, baked into lipsync animation resources. Uses Rhubarb under the hood to identify mouth shape data in time with your audio, so you can animate talking characters.The plugin adds a tool in the editor to bake animation data from audio files, and when running the game, a special node emits signals every time you need to change the mouth shape. All you have to do is use that signal to change the mouth shape of your characters. (Both 2D and 3D examples provided.)The animation is baked from recorded audio - it does not support generating on the fly with real time microphone (it's not like Oculus' OVRLipsync).

Supported Engine Version
4.3
Version String
1.0
License Version
MIT
Support Level
community
Modified Date
7 months ago
Git URL
Issue URL

Baked Lipsync Plugin for Godot

Godot plugin to generate and play lip animation in sync with pre-recorded audio


Baked Lipsync is a Godot plugin which uses Rhubarb under the hood to generate mouth shape data in time with your audio, so you can animate talking characters.

It adds a tool in the editor to bake animation data from audio files, and when running the game, a special node emits signals every time you need to change the mouth shape. All you have to do is use that signal to change the mouth shape of your characters. (Both 2D and 3D examples provided.)


How to Use

The plugin adds a second file browser panel, which only shows wav files (color coded so you know which ones have baked data already):

README

Double-clicking a file opens the lipsync editor, where you can generate the data by just clicking a button. You do not have to do anything yourself, all mouth shapes are identified automatically. After generating, you can visualize it, and play the audio to see a test using a default mouth image.

README

In your game, instead of playing the audio file, you play the generated resource file using a new AudioStreamPlayerLipsync node (also AudioStreamPlayerLipsync2D and AudioStreamPlayerLipsync3D are included). This will play the audio while emitting the signals for mouth shapes (and optionally expressions, as below).

Expressions

Optionally, you can manually add expressions, which are strings emitted at specific times. A separate signal is emitted at the corresponding times, and you can do whatever you want with them (swap faces, animate body, blend shapes, trigger parallel animations or animation tree states, or anything you want).

README


Rhubarb

Do notice this plugin uses Rhubarb to decode the audio and identify the mouth shapes. When activating the plugin for the first time, it will automatically download and extract rhubarb in the addons folder, with a .gdignore file so it won't be included in the exported game.


Example

Two examples are provided in the example folder: one 3D using blend shapes, and one 2D swapping textures.

In the video below, the mouth shapes were generated automatically by the plugin - no manual work was required. Movements for arms and eyes were done using expressions.

https://github.com/user-attachments/assets/e5afc1d4-2710-412b-a876-cdb88d798a73

Godot plugin to automatically generate and play lip animation in sync with pre-recorded audio, baked into lipsync animation resources. Uses Rhubarb under the hood to identify mouth shape data in time with your audio, so you can animate talking characters.

The plugin adds a tool in the editor to bake animation data from audio files, and when running the game, a special node emits signals every time you need to change the mouth shape. All you have to do is use that signal to change the mouth shape of your characters. (Both 2D and 3D examples provided.)

The animation is baked from recorded audio - it does not support generating on the fly with real time microphone (it's not like Oculus' OVRLipsync).

Reviews

0 ratings

Your Rating

Headline must be at least 3 characters but not more than 50
Review must be at least 5 characters but not more than 500
Please sign in to add a review

Quick Information

0 ratings
Baked Lipsync icon image
fbcosentino
Baked Lipsync

Godot plugin to automatically generate and play lip animation in sync with pre-recorded audio, baked into lipsync animation resources. Uses Rhubarb under the hood to identify mouth shape data in time with your audio, so you can animate talking characters.The plugin adds a tool in the editor to bake animation data from audio files, and when running the game, a special node emits signals every time you need to change the mouth shape. All you have to do is use that signal to change the mouth shape of your characters. (Both 2D and 3D examples provided.)The animation is baked from recorded audio - it does not support generating on the fly with real time microphone (it's not like Oculus' OVRLipsync).

Supported Engine Version
4.3
Version String
1.0
License Version
MIT
Support Level
community
Modified Date
7 months ago
Git URL
Issue URL

Open Source

Released under the AGPLv3 license

Plug and Play

Browse assets directly from Godot

Community Driven

Created by developers for developers