git404hub

what is threejs-talking-avatar fr?

majidmanzarpour/threejs-talking-avatar — explained in plain English

Analysis updated 2026-05-18

12PythonAudience · developerComplexity · 4/5LicenseSetup · moderate

tl;dr

A browser-only talking 3D avatar that listens, thinks, speaks, and animates its face using entirely local AI models, no server required.

vibe map

mindmap
  root((Talking Avatar))
    What it does
      Browser only avatar
      Local speech and reply
      Animated facial expression
    Tech stack
      Three.js
      WebGPU
      WebAssembly
    Use cases
      Local voice conversation
      Compare model combos
      Study expressive animation
    Audience
      Developers
      Graphics researchers

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

what do people make with this?

VIBE 1

Talk to a 3D avatar in your browser using fully local speech recognition, language model, and voice synthesis.

VIBE 2

Compare different combinations of local speech, language, and voice models for quality and download size.

VIBE 3

Type a phrase and hear it spoken with optional real cloud voice quality using your own ElevenLabs key.

VIBE 4

Study how a language model can be prompted to control facial expression and gesture timing in an animated character.

what's the stack?

Three.jsWebGPUWebAssemblyViteNode.js

how it stacks up fr

majidmanzarpour/threejs-talking-avataraim-uofa/reasonmatchairbone42/360-data-athlete
Stars121212
LanguagePythonPythonPython
Setup difficultymoderatehardhard
Complexity4/55/54/5
Audiencedeveloperresearchergeneral

Figures from each repo's GitHub metadata at analysis time.

how do i run it?

Difficulty · moderate time til it works · 30min

First run downloads several gigabytes of local AI models and needs a Chromium browser with WebGPU support.

The project's own code is free to use for any purpose, including commercial use, as long as you keep the copyright notice, the underlying model weights and audio have separate license terms.

in plain english

This project is a talking avatar that runs entirely inside a web browser, with no server doing the heavy lifting behind it. It combines a 3D face model from Google's GNM project with the Three.js graphics library, and everything from listening to your voice, generating a reply, converting that reply to speech, and animating the face happens on your own device. You can either type a phrase or talk to it out loud. When speaking, it uses local speech recognition models, then generates a response using a local language model such as Gemma or Qwen, then turns that response into speech using a local text to speech voice, and finally animates the avatar's jaw, lips, tongue, eyes, and expressions to match, all running through your browser's WebGPU and WebAssembly support rather than calling out to a cloud service. There is also an optional path where you can supply your own ElevenLabs API key directly in the browser to use their voice service instead, though the README is upfront that a key typed into a webpage this way cannot be kept fully secret from someone else using the same browser or site. Because everything downloads and runs locally, the first time you use it can involve downloading a few gigabytes of model files depending on which combination of recognizer, language model, and voice you pick, and the tool shows you the expected download size before you commit to it. A model manager lets you preview, download, and switch between different combinations to compare quality and speed. Beyond just moving the mouth in time with the audio, the language model itself decides on brow, gaze, head movement, and general expression, choosing an emotional performance for each reply and then handing it off to a deterministic animation system that turns that choice into rendered motion. To run it yourself, you need Node.js 20 or newer and a Chromium based browser with support for WebGL, Web Audio, WebAssembly, and WebGPU. The project's own code is released under the Apache License 2.0, though the underlying model weights and audio have their own separate license terms.

prompts (copy fr)

prompt 1
Help me clone this repo and run the demo locally with npm install and npm run dev.
prompt 2
Explain the tradeoffs between the different local lip timing modes: auto, native, waveform, and heuristic.
prompt 3
What are the storage and download size implications of choosing Gemma versus Qwen as the local brain?
prompt 4
Walk me through the security tradeoffs of entering an ElevenLabs API key directly into this browser demo.

Frequently asked questions

what is threejs-talking-avatar fr?

A browser-only talking 3D avatar that listens, thinks, speaks, and animates its face using entirely local AI models, no server required.

What language is threejs-talking-avatar written in?

Mainly Python. The stack also includes Three.js, WebGPU, WebAssembly.

What license does threejs-talking-avatar use?

The project's own code is free to use for any purpose, including commercial use, as long as you keep the copyright notice, the underlying model weights and audio have separate license terms.

How hard is threejs-talking-avatar to set up?

Setup difficulty is rated moderate, with roughly 30min to a first successful run.

Who is threejs-talking-avatar for?

Mainly developer.

peek the repo → explain another one

This repo across BitVibe Labs

double-check against the repo, no cap.