A SvelteKit application for live-streaming 3D VRM avatars with AI-powered chat, text-to-speech, mixamo animations.
Click to see showcase videoSee roadmap.md for full details and planned features.
The project uses ElevenLabs TTS with phoneme timings for VRM lip-sync.
Learn more:
Phonemes mapped: A, AA, AH, AE, AO, AW, AY, E, EH, ER, EY, I, IH, IY, O, OH, OW, OY, U, UH, UW, M, B, P, F, V, TH, L, R, NEUTRAL.
Clone the repository:
git clone https://github.com/yourusername/svelte-vrm-live.git
cd svelte-vrm-live
Install dependencies:
pnpm install
Set the following environment variables (for example, create a .env
file in the project root):
# Google Generative AI
GOOGLE_API_KEY=your_google_api_key
# ElevenLabs Text-to-Speech
ELEVENLABS_API_KEY=your_elevenlabs_api_key
These keys are required for the chat and text-to-speech features.
Start the development server:
pnpm dev
Open http://localhost:5173.
Build for production:
pnpm build
Preview:
pnpm run preview
svelte, sveltekit, threejs, threlte, vrm, 3d-avatar, ai-chat, text-to-speech, lipsync, phonemes, mixamo, animations, blockchain, solana, generative-ai, youtube-streaming
We welcome contributions! Before we can merge your first pull request you must sign our Contributor License Agreement (CLA). When you open a PR, GitHub will display a message from the CLA bot with a link to sign.
Once the CLA is signed, the status check will update automatically, and we’ll be able to review your contribution.
AGPL (see LICENSE file)