GCDance: Genre-Controlled 3D Full Body Dance Generation Driven By Music

Xinran Liu1, Xu Dong1, Shenbin Qian1, Diptesh Kanojia1, Wenwu Wang1, Zhenhua Feng2,

1University of Surrey, UK

2 Jiangnan University, China
GCDance overview

Conditioned on audio and a genre-descriptive text prompt, GCDance produces 3D dance sequences with precise beat and melody alignment and a style that conforms to the textual specification.

Abstract

Music-driven dance generation is a challenging task, as models must respect genre conventions, preserve physical realism, and achieve fine-grained synchronization between movement and musical beat and rhythm. Despite recent progress in music conditioned generation, many methods still struggle to express distinctive genre specific style. We present GCDance, a diffusion based framework for genre specific 3D full body dance generation conditioned on music and descriptive text. The approach introduces a text based control mechanism that converts prompts, including explicit genre labels and free form descriptions, into genre specific control signals, enabling accurate and controllable synthesis of genre consistent motion.

Genre-Guided Generation

Classical-Style Dance
Hiphop-Style Dance
Dai-Style Dance
Korean-Style Dance
Popping-Style Dance
Miao-Style Dance
Urban-Style Dance
Choreography-Style Dance
Classic-Style Dance
Dai-Style Dance
Hiphop-Style Dance
Choreography-Style Dance

Free-form Text Guided Generation

"Graceful, expansive, and spin-driven dance"
"Funky, arm-swinging, and punctuated with sharp locks."
"Lively, flowing, and rich in expressive hand movements."
"Robotic, snappy, and rhythmically precise."
"K-pop style and fluid."
"Groovy, expressive, and musical choreographed."

Long-Term Dance Generation Results

BibTeX


  @article{liu2025gcdance,
  title={GCDance: Genre-Controlled 3D Full Body Dance Generation Driven By Music},
  author={Liu, Xinran and Dong, Xu and Shenbin Qian and Kanojia, Diptesh and Wang, Wenwu and Feng, Zhenhua},
  journal={arXiv preprint arXiv:2502.18309},
  year={2025}
}