Aller au contenu
ModelPrésentéExterne
Télécharger

LoM A2m 4part

research-use-only

TypeOtherModèle de baseQwen/Qwen3-0.6BVersionQwen3 0.6 B 4partCClasse

Source du modèle

Type
Other
Taille du fichier
1,14–3,27 GB
Modèle de base
Qwen/Qwen3-0.6B
Version
vQwen3 0.6 B 4part
Mis à jour
12 oct. 2026
Source
Hugging Face

Description de la source

Language of Motion — Decoder-only 4-part Audio-to-Motion (a2m)

Speech-driven, whole-body co-speech motion generation as next-token prediction. A pretrained LLM backbone (Qwen3) is turned into an audio→motion model by keeping its text vocabulary and enlarging it with GLM-4-Voice audio tokens and four motion codebooks, then generating the motion compositionally in a single causal stream:

[BOS] audio-tokens [SEP] [FACE] face [UPPER] upper [LOWER] lower [HAND] hand [EOS]

Each motion stream is decoded by its VQ decoder to SMPL-X (face = 6D head + 6D jaw + 100 expr; body = upper / lower / hand), giving a full talking + gesturing avatar from speech alone.

Checkpoints

FileBackboneParamsval loss ↓val acc ↑
qwen3-1.7B_4part.ptQwen3-1.7B1.76 B0.6960.854
qwen3-0.6B_4part.ptQwen3-0.6B0.61 B0.7050.834

(val loss = mean cross-entropy over the 4 motion streams on a held-out split; the two numbers are comparable to each other since both use the same vocab/targets.)

Each .pt is self-describing: {model, cfg, vocab, step, val_loss, val_acc} (torch.load).

Architecture

  • Backbone: pretrained Qwen3-1.7B / Qwen3-0.6B (decoder-only). The text vocab is kept; the embedding table is resized (mean-init) to append audio + motion + delimiter tokens.
  • Audio tokens: GLM-4-Voice (16384-way, 12.5 tok/s).
  • Motion codebooks: ViBES face VQ (512-way, 25 tok/s, 112-D) + upper / lower / hand body VQs (256-way each, 6.25 tok/s).
  • Generation: block-by-block (face → upper → lower → hand), each block constrained to its own code range; the decoded VQ streams are composited into a single SMPL-X sequence.

Training data

Trained on a mix of co-speech-gesture and talking-head corpora:

DatasetProvidesNotes
BEAT2body + faceCC BY-NC 4.0 (non-commercial)
TFHP (HDTF-derived)face only (body masked)talking-head
YouTube_Talkingface only (body masked)in-the-wild talking-head

For the YouTube_Talking data preparation, follow ViBES. We do not redistribute any raw video/audio — YouTube_Talking is released recipe-only (URL list + downloader + derived annotations) as part of ViBES: JuzeZhang/YouTube_Talking — see its README / the ViBES docs/1-data/youtube_talking.md for the download + annotation recipe. The audio tokenization and motion-token extraction used here are the same scripts described there.

Usage / inference

These weights need the inference harness shipped alongside them (a2f_decoder/) plus the VQ decoders and the GLM-4-Voice tokenizer. Minimal flow:

# 1. audio-tokens -> 4 motion streams -> SMPL-X
python a2f_decoder/infer_4part.py --ckpt qwen3-1.7B_4part.pt --out out/ --save_only
# 2. render (SMPL-X body via Blender + FLAME face)

See a2f_decoder/README.md (included) for the full dependency list (VQ checkpoints, SMPL-X / FLAME model files, GLM-4-Voice tokenizer) and end-to-end example.

License

Research use only. These weights are derived from models trained on BEAT2 (CC BY-NC 4.0, non-commercial), TFHP (HDTF-derived), and YouTube_Talking (source videos remain under YouTube's terms; none are redistributed). The base models are Qwen3 (Apache-2.0). Use of these checkpoints is restricted to non-commercial research and inherits the terms of the underlying datasets and base models. See LICENSE.

Citation

@misc{lom_a2m_4part,
  title  = {Language of Motion: Decoder-only 4-part Audio-to-Motion},
  author = {Zhang, Juze and others},
  year   = {2026},
  note   = {Research-use-only checkpoints, https://huggingface.co/JuzeZhang}
}

Sources

1 source
Hugging FacePrincipalVersion 95f5a7c330a82da854d8c4e4c0ed47a9004720b2
huggingface.co/JuzeZhang/LoM-a2m-4part/tree/95f5a7c330a82da854d8c4e4c0ed47a9004720b2

Vérifié 12 oct.

Artefacts du modèle

2 artefacts

qwen3-0.6B_4part.pt

pt · 1,14 GB · SHA-256 44d823e83b81…01cd · Hugging Face

Télécharger

qwen3-1.7B_4part.pt

pt · 3,27 GB · SHA-256 9cf1f28a9e3e…b45d · Hugging Face

Télécharger

Extraits de sources

2 extraits

--- license: other license_name: research-use-only license_link: LICENSE library_name: pytorch pipeline_tag: audio-to-audio tags: - audio-to-motion - co-speech-gesture - talking-head - smpl-x - motion-generation - decoder-only base_model: - Qwen/Qwen3-1.7B - Qwen/Qwen3-0.6B --- # Language of Motion — Decoder-only 4-part Audio-to-Motion (a2m) Speech-driven, whole-body **co-speech motion** generation as **next-token prediction**. A pretrained LLM backbone (Qwen3) is turned into an audio→motion model by **keeping its text vocabulary and enlarging it** with GLM-4-Voice audio tokens and four motion codebooks, then generating the motion compositionally in a single causal stream: ``` [BOS] audio-tokens [SEP] [FACE] face [UPPER] upper [LOWER] lower [HAND] hand [EOS] ``` Each motion stream is decoded by its VQ decoder to **SMPL-X** (face = 6D head + 6D jaw + 100 expr; body = upper / lower / hand), giving a full talking + gesturing avatar from speech alone. ## Checkpoints | File | Backbone | Params | val loss ↓ | val acc ↑ | |---|---|---|---|---| | `qwen3-1.7B_4part.pt` | Qwen3-1.7B | 1.76 B | **0.696** | 0.854 | | `qwen3-0.6B_4part.pt` | Qwen3-0.6B | 0.61 B | **0.705** | 0.834 | *(val loss = mean cross-entropy over the 4 motion streams on a held-out split; the two numbers are comparable to each other since both use the same vocab/targets.)* Each `.pt` is self-describing: `{model, cfg, vocab, step, val_loss, val_acc}` (`torch.load`). ## Architecture - **Backbone**: pretrained `Qwen3-1.7B` / `Qwen3-0.6B` (decoder-only). The **text vocab is kept**; the embedding table is resized (mean-init) to append audio + motion + delimiter tokens. - **Audio tokens**: GLM-4-Voice (16384-way, 12.5 tok/s). - **Motion codebooks**: ViBES face VQ (512-way, 25 tok/s, 112-D) + upper / lower / hand body VQs (256-way each, 6.25 tok/s). - **Generation**: block-by-block (face → upper → lower → hand), each block constrained to its own code range; the decoded VQ streams are composited into a single SMPL-X sequence. ## Training data Trained on a mix of co-speech-gesture and talking-head corpora: | Dataset | Provides | Notes | |---|---|---| | [BEAT2](https://github.com/PantoMatrix/PantoMatrix) | body **+** face | CC BY-NC 4.0 (non-commercial) | | TFHP (HDTF-derived) | face only (body masked) | talking-head | | **YouTube_Talking** | face only (body masked) | in-the-wild ta...

Source context: 0 downloads · 0 likes · Pipeline audio-to-audio · Library pytorch · Repo JuzeZhang/LoM-a2m-4part