AHEADance: Anticipatory Humanoid Dance from Streaming Audio
TL;DR A streaming dance generator for a humanoid that forecasts the next half second of music with a frozen music model and trains on its own committed motion. On a physical Unitree G1 it dances while music plays and stands still after each of 20 music stops, with no falls.
What they do
A humanoid dancing to live music has to commit each chunk of motion before it hears the music that chunk goes with, and it cannot revise motion it has already sent to the robot. AHEADance generates reference motion directly in Unitree G1 coordinates, 0.533 s at a time, from streaming audio. A fixed whole-body tracker (SONIC) executes it.
How it works
- ListenAhead. A frozen MRT-2 music model forecasts 14 hidden states reaching about 0.5 s past the audio heard so far. The generator attends to them with a timing term for when each state is expected and a reliability weight for how far to trust it.
- Commit-aligned codec. Each 16-frame chunk is a root trajectory, discrete codes and continuous corrections, sampled in that order by diffusion and decoded once from the pose and velocity of the last committed chunk.
- Commit Forcing. Training reconstructs and commits the 8 preceding chunks with the model itself, so both the latent history and the decoded boundary pose come from model output, as at inference.
- Data. 61.7 h of dance from six public datasets retargeted to the G1. Standing segments in the data let the robot stop when the music stops, with no rule.
Results
- On 42 songs unseen in training, AHEADance has the highest sync accuracy (28.6%) and song-matching score (MMR 0.187, against at most 0.046) of the compared generators, and the lowest kinetic FID (18.8 against at least 23.7).
- Removing the forecast channel lowers sync accuracy from 24.2% to 17.4%. Commit Forcing cuts low-activity windows from 83.5% to 10.3% (real dance 9.7%).
- A chunk is committed 0.13 s after its audio cutoff. SONIC tracks the references in simulation without a reset in 99.5% of 369 trials.
- Physical G1, 12 runs: the robot came to near-standing after each of 20 music stops and danced after each of 20 starts, with no fall and a median joint tracking error of 5.5 degrees.
Limitations
Kinetic diversity stays below real dance (2.22 against 6.22). Forecasts do not anticipate abrupt changes such as a sudden stop, so the robot reacts afterwards. The robot moves about 1.2 s behind the music the audience hears. The generator gets no measured robot state and runs off-board on a workstation; music scores are computed on the references, not the executed motion.
Videos
Figures




Abstract
A humanoid that dances to streamed music must commit each motion chunk before it has heard the music that chunk accompanies, and must continue from motion it has already committed. We present AHEADance, a robot-native streaming dance generator executed on a humanoid robot by a whole-body tracker. ListenAhead conditions each chunk on heard music and a frozen music model's forecasts of the coming music, aligned to their target times and weighted by reliability. The forecasts carry the timing of upcoming beats almost as well as the actual future; with them, the generator is better synchronized with the music and concentrates more motion energy at its song's beat frequency. Commit Forcing trains continuation from the model's own committed chunks, updating both the latent history and the decoded boundary of the next chunk; it reduces low activity from 83.5% to 10.3%, the level of real dance. Three music evaluators, each validated on real G1 dance, test synchronization, song and style. On a physical Unitree G1, it dances while the music plays and comes to rest when it stops, without a fall. Project page: https://ihcr.github.io/AHEADance
Summaries are written automatically from each paper's text. Figures and videos come from the paper and its project page; all credit goes to the authors.
