User Documentation

AudioRig

From a blank Blender installation to a character that talks — every step explained.

Version 0.5.0 · Blender 5.1.1 or newer

AudioRig does seven big things inside one add-on, organized as seven tabs in the same panel:

A2F tab Flagship · NVIDIA GPU

Takes any audio file with speech and turns it into a full facial performance — lip sync, emotion, blinks, gaze, tongue and head motion — baked onto your character as shape key keyframes. The best overall quality of the three engines.

UniTalker tab CPU

The middle ground: also animates the complete set of 52 ARKit channels from audio, with strong articulation, running entirely on your processor. No NVIDIA GPU required.

SAiD tab CPU

The mouth specialist. A diffusion-based engine focused on the 32 mouth-area channels, delivering exceptionally natural jaw, lip and cheek movement on the CPU. No NVIDIA GPU required.

Wave2ARKit tab CPU · Fastest

The speed demon: the complete set of 52 ARKit channels from audio in a single ultra-light pass — about 45 milliseconds of compute per second of audio. Runs entirely on the CPU, no NVIDIA GPU required.

UnLip tab CPU · 60 fps

The 60 fps specialist: HuBERT-Large based, it animates the complete 52 ARKit channels at sixty frames per second natively — the smoothest temporal resolution of any CPU engine.

UnLip tab CPU · 60 fps

The 60 fps specialist: HuBERT-Large based, it animates the complete 52 ARKit channels at sixty frames per second natively — the smoothest temporal resolution of any CPU engine.

TTS tab CPU · GPU optional

Write the words instead of recording them: MagPieTTS turns typed dialogue into spoken audio, and the Send-To bridge drops the WAV straight into any animation tab. No NVIDIA GPU required — it uses one automatically when present.

GNM tab

Creates a complete, ready-to-animate human head (skin, eyes, teeth and tongue included) with its own identity, expression and pose, which you can then feed to any of the three animation engines.

Section 1

System Requirements

Read this first.

Windows NVIDIA

AudioRig is developed and tested on Windows. An NVIDIA GPU is required for the A2F tab; the UniTalker and SAiD tabs run on the CPU of any Windows machine.

  • Windows 10/11, 64-bit — the tested platform. On macOS (Apple Silicon) the four CPU tabs run experimentally with no guarantees (see the note below); Linux is not supported.
  • Blender 5.1.1 or newer, 64-bit.
  • For the A2F tab: an NVIDIA graphics card (CUDA-capable) plus the CUDA and TensorRT components from section 2. AMD and Intel GPUs are not supported by this tab.
  • For the UniTalker and SAiD tabs: no NVIDIA GPU required. On Windows they use DirectML GPU acceleration automatically (SAiD runs roughly 10x faster) and fall back to your processor when no compatible GPU is present — a modern CPU still handles a typical dialogue take in seconds.
  • For the Wave2ARKit tab: no GPU requirement at all. It is the fastest engine in the add-on — roughly 45 milliseconds of compute per second of audio on a modern CPU.
  • For the UnLip tab: no GPU requirement at all. It uses a large audio encoder (HuBERT-Large), so it is the most methodical of the CPU engines — expect a few seconds of compute per second of audio, rewarded by fluid 60 fps motion.
  • For the TTS tab: none of the above. It runs locally out of the box, uses your NVIDIA GPU automatically when present (about 3x faster than real time), and works fine on the CPU otherwise.

In short: with an NVIDIA GPU you get the full suite with A2F at its best. Without one, the UniTalker and SAiD tabs still give you complete, working lip sync — and the TTS and GNM tabs work everywhere too.

macOS (Apple Silicon) — experimental. Four tabs (GNM, UniTalker, SAiD, Wave2ARKit) run through onnxruntime on the processor and are theoretically functional on macOS arm64 with Blender 5.1.1+. We have not been able to test them on a Mac, so no guarantees are offered: this support is provided as-is and the purchase is at the buyer's own risk for macOS use. The A2F and TTS tabs are Windows-only and are automatically hidden on macOS.

Section 2

Before Installing: CUDA and TensorRT (A2F only)

Two NVIDIA technologies must be present on your system before you generate with the A2F tab. You only set this up once per computer. The UniTalker and SAiD tabs do not need any of this — if you only plan to use them, you can skip straight to section 3.

Exact versions required:

  • CUDA Toolkit 12.9
  • TensorRT 10.13.3.9

Other versions (newer or older) are not accepted — AudioRig checks the exact version and will tell you if something doesn't match.

2.1 Install CUDA 12.9

1

Download CUDA Toolkit 12.9 from NVIDIA: developer.nvidia.com (Select Windows → x86_64 → your Windows version → exe (local).)

2

Run the installer with the default options.

3

That's it. The installer automatically registers CUDA in the standard location, and AudioRig looks for it there: C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.9 (If you installed CUDA somewhere else, set the CUDA_PATH environment variable to that folder.)

2.2 Install TensorRT 10.13.3.9

1

Download TensorRT 10.13.3.9 for Windows from NVIDIA: developer.nvidia.com (A free NVIDIA Developer account is required. Choose the ZIP package for Windows and CUDA 12.x.)

2

The download is a ZIP — it has no installer. Extract it anywhere permanent. Simplest option: extract it into your user folder so it ends up exactly at: C:\Users\<your-user>\TensorRT-10.13.3.9 AudioRig looks there automatically.

3

Prefer another location? Set the environment variable TENSORRT_ROOT_DIR to the extracted folder (the one containing the include, lib and bin folders). Environment variables are configured in Windows Settings → System → About → Advanced system settings → Environment Variables.

4

If neither works for your setup, you can also point AudioRig directly at the trtexec.exe file inside the TensorRT bin folder, from the add-on preferences (see section 3.1).

How AudioRig finds these tools: on startup it checks, in order, the environment variables CUDA_PATH / TENSORRT_ROOT_DIR, then the standard locations shown above. If anything is missing or the version is wrong, the add-on shows a clear message telling you exactly what to fix.

Section 3

Installing AudioRig

The download arrives in two parts. The add-on bundles several gigabytes of AI models, so the marketplace delivers it split into two files. Keep both parts in the same folder and extract them together — 7-Zip (free) is the recommended tool: right-click the first part and choose 7-Zip → Extract Here, and both parts rejoin automatically. The extractor built into Windows cannot handle split archives. You end up with a folder that contains the add-on, ready for the normal installation below.

1

Open Blender.

2

Go to Edit → Preferences → Extensions.

3

Click the small arrow menu (top right) → Install from Disk…

4

Select the AudioRig.zip inside the folder you extracted.

5

Restart Blender. We strongly recommend restarting after every install or update of the add-on, so that every component is loaded cleanly.

You'll find the AudioRig panel in the 3D Viewport sidebar (press N) under the AudioRig category. At the top of the panel there are seven tabs: A2F, GNM, UniTalker, SAiD, Wave2ARKit, UnLip and TTS.

3.1 Add-on Preferences (optional, rarely needed)

Edit → Preferences → Add-ons → AudioRig exposes two optional file-path overrides:

  • runner.exe — leave empty. Only used by developers testing a custom build.
  • trtexec.exe — leave empty in normal use. Set it only if your TensorRT lives in a non-standard place and AudioRig can't find it (see section 2.2).

Section 4

First Run: Build the Engines (A2F only)

The red button. One-time preparation per machine. The UniTalker and SAiD tabs never need it.

Before your very first A2F generation — and again after changing GPU or updating drivers — AudioRig must prepare the A2F models for your specific hardware. This is a one-time step per machine and takes a few minutes.

1

Open the A2F tab and scroll to the Run section at the bottom.

2

Click the big red button "Build TensorRT Engines".

3

Wait while the progress advances. You can watch detailed output in Window → Toggle System Console.

4

When it finishes, the button turns green and reads "Engines Ready". From now on it shows "Rebuild Engines" — you only need it again if you change GPU, drivers, or reinstall CUDA/TensorRT.

If the build fails, the message tells you exactly what is missing — almost always a CUDA or TensorRT installation issue from section 2. Fix that and press the button again.

Section 5

Preparing Your Character

The mesh rules.

All three animation tabs drive your character through shape keys — the built-in Blender system for storing facial poses on a mesh. For everything to work, your character's head must follow the ARKit 52 convention: 52 shape keys with the exact standard names (jawOpen, mouthSmileLeft, eyeBlinkRight, and so on).

The rules, in plain terms:

  • One head mesh or a small family of meshes. The head can be a single object, or a main head with separate child objects for eyes, teeth, tongue or jaw (parented under the main head). AudioRig walks the whole hierarchy and animates every matching shape key it finds.
  • Shape keys named with the ARKit convention. If a shape key doesn't exist, that channel is simply skipped.
  • You don't need all 52. A head with only mouth shapes will still animate — but for full facial performances, the complete set is what you want.

Don't have ARKit shape keys yet? We strongly recommend the Faceit add-on. Faceit lets you place facial landmarks on your character and generates the complete, correct ARKit 52 shape key set for it. Every character you see in our videos and screenshots was prepared with Faceit, and it's the workflow we test against. (Alternatively, the GNM tab can generate a complete head for you — see section 8.)

How AudioRig tells you what's covered

The moment you pick your head, the panel shows a live counter, for example:

✅ 52/52 ARKit keys across 1 mesh

Perfect coverage.

ℹ️ 34/52 ARKit keys across 3 meshes

Partial coverage; the missing channels simply won't animate.

🔴 No shape keys found on target

The selected object has no shape keys at all. Prepare it with Faceit (or use the GNM tab) before continuing.

The SAiD tab shows its own counter (see section 10) because it only drives the 32 mouth-area channels.

Section 6

The A2F Tab, Section by Section

Everything below appears in the same order as in the panel. For most projects you only need sections Input and Run; the rest is optional polish.

6.1 Input

Audio

The voice recording that will drive the animation. Any audio format works (wav, mp3, ogg, flac, m4a…): AudioRig converts it to the exact format the engine needs, automatically.

  • Clean, dry dialogue gives the best lip sync; music, heavy reverb and background noise degrade it.
  • Healthy volume without clipping. Very quiet audio produces weak mouth motion.
  • Leave a short silence at the start and end so the first and last sounds aren't cut.

Target

The head mesh that receives the animation.

Include Children (on by default)

Also animates matching shape keys on child objects (eyes, teeth, tongue, jaw). Leave it on for split heads.

Scan Whole Scene (off by default)

Bakes into every object in the scene that carries ARKit shape keys, ignoring parenting entirely. For rigs whose head parts are separate, unparented meshes (common in marketplace characters and DCC exports).

Require All ARKit 52 (off by default)

When enabled, generation stops with an error unless all 52 shape keys exist. Use it on production rigs where a missing key means a mistake, not a design choice.

A note on rig quality and expressive values — read before your first bake. A2F is a state-of-the-art model: its output is highly expressive and closely mirrors real human articulation, including lip compression on consonants like M, B and P. On a rig whose shape keys were sculpted without proper constraints or corrective shapes, that expressiveness can expose rigging weaknesses — most notoriously on mouthClose, where baked values above roughly 0.5 are excessive on many imperfect rigs and make the upper and lower lips intersect each other.

The honest fix is at the source: build your ARKit shape keys — mouthClose above all, but ideally all of them — with solid constraints and corrective techniques (sculpt-checked extremes, enough lip-loop topology, symmetric validation, testing against deliberate maximum poses). A well-built shape key survives A2F's full expressive range beautifully. As an in-add-on remedy while you improve the rig, Override Per-Blendshape Gain (section 6.4) lets you scale an individual channel down — capping a runaway mouthClose so its peaks land around 0.5 instead of clipping through the other lip.

6.2 Models

Shows the status of the AI engines ("Engine ready" / "Engine not built"). One model always runs; a second one is optional:

  • Use Audio2Emotion (off by default) — adds an emotional layer on top of the lip sync, read from the tone of the voice. The performance reads much more alive on longer takes. Costs a little extra generation time. Leave it off while validating basic lip sync.
  • Advanced (collapsed) — only for special cases:
    • A2F / A2E Model Override — point to a model stored outside the add-on. Empty means "use the bundled model", which is what you want almost always.
    • Use Config File — drive all parameters from an external JSON file instead of the panel (useful to pin an exact setup to a shot or share it with a teammate). While enabled, the Parameters section is greyed out.

6.3 Inference

How the animation is computed:

  • FPS — frames per second of the generated animation. Match your scene frame rate or picture and sound will drift apart. 30 is enough for most dialogue; 60 resolves fast consonants more crisply.
  • Identity — the built-in performance style: Claire (most neutral), James (moderate), Mark (most pronounced articulation). This changes the character of the motion, never your mesh. After changing it, press Load Model Defaults again (see 6.4).
  • Solver — where part of the computation runs. GPU is recommended; CPU is a slower fallback for when the GPU is saturated by other work.
  • Constant Noise (on by default) — keep it on: identical audio then gives identical output and the face doesn't shimmer between frames. Turn it off only for subtle variation, at the cost of flicker you may need to smooth out.
  • CUDA Device — which GPU to use. 0 is correct on single-GPU machines.

Extra Channels (all off by default; enable only if your rig uses them):

  • Output Tongue Poses — additionally outputs 16 tongue poses. Only useful if your rig has shape keys with those names.
  • Output Head Rotation — additionally outputs the head rotation inferred from the delivery, stored as custom properties you can drive a head bone with.
  • Output Emotions — additionally outputs 10 emotion values per frame as custom properties, so you can drive your own expression layers or correctives. Requires Use Audio2Emotion for meaningful values.

6.4 Parameters

Every model ships with values tuned by its authors — you don't need to touch anything here for a good result. The recommended workflow is:

1

Generate once with everything at its default.

2

If you want to change something, press Load Model Defaults first (this reads the model's real tuned values into the sliders).

3

Enable only the Override group you care about and adjust from there.

  • Override Face Parameters — smoothing (calms jitter; too much softens consonants), strength (how far the face travels from neutral), face mask blending, skin strength, eyelid/lip offsets, and procedural eye life: blink amount, gaze amplitude, and the small darting eye movements (saccades) that keep eyes from looking dead.
  • Override Tongue Parameters — tongue strength and rest-position offsets. Reach for these if the tongue pokes through teeth or the floor of the mouth on your particular head.
  • Override Emotion Parameters — how strongly emotion colours the performance, how sharply the winning emotion stands out, how many emotions may be active at once, how fast emotion may change between frames, and an optional preferred emotion pinned at a chosen strength (for when the delivery is flat but the scene needs a mood). Requires Audio2Emotion.
  • Override Per-Blendshape Gain — a per-channel multiplier and offset applied to each of the 52 channels just before baking. This is the surgical fix for rig-specific problems: one shape that overshoots, an asymmetric smile, a jaw that opens too far, or a mouthClose that regularly climbs past ~0.5 and makes the lips intersect. Press Init ARKit 52 to fill the list with neutral values (multiplier 1, offset 0), then touch only the entries that misbehave.

6.5 Bake

Where the animation lands:

  • Action — base name for the created animation. One Action is created per animated mesh, named <base>_<object name> (e.g. AudioRig_Head, AudioRig_Eyes). Change the base name to keep several takes side by side instead of overwriting the previous one.
  • Start Frame — the scene frame where the first generated frame lands. Set it where your audio sits on the timeline.
  • Threshold — discards keyframes that barely move. 0 keeps every frame (most faithful, heaviest curves). A small value like 0.001–0.01 thins the curves, making them far easier to edit by hand and lighter to scrub. First and last frames are always kept.

6.6 Run

  • Build / Rebuild TensorRT Engines — the one-time preparation from section 4. Red means action needed; green means ready.
  • Generate + Bake — the main event. AudioRig reads your audio, computes the facial performance, and bakes it as keyframes onto your character. Blender stays responsive while it works, and you can cancel with Esc. Re-running is safe: curves for the same channels are replaced, not layered.

If the button is greyed out, the panel lists exactly what's missing (engines not built, no audio picked, or no target mesh picked).

6.7 Animation Data — Restore, Export, Import

At the bottom of every animation tab (A2F, UniTalker, SAiD, Wav2ArKit, UnLip — never on TTS or GNM) sits the Animation Data panel with three tools, each with its own help toggle:

  • Restore Previous Animation — every time a Generate + Bake replaces existing curves, the curves (and static values) it is about to overwrite are saved automatically to a temporary file. This button puts that previous state back: your pre-generation animation returns exactly as it was. Handy when a new take came out worse than the last one. It stays greyed out until a generation has actually replaced something in this blend file, and it always reflects the most recent generation.
  • Export Animation — saves the currently baked animation to a portable .json file, keyed by ARKit channel names (jawOpen, mouthSmileLeft, …) and sampled frame by frame. Because it stores channel names instead of scene references, the same file can be re-applied to this character, to a different one, or read by external tools.
  • Import Animation — bakes a previously exported .json onto the mesh picked in this tab (respecting Include Children / Scan Whole Scene), as dense keyframes. The scene's frame rate and range are set from the file's metadata so playback stays in sync. The action is named after this tab's Action field.

When would you use these? Restore: a new take came out worse and you want the previous performance back without re-generating. Export/Import: keep takes as lightweight files outside the blend, move an animation to a different character (any mesh with proper ARKit shape keys), or archive performances without saving heavy .blend files.

Section 7

Typical A2F Workflow

1

Install CUDA 12.9 and TensorRT 10.13.3.9 (once per machine).

2

Install the add-on, restart Blender.

3

Press the red Build TensorRT Engines button (once per machine).

4

Prepare a head with ARKit 52 shape keys — easiest with Faceit — and check the coverage counter.

5

Pick your audio file, set FPS to your scene rate, press Generate + Bake.

6

Scrub the timeline: your character talks.

Playback sync is set for you. When any AudioRig engine (A2F, UniTalker, SAiD, Wav2ArKit, UnLip) places its audio strip, the add-on automatically switches Timeline → Playback → Sync to Sync to Audio. Without it, Blender plays every single frame and long takes look like slow motion with the sound drifting out of the picture.

But automatic sync is not a guarantee of perfect lip alignment. It locks the playback clock to the sound — nothing more. If the mouth still lags or leads the audio, check these manually and consciously: the tab's FPS matches your scene frame rate; no Time Stretching / retiming modifier is applied to the audio or the baked action (a wrong stretch silently shifts every frame); the Start Frame is where your audio actually starts; and the baked keyframes are dense enough (keyframes placed only every few frames interpolate loosely and can read as lag). AudioRig sets the sync so you don't have to remember it — verifying the alignment itself is deliberately left to you, the artist.

Section 8

The GNM Tab: Create a Complete Head

A full human head from scratch — skin, eyeballs, teeth and tongue included.

The GNM tab creates a full human head from scratch — skin, eyeballs, teeth and tongue included — with a rig you can pose, and hands it to any of the three animation tabs when you're done. It's the fastest way to get an animatable character when you don't have one.

How to think about it: a head starts as a neutral "average face". You then shape who they are (Identity), what expression they make (Expression), how they're posed (Pose), and you can sculpt specific regions (Customize). Everything updates live in the viewport — there is no "apply" button.

8.1 Getting Started

  • Import Head — creates the head in your scene, with its control rig (yellow handles: neck, head and an eye-aim control) and clean materials per part (skin, teeth, tongue, eyes). Already have one? The button becomes Rebuild Head, which resets everything to the neutral face.
  • Reset (circular arrow) — returns all parameters to the neutral face.
  • Randomize Face — one click = a brand-new person. The fastest way to explore.

8.2 Randomization Settings

  • Seed — a number that identifies "this exact face". Same seed + same choices = same face, every time. The dice button rolls a new one.
  • Auto-Randomize Seed (on by default) — every randomize click rolls a fresh seed, so each press looks different. Turn it off to reproduce results.
  • Randomize Intensity — how strongly each randomize deviates from the current face. Lower it for subtle refinement passes instead of full re-rolls.
  • Use Semantic Sampler (on by default) — generate realistic, label-guided faces. Off = plain random noise (a fallback that always works, less realistic).

8.3 Presets

Save faces you like and reuse them later (or share them):

  • New saves the current face as a named preset (with a thumbnail).
  • Load / Overwrite / Delete manage the selected preset in the list.
  • Refresh rescans the preset folder.
  • Export Bundle / Import Bundle pack all presets into a single .zip for backup or sharing, and restore them on another machine.

8.4 Mode Switch: 1. Generate / 2. Customize

  • Generate — build the face with guided controls and sliders (sections 8.5–8.7).
  • Customize — sculpt one facial region at a time (section 8.8).

Both work together: changes made in Generate apply on top of whatever you sculpted in Customize.

8.5 Identity (who they are)

  • Single mode — pick a Gender and an Ethnicity (or leave them on Any for a surprise), then Resample Identity for a new variation. Changing the dropdowns applies immediately.
  • Blend mode — mix continuously: Female ↔ Male weight, and two ethnicities with a blend weight. The face updates live while you drag.
  • Advanced (253 components) — the full manual control deck. Sliders are ordered by effect: early ones move broad shapes, late ones add subtle detail. To keep the list manageable, each region shows the most impactful sliders first, with a Load more (x/N) button for the rest and Show less to collapse them again.

8.6 Expression (what they're doing)

  • Single mode — pick an expression label (Happy, Surprise, Disgust, Wink, Pucker, Tongue Center…) and Resample Expression for a new take on it.
  • Blend mode — pick two expressions (A and B) and crossfade with the Blend Weight slider. Resample Blend Endpoints rolls fresh variations of A and B.
  • Mirror Eyes — copy the left eye's expression onto the right, or vice-versa. Perfect symmetry in one click.
  • Advanced (383 components) — the full expression deck, paginated exactly like Identity's advanced section.

8.7 Pose

  • Use Rig (on by default) — pose the head by grabbing the yellow circle handles directly in the viewport: neck, head, and the eye-aim control that both eyes follow. The sliders below are greyed out in this mode.
  • Eye Aim (on by default) — both eyes look at the eye-aim control; drag it to direct the gaze. Turn it off to rotate each eyeball manually with the sliders.
  • With Use Rig off, the Neck / Head / Left Eye / Right Eye Rotation and Translation sliders pose the head numerically.

8.8 Region Sculpt (Customize mode)

Shape one region at a time without disturbing the rest of the face:

  • Region — Eyes, Brows, Nose, Mouth, Jaw, Rest (everything else), or All to re-roll the whole head region by region in one click.
  • Gender / Ethnicity — what the randomizer samples from for that region.
  • Falloff — how softly the region's edge blends into the rest of the face. 0 is a hard edge; higher is softer. You can drag it after a randomize and watch the boundary re-blend live.
  • Include Tongue (off by default) — also randomize the tongue when working on the Mouth region.
  • Auto Freeze (on by default) — lock in each region right after randomizing, so the next region doesn't undo it. Turn it off to preview first, then commit manually with Freeze Masked.
  • Randomize Region — re-roll just the selected region.
  • Freeze Masked — commit the current preview as the new baseline.
  • Discard Sculpt — drop all sculpted work and return to the pure parametric face.

Sculpted regions are real mesh edits, so the Identity/Expression sliders describe a slightly different face than what's on screen — the panel shows a notice when that's the case. Slider changes still apply on top of your sculpt; Reset or loading a preset discards it.

8.9 Sending the Head to the Animation Tabs

  • Set as A2F Target — makes the GNM head the target of the A2F tab in one click. Remember: the head is born without ARKit shape keys, so the coverage counter will read 0/52 until you add them — the quickest way is running Faceit's landmark-based shape key generation on it (see section 5).

Full walkthrough: generate a head with GNM, rig it with Faceit, and animate it from audio.

Credit where credit is due. The GNM tab was inspired by the free GNM Importer add-on by Nathan Dickson. We loved the idea and built our own take that simplifies everything — installation and assets included — into the single-click tab described above. If you want more advanced control over Google's GNM model, we genuinely recommend downloading that free add-on.

Section 9

The UniTalker Tab: Full-Face Animation on the CPU

The middle ground: the complete 52 ARKit channels, no NVIDIA GPU required.

UniTalker is the middle ground between the flagship A2F engine and pure convenience. Like A2F, it animates the complete set of 52 ARKit channels — lips, jaw, eyes, brows, cheeks, nose and tongue — but it runs entirely on your processor: no NVIDIA GPU, no CUDA and no TensorRT required. If your machine can't run A2F, this tab gives you a full-face performance anyway; if it can, it's also a fast way to sketch animation before a final A2F pass.

Everything in this tab works exactly like the A2F equivalents, so only the UniTalker-specific controls are described here.

9.1 Input

  • Audio — the voice recording that drives the animation. Any format works; AudioRig converts it automatically (same tips as A2F: clean dialogue, healthy levels, small silences at the ends).
  • Target — the head mesh with ARKit shape keys that receives the animation.
  • Include Children (on by default) — also animates matching shape keys on child objects.
  • Scan Whole Scene (off by default) — bakes into every object in the scene that carries ARKit shape keys, ignoring parenting. For rigs whose head parts are separate, unparented meshes.

The coverage counter works exactly like the A2F one: 52/52 is perfect, partial coverage simply skips the missing channels.

9.2 Engine

  • Model — which UniTalker checkpoint to run:
    • Base (fast) — the recommended starting point: fastest CPU inference, about half a second of compute for a 5 second take.
    • Large (quality) — a bigger audio encoder, several times slower on the CPU. Worth trying if you want to compare which variant reads better on your particular voice.

The status line under the dropdown confirms the model files are present.

9.3 Inference

  • FPS — frames per second of the generated animation. Match your scene frame rate. This tab defaults to 30, the rate UniTalker articulates best at; higher values produce progressively smoother (less crisp) motion.

9.4 Bake

  • Action, Start Frame, Threshold — identical in behaviour to the A2F Bake section (6.5).

9.5 Run

  • Generate + Bake — computes the performance on your CPU and bakes it as keyframes, exactly like the A2F button. A typical dialogue take takes about a second (Base) or a few seconds (Large). Re-running is safe.

Below the Run section sits the shared Animation Data panel — Restore Previous Animation, Export Animation, Import Animation — described in section 6.7. It appears on every animation tab and never on TTS or GNM.

Section 10

The SAiD Tab: The Mouth Specialist

Exceptionally natural mouth movement, on the CPU.

SAiD takes a different approach: instead of predicting the whole face at once, it uses a diffusion model — the same family of techniques behind modern image generators — focused entirely on the 32 mouth-area channels: jaw, lips, cheeks and nose sneer. The result is exceptionally natural mouth movement, and because the mouth is what sells a line of dialogue, it can make an otherwise static character feel remarkably alive. It also runs on the CPU, with no GPU requirement.

Two things to know before using it:

  • It only drives the 32 mouth-area channels. Eyes and brows are not part of this model and are left untouched — pair it with your own blinks, or use the A2F or UniTalker tabs when you need the upper face too.
  • It's the most demanding of the two CPU engines: it refines its result over many small steps (that's the Inference Steps parameter), so a take takes a few seconds rather than under a second. Still very reasonable — just the slowest of the three engines.
  • Keep SAiD takes around a minute or less. The model processes a take as one continuous piece, and on ~6 GB GPUs a DirectML run of much longer than that runs out of video memory. AudioRig handles this for you: takes that would not fit in your GPU's free VRAM are computed on the CPU automatically — same result, just slower — and takes that fit use the GPU (roughly 10× faster). Prefer the CPU anyway? The Use CPU checkbox in the Run section (section 10.4) skips the GPU entirely, immune to VRAM limits at any audio length.

10.1 Input

  • Audio, Target, Include Children, Scan Whole Scene — identical to the UniTalker tab (section 9.1).

The coverage counter here reads "N/32 SAiD channels present (of 52 ARKit)": how many of the 32 mouth-area shape keys exist on your character. 32/32 is perfect; a head with only the basic mouth shapes still works.

10.2 Sampler

  • Inference Steps (default 50) — how many refinement passes the diffusion model makes. More steps = slightly cleaner motion but longer waits. 50 is the sweet spot; 100 doubles the time for a marginal gain.
  • Guidance Scale (default 2.0) — how strongly the audio steers the animation. Low values follow the voice loosely (softer, sometimes mushy); high values exaggerate the mouth motion. The paper's best value is 2.0.
  • Seed — the model starts from random noise, so the same audio can produce different (all plausible) performances. A fixed seed makes the result reproducible: same audio + same seed + same settings = exactly the same animation. The dice button rolls a new variation.

10.3 Inference

  • FPS — frames per second of the generated animation. Match your scene frame rate. This tab defaults to 60, the rate where SAiD's mouth motion reads most naturally.

10.4 Bake

  • Action, Start Frame, Threshold — identical in behaviour to the A2F Bake section (6.5).

10.5 Run

  • Use CPU (off by default) — skips the GPU entirely: the whole generation runs on your processor. Slower (the GPU path is roughly 10× faster when it fits), but immune to VRAM limits: on ~6 GB GPUs even 40-second takes can exhaust video memory with DirectML, so if you generate long dialogue regularly — or just want the predictable, always-works path — turn this on. With it off (default), SAiD runs GPU-first and falls back to the CPU automatically when the take does not fit your free VRAM.
  • Generate + Bake — computes the mouth performance on your CPU and bakes it as keyframes. A typical dialogue take takes a few seconds at the default 50 steps. Same seed gives the same result; re-running is safe.

Below the Run section sits the shared Animation Data panel — Restore Previous Animation, Export Animation, Import Animation — described in section 6.7. It appears on every animation tab and never on TTS or GNM.

Section 11

The Wave2ARKit Tab: The Speed Demon

Full ARKit 52 from audio in a single ultra-light pass: about 45 ms of compute per second of audio.

Wave2ARKit is the fastest way to go from audio to a full facial performance. Based on Wav2Vec2 and LAM Audio2Expression fused into a single ultra-light model, it converts audio into the complete set of 52 ARKit channels in one pass — roughly 45 milliseconds of compute per second of audio, about 20 times faster than realtime. Everything runs on your CPU: no NVIDIA GPU, no CUDA, no TensorRT, no build step.

Use it for rapid drafts, previz, or whole scenes of background dialogue where speed matters more than the last 5% of polish (that is what the A2F tab is for). Everything else — coverage counter, bake options, scene scan — works exactly like the UniTalker tab.

11.1 Input

  • Audio — the voice recording that drives the animation. Any format works; AudioRig converts it automatically (same tips as A2F: clean dialogue, healthy levels, small silences at the ends).
  • Target — the head mesh with ARKit shape keys that receives the animation.
  • Include Children (on by default) — also animates matching shape keys on child objects.
  • Scan Whole Scene (off by default) — bakes into every object in the scene that carries ARKit shape keys, ignoring parenting. For rigs whose head parts are separate, unparented meshes.

The coverage counter works exactly like the A2F one: 52/52 is perfect, partial coverage simply skips the missing channels.

11.2 Engine

The status line confirms the bundled Wav2ARKit model is present. There is nothing to build or configure — the engine ships ready to run.

11.3 Inference

  • FPS — frames per second of the generated animation. Match your scene frame rate. This tab defaults to 30, the rate Wave2ARKit generates natively; other rates are produced by re-sampling the output curve automatically.

11.4 Bake

  • Action, Start Frame, Threshold — identical in behaviour to the A2F Bake section (6.5).

Below the Run section sits the shared Animation Data panel — Restore Previous Animation, Export Animation, Import Animation — described in section 6.7. It appears on every animation tab and never on TTS or GNM.

11.5 Run

  • Generate + Bake — computes the performance on your CPU and bakes it as keyframes, exactly like the other tabs. A 15 second take takes about a second. Re-running is safe.

Section 12

The UnLip Tab: The 60 fps Specialist

Full ARKit 52 at sixty frames per second natively — the smoothest CPU engine.

UnLip animates the complete set of 52 ARKit channels at sixty frames per second natively — the smoothest temporal resolution of any CPU engine in the add-on. It pairs a large frozen audio encoder (HuBERT-Large) with a transformer decoder trained against iPhone Live Link Face recordings, fused into a single ONNX graph. Everything runs on your CPU: no NVIDIA GPU, no CUDA, no TensorRT, no build step.

Because the encoder is large, UnLip is the most methodical of the CPU engines: expect a few seconds of compute per second of audio. The reward is fluid 60 fps motion that resolves fast consonants with extra temporal detail. Everything else — coverage counter, bake options, scene scan — works exactly like the UniTalker tab.

12.1 Input

  • Audio — the voice recording that drives the animation. Any format works; AudioRig converts it automatically.
  • Target — the head mesh with ARKit shape keys that receives the animation.
  • Include Children (on by default) — also animates matching shape keys on child objects.
  • Scan Whole Scene (off by default) — bakes into every object in the scene that carries ARKit shape keys, ignoring parenting. For rigs whose head parts are separate, unparented meshes.

The coverage counter works exactly like the A2F one.

12.2 Engine

The status line confirms the bundled UnLip model is present. Nothing to build or configure — the engine ships ready to run.

12.3 Inference

  • FPS — frames per second of the generated animation. Match your scene frame rate. This tab defaults to 60, the rate UnLip generates natively; other rates are produced by re-sampling the output curve automatically.

12.4 Bake

  • Action, Start Frame, Threshold — identical in behaviour to the A2F Bake section (6.5).

Below the Run section sits the shared Animation Data panel — Restore Previous Animation, Export Animation, Import Animation — described in section 6.7. It appears on every animation tab and never on TTS or GNM.

12.5 Run

  • Generate + Bake — computes the performance on your CPU and bakes it as keyframes, exactly like the other tabs. Re-running is safe.

Section 13

The TTS Tab: Write the Words

Type dialogue, get spoken audio — locally, with or without an NVIDIA GPU.

Every animation tab needs audio, and the TTS tab makes that audio from scratch. Write your dialogue, choose a voice, and AudioRig speaks it with NVIDIA's MagPieTTS model running on your own machine. No microphone and no recording session: if you can type it, your character can say it.

13.1 Dialogue (the wide text input)

  • Script — where your dialogue lives: a standard Blender Text datablock. Press New Script to create one and jump straight into Blender's Text Editor, where you can write as much as you want — multiple paragraphs, word wrap, full undo and unicode included. MagPieTTS splits long text into sentences automatically and stitches the speech together, so there is no practical length limit to worry about.
  • Edit — opens your current Script in the Text Editor at any time.
  • Line — a quick single-line field for short throwaway lines. When it has content it takes priority over the Script.

13.2 Voice

  • Language — the language of what you wrote: English (en-US), Spanish, French, German, Italian, Vietnamese or Hindi. All five voices are native English speakers, so other languages carry a charming accent.
  • Voice — one of the model's five speakers: Sofia (warm female, default), Aria (expressive female), Jason, Leo or John (male). They differ in timbre and delivery, not language ability.
  • Seed — generation starts from random noise, so the same text can give slightly different deliveries. A fixed seed reproduces the exact same audio; -1 picks one per run; the dice button rolls one for you.

13.3 Output

  • Device — Auto (recommended) uses your NVIDIA GPU when present; GPU and CPU force one or the other.
  • Output WAV — where the finished file goes. Empty means timestamped files in the temporary folder. The output is mono 22 kHz PCM16, exactly what the animation tabs expect.
  • Send To — the magic bridge. After generating, hand the WAV straight to the A2F, UniTalker or SAiD tab's Audio slot so you can press Generate + Bake immediately. Choose Nowhere to just keep the file.

13.4 Run

Generate Speech speaks your dialogue and writes the WAV. Blender stays responsive while it works; cancel anytime with Esc. When done you get a report like "Speech generated: speech_20300101_120000.wav (6.1s of audio, 3.5x realtime) in 1.8s".

Typical workflow — write a whole scene's dialogue:

  1. Open the TTS tab, press New Script, and type every line (or just use the Line field for a quick test).
  2. Pick voice and language, set Send To = A2F, press Generate Speech.
  3. Switch to the A2F tab — the new WAV is already in the Audio slot. Set your target mesh and press Generate + Bake. Done.

Section 14

Choosing an Engine

All three animation tabs feed the same bake system, so you can switch freely — even on the same character and take.

A2FUniTalkerSAiDWave2ARKitUnLipTTS
RoleAnimation from audioAnimation from audioAnimation from audioAnimation from audioAnimation from audioAudio from text
Channels52 ARKit + tongue/head/emotion extras52 ARKit32 mouth-area ARKit52 ARKit52 ARKitSpoken speech (WAV)
QualityBest overall — the most refined, lifelike performancesVery good — strong articulation across the whole faceExceptional mouth realismGood — full-face coverage at unmatched speedGood — full-face coverage at 60 fpsNatural multilingual narration
HardwareNVIDIA GPU requiredAny CPUAny CPU (most demanding of the two CPU engines)Any CPUAny CPU (largest encoder)GPU optional — Auto picks CUDA or CPU
SetupCUDA 12.9 + TensorRT + Build stepNoneNoneNoneNoneNone
Typical take (5 s)Seconds (GPU)~1 s (Base) / a few s (Large)A few seconds~0.25 s (fastest)~5-15 s~1.5 s (GPU) / ~6 s (CPU)
ExtrasEmotion, tongue poses, head rotation—Seed-based variation—60 fps nativeSeed variation + Send-To bridge

Practical guidance:

  • Have an NVIDIA GPU? Use A2F as your main engine; keep UniTalker for fast drafts and SAiD when you want to punch up the mouth on a close-up.
  • No NVIDIA GPU? UniTalker is your everyday engine; SAiD is your mouth polish pass; Wave2ARKit is the express lane when speed is everything; UnLip is the 60 fps specialist. All four deliver complete, working animation on any modern CPU.
  • You can also combine engines on the same character: bake the mouth with SAiD into one Action, the upper face with UniTalker or A2F into another, and blend the results in the NLA.
  • Don't have a recording yet? Generate it first with the TTS tab and its Send-To bridge drops the WAV straight into whichever animation tab you use.

About very long audio files — an honest limitation. We do not guarantee that any of the five engines (A2F, UniTalker, SAiD, Wave2ARKit, UnLip) will process a long audio in full. A2F generally accepts long takes well, but the other models usually split the audio at internal thresholds (chunks), and processing can become difficult when the audio is very long or when hardware resources — system RAM on the CPU, video memory on the GPU — are limited. If a long take fails or gets cut, the practical answer is to split the recording into shorter pieces, generate each piece, and place them end to end on the timeline.

Section 15

Troubleshooting

SymptomWhat to do
A2F build button reports missing CUDA/TensorRTRevisit section 2: exact versions 12.9 / 10.13.3.9 and the folder/env-var locations.
A2F generation worked, then fails after a GPU/driver updatePress Rebuild Engines (engines are specific to your hardware).
"No shape keys found on target" (red)The selected mesh has no shape keys — prepare it with Faceit or use the GNM tab.
A2F mouth moves but feels flatEnable Use Audio2Emotion, or try the other Identity (Claire/James/Mark) and press Load Model Defaults.
Animation and audio drift apartAudioRig already sets Playback → Sync to Audio when it places the strip. If drift persists: match the tab's FPS to your scene frame rate, set Start Frame where the audio starts, check for a Time Stretching/retiming modifier on the audio or action, and make sure keyframes are dense — sparse keys interpolate loosely and read as lag.
A2F single shape misbehaves (e.g. jaw opens too far)Override Per-Blendshape Gain → Init ARKit 52, then adjust only that channel.
Lips intersect each other, especially on mouthCloseA2F is highly expressive (SOTA articulation); a poorly-rigged shape key exposes it. Values above ~0.5 on mouthClose are excessive on many rigs: cap that channel with Override Per-Blendshape Gain, and rebuild the shape key itself with proper constraints/corrective sculpting — see the rig-quality note in section 6.1.
SAiD fails or Blender crashes on a long takeDirectML ran out of video memory (SAiD processes the take as one piece). AudioRig usually routes long takes to the CPU automatically; if it happened mid-run, press Generate + Bake again — it continues on the CPU. For regular long-form work, enable Use CPU in the SAiD Run section, or split the recording into shorter pieces (see the long-audio note in section 14).
Restore Previous Animation is greyed outThe snapshot is created automatically when a Generate + Bake replaces existing curves — generate once first. It always stores the state before the most recent generation only.
UniTalker/SAiD button says model files are missingThe engine's model files were removed from the add-on folder — reinstall the full package.
SAiD counter shows fewer than 32/32Your rig is missing some mouth-area shape keys. They'll simply stay static; add them with Faceit for the full set.
TTS button says assets are missingThe TTS engine files were removed from the add-on folder — reinstall the full package.
TTS audio sounds accented in another languageThe five voices are native English speakers; accents are expected outside English.
Nothing generates on macOS/Linux/AMDOn macOS only the four CPU tabs (GNM, UniTalker, SAiD, Wave2ARKit) are expected to run — experimental and untested, see section 1. A2F and TTS are Windows-only; Linux and AMD GPUs are not supported.

Section 16

Quick Reference

Panel location

3D Viewport sidebar (N) → AudioRig category → A2F / GNM / UniTalker / SAiD / Wave2ARKit / UnLip / TTS tabs.

One-time setup for A2F

CUDA 12.9 → TensorRT 10.13.3.9 → install add-on → restart Blender → red Build button. UniTalker and SAiD need none of it.

Per project

Faceit-prepared head (or GNM head) → pick a tab → audio → FPS = scene rate → Generate + Bake.