CodeTalker: Speech-Driven 3D Facial Animation with Discrete Motion Prior

Jinbo Xing, Menghan Xia, Yuechen Zhang, Xiaodong Cun, Jue Wang +1 more
2/14/2026

No official code found. Best implementation: Doubiiu/CodeTalker (617 stars, MIT, last commit 2023-09-20).

Abstract

Speech-driven 3D facial animation has been widely studied, yet there is still a gap to achieving realism and vividness due to the highly ill-posed nature and scarcity of audio-visual data. Existing works typically formulate the cross-modal mapping into a regression task, which suffers from the regression-to-mean problem leading to over-smoothed facial motions. In this paper, we propose to cast speech-driven facial animation as a code query task in a finite proxy space of the learned codebook, which effectively promotes the vividness of the generated motions by reducing the cross-modal mapping uncertainty. The codebook is learned by self-reconstruction over real facial motions and thus embedded with realistic facial motion priors. Over the discrete motion space, a temporal autoregressive model is employed to sequentially synthesize facial motions from the input speech signal, which guarantees lip-sync as well as plausible facial expressions. We demonstrate that our approach outperforms current state-of-the-art methods both qualitatively and quantitatively. Also, a user study further justifies our superiority in perceptual quality. Code and video demo are available at https://doubiiu.github.io/projects/codetalker.

View on arXivView PDF

Code Implementations(1)

Doubiiu/CodeTalkerCommunity100%
MIT

[CVPR 2023] CodeTalker: Speech-Driven 3D Facial Animation with Discrete Motion Prior

61767Shell, PythonFeb 28, 20233 years agoMIT

Similar Papers

Cite this paper

@article{xing2026codetalker,
  title  = {CodeTalker: Speech-Driven 3D Facial Animation with Discrete Motion Prior},
  author = {Jinbo Xing and Menghan Xia and Yuechen Zhang and Xiaodong Cun and Jue Wang and T. Wong},
  year   = {2026},
  eprint = {2301.02379},
  archivePrefix = {arXiv},
  url    = {https://arxiv.org/pdf/2301.02379},
  journal = {CVPR 2023 2023}
}

Add a badge to your README

Shows whether official code is linked for this paper.

Code of Paper badge
[![Code of Paper](https://codeofpaper.com/badge/2301.02379.svg)](https://codeofpaper.com/paper/2301.02379)

Discussion