Repolode
semperai

semperai/amica

An open source web interface for talking with customizable 3D VRM characters using voice chat, vision, and emotional expressions.

Stars
1,617
Forks
271
Open issues
19
Last commit
29 days ago

What is it?

Amica is a browser-based interface for conversing with 3D characters. Users can import VRM models, adjust the character's voice, and have responses include emotional expressions. The project runs in the browser and can also be packaged as a desktop app with Tauri.

Amica combines several AI components into one pipeline: speech recognition with Whisper and Silero VAD for voice input, a range of chat backends for generating replies, and text-to-speech engines for output. Supported chat backends include Ollama, Llama.cpp server, KoboldCpp, Oobabooga, OpenRouter, and any OpenAI-compatible API. Text-to-speech options include ElevenLabs, OpenAI, Speech T5, Coqui, RVC, and AllTalkTTS. Vision is supported through BakLLaVA.

The project started as a fork of Pixiv's ChatVRM. Configuration is handled mainly through a .env.local file, and the project is built with Next.js and three.js.

Key features

  • 01Imports and displays VRM 3D character models
  • 02Voice chat with speech recognition and text-to-speech
  • 03Responses include emotional expressions
  • 04Supports multiple chat backends including Ollama, OpenRouter and OpenAI-compatible APIs
  • 05Offers several local and cloud text-to-speech engines
  • 06Can be built as a desktop app with Tauri

Use cases

  • Building a virtual companion or character chat experience
  • Experimenting with local LLMs paired with a 3D avatar
  • Prototyping voice-driven assistants with customizable characters

Quick start

  1. 1

    Clone the repository

    git clone git@github.com:semperai/amica.git
  2. 2

    Install the required packages

    npm install
  3. 3

    Start the development web server

    npm run dev
  4. 4

    Open http://localhost:3000 to confirm it works

Things to know

  • Chat backends such as OpenRouter or the ChatGPT API require your own API key.
  • Local setup requires Node.js and npm, and configuration is spread across .env.local and config.ts.
  • Assets such as 3D models and images carry their own licenses beyond the MIT code license.

Topics

FAQ

What is amica?
An open source web interface for talking with customizable 3D VRM characters using voice chat, vision, and emotional expressions. Amica is a browser-based interface for conversing with 3D characters. Users can import VRM models, adjust the character's voice, and have responses include emotional expressions. The project runs in the browser and can also be packaged as a desktop app with Tauri.
Is amica free to use? What license does it have?
amica is open source under the MIT license. Check the license terms before using it in commercial products.
Is amica still maintained?
Actively maintained. The last commit to amica was on Sep 22, 2026.
What can I use amica for?
Building a virtual companion or character chat experience Experimenting with local LLMs paired with a 3D avatar Prototyping voice-driven assistants with customizable characters
How do I install amica?
Clone the repository: git clone git@github.com:semperai/amica.git Install the required packages: npm install Start the development web server: npm run dev Open http://localhost:3000 to confirm it works
Where can I get amica?
The source code and installation instructions are on GitHub: https://github.com/semperai/amica

Summary generated by AI from the project's README. GitHub stats refresh daily.

Related projects