Skip to content

Add Audio2Face-3D avatar motion runtime#376

Merged
ivan-digital merged 1 commit into
mainfrom
feat/audio2face-avatar-runtime
Jul 5, 2026
Merged

Add Audio2Face-3D avatar motion runtime#376
ivan-digital merged 1 commit into
mainfrom
feat/audio2face-avatar-runtime

Conversation

@ivan-digital

@ivan-digital ivan-digital commented Jul 5, 2026

Copy link
Copy Markdown
Member

Summary

MLX Swift port of NVIDIA Audio2Face-3D for speech-driven avatar faces.

  • New Audio2Face3D library product. It loads the exported safetensors bundle and runs the official model forward pass as a hand-written MLX graph — no ONNX runtime dependency.
  • Output is Audio2Face3DFrame: a timestamp plus the full facial coefficient vector, with the skin/tongue/jaw/eyes layout exposed for renderers.
  • Emotion input is supported per the model spec (explicit + implicit values); callers can pass an explicit vector or use the model default.
  • speech avatar-motion CLI command: WAV in, JSONL coefficient frames out.
  • fromPretrained downloads the published bundles: Audio2Face-3D-v2.3.1-James-MLX (default) and Audio2Face-3D-v2.3.1-Claire-MLX (169 coefficients each), plus Audio2Face-3D-v2.3-Mark-MLX (301 coefficients).

Docs

  • docs/models/audio2face3d.md: network architecture (two-branch Wav2Vec2 + autocorrelation regressor with emotion conditioning), per-identity coefficient layouts, published bundles, CLI usage.
  • Catalogue entries (capability list, models table, SPM products line, docs index) in README.md and all 13 translations.

Testing

  • swift test --filter E2EAudio2Face3DTests — downloads each published bundle from Hugging Face and runs real inference: Mark, Claire, and James all pass; frames are well-shaped (301/169/169 coefficients), finite, and vary with the audio. CI skips via the --skip E2E convention.
  • swift test --filter Audio2Face3DTests — deterministic unit tests pass.
  • ONNX-vs-MLX parity suite runs against exported fixtures via AUDIO2FACE3D_FIXTURE_DIR (skips without fixtures).

@ivan-digital ivan-digital force-pushed the feat/audio2face-avatar-runtime branch 3 times, most recently from f88a460 to 9697bf7 Compare July 5, 2026 09:56
MLX Swift port of NVIDIA Audio2Face-3D: a hand-written graph runs the
official model forward pass and emits timestamped coefficient frames for
speech-driven avatars.

- Audio2Face3D library target; fromPretrained downloads the published
  MLX bundles (Mark v2.3 default, Claire and James v2.3.1) from Hugging
  Face through the shared Hub path.
- speech avatar-motion CLI command: WAV in, JSONL coefficient frames out.
- Deterministic unit tests, ONNX parity fixtures, and E2E tests that
  download each published bundle and run real inference.
- Model doc covering the network architecture and identity layouts;
  catalogue entries in README.md and all 13 translations.
@ivan-digital ivan-digital force-pushed the feat/audio2face-avatar-runtime branch from 9697bf7 to da1657d Compare July 5, 2026 10:00
@ivan-digital ivan-digital merged commit f29a7ca into main Jul 5, 2026
1 check passed
@ivan-digital ivan-digital deleted the feat/audio2face-avatar-runtime branch July 5, 2026 10:16
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant