Embodied Conversational Agents (ECAs) aim to emulate human face-to-face interaction through speech, gestures, and facial expressions. Current large language model (LLM)-based conversational agents lack embodiment and the expressive gestures essential for natural interaction. Existing solutions for ECAs often produce rigid, low-diversity motions, that are unsuitable for human-like interaction. Alternatively, generative methods for co-speech gesture synthesis yield natural body gestures but depend on future speech context and require long run-times. To bridge this gap, we present MIBURI, the first online, causal framework for generating expressive full-body gestures and facial expressions synchronized with real-time spoken dialogue. We employ body-part aware gesture codecs that encode hierarchical motion details into multi-level discrete tokens. These tokens are then autoregressively generated by a two-dimensional causal framework conditioned on LLM-based speech-text embeddings, modeling both temporal dynamics and part-level motion hierarchy in real time. Further, we introduce auxiliary objectives to encourage expressive and diverse gestures while preventing convergence to static poses. Comparative evaluations demonstrate that our causal and real-time approach produces natural and contextually aligned gestures against recent baselines. We urge the reader to explore demo videos on https://vcai.mpi-inf.mpg.de/projects/MIBURI/.
Figures & tables
Figure 2: Overview. Existing solutions [ 39 , 9 ] to animate ECAs involve a complex pipeline (above) of multiple components to generate gestures with speech. Miburi (below) generates full body co-speech gestures directly by utilizing internal semantic/acoustic tokens of speech-text foundation model [ 12 ] .
Method
Approach
Expressive
Causal
Real-time
Cassell et. al. [ 6 , 8 ]
Rule-based
✗
✓
✓
DigitalEinstein [ 52 ]
Rule-based
✗
✓
✓
Gesturebot [ 39 ]
Autoregressive
✗
✗
✓
EMAGE [ 28 ]
Masked Gesture Modelling
✓
✗
✗
ConvoFusion [ 38 ]
Diffusion
✓
✗
✗
Audio2Photoreal [ 41 ]
VQ+Diffusion
✓
✗
✗
Table 1: Approaches for offline Gesture Synthesis and ECAs
Figure 3: Miburi Architecture. Given Moshi’s speech/text tokens( Sec. 3.1 ), our approach generates a sequence of gesture tokens, which are obtained through Body-part aware Gesture Codecs( Sec. 3.2 ). This online framework takes in Moshi’s text/speech token as input and predict gesture tokens through autoregressive temporal and kinematic transformers( Sec. 3.3 ).
Figure 4: User Study for Perceptual Evaluation. Here, the red line indicates chance level (50%), * stands for p<0.05 and *** for p<0.001 .
Multiple speakers (23)
FGD ↓
BeatAlign →
L1-Div →
Facial-MSE ↓
GT
0.446
8.45
CaMN
0.736
0.176
6.73
–
EMAGE*
0.850
0.236
6.58
4.6
RAG-Gesture
0.515
0.648
10.09
–
GestureLSM
0.537
0.481
8.41
–
Table 2: Multi-speaker evaluation. Facial-MSE scaled by 10−8 . * refers to retrained methods.
Single-speaker ( Scott )
FGD ↓
BeatAlign →
L1-Div →
Facial-MSE ↓
GT
0.749
13.22
–
CaMN
0.969
0.698
10.61
–
EMAGE
0.552
0.795
13.06
7.68
RAG-Gesture
0.879
0.730
12.62
–
GestureLSM
0.410
0.719
13.42
–
Table 3: Single-speaker evaluation. Facial-MSE scaled by 10−8 .
Causal
LatencyA100↓
#Frames / Step
GestureLSM (8 steps)
✗
0.1447±0.0034
124
EMAGE
✗
0.0374±0.0004
60
MambaTalk
✗
0.0529±0.0039
60
Miburi (ours)
✓
0.0349±0.0017
2
Table 4: Latency and Causality Comparison. Wall-clock time is measured from the beginning of the forward pass to the conversion of outputs into SMPL-X parameters. Render times are excluded here. #Frames / Step indicates the number of frames generated per forward pass.
FGD↓
BeatAlign→
L1-Div→
GT
–
0.446
8.45
Miburi -L (+Face) w/ wav2vec
0.595
0.404
7.92
Miburi (+Face) w/ wav2vec
0.665
0.363
7.07
Miburi -L (+Face)
0.582
0.434
9.31
Miburi (+Face)
0.480
0.461
10.44
Table 5: Wav2vec ablation against moshi features.
FGD↓
BeatAlign→
L1-Div→
Step Time (s)↓
GT
0.446
8.45
Single Transformer
1.256
0.731
5.48
0.096
Ours
0.480
0.461
10.44
0.035
Table 6: Comparison of Model Variants on Gesture Generation and Runtime.
FGD↓
BeatAlign→
L1-Div→
GT
0.446
8.45
LCE+Lva
0.499
0.450
10.25
with MSE-loss
0.577
0.438
9.79
with Lcon
0.480
0.461
10.44
Table 7: Quantitative Effect of Losses on Generation.
FGD↓
MPJPE (m)↓
K=1
0.55
0.043
K=2
0.42
0.032
K=4
0.135
0.022
K=8
0.059
0.016
Table 8: Effect of Number of Codebooks K on Motion Reconstruction. MPJPE is represented in meters.
Figure 5: System architecture of our real-time demo. The main inference process runs Moshi and Miburi in a continuous loop, while two parallel processes handle speech/text visualization and motion rendering. Data is streamed between processes at each timestep via websockets to support low-latency, full-duplex interaction. Right: the user-facing interface of the demo.
FGD↓
BeatAlign→
L1-Div→
GT
–
0.453
5.97
EMAGE [ 28 ]
3.786
0.022
1.79
GestureLSM [ 30 ]
3.744
0.776
13.75
Miburi
1.642
0.605
10.18
Table 9: Quantitative evaluation on the Embody3D dataset.