Practical overview
When it fits
Use Chaplin when you want to enter text by mouthing words into a camera and can run its local visual recognition and language-model components.
Who it is for
- People seeking hands-free text entry by silently mouthing words.
- Users comfortable setting up a local Python application, downloaded model files and Ollama.
Documented uses
- Turn silently mouthed words into text without speaking.
- Send corrected recognition output to the currently focused application.
Requirements & limits
The repository is public and lists an MIT license. The README documents local setup and use on macOS, Windows and Linux.
- The input method is lip movement captured by a camera, not spoken audio.
- The documented workflow uses an Auto-AVSR model, model files downloaded from Hugging Face Hub, Ollama with qwen3:4b, and uv.
- Raw recognition output appears in the terminal; corrected text is typed at the cursor.
Check current requirements in the official documentation. Source-based guidance does not mean OpenViST has run or independently tested this project.
Set up Chaplin for local lip-reading input
Install Chaplin's model files and prepare the local tools required by its documented usage workflow.
Before you start
- A computer running macOS, Windows or Linux.
- Git, to clone the repository.
- Ollama, running with the qwen3:4b model pulled.
- uv.
Steps
Clone https://github.com/amanvirparhar/chaplin and change into the chaplin directory.
Run ./setup.sh to download the required model files from Hugging Face Hub.
Install and run Ollama, then pull the qwen3:4b model.
Install uv.
Expected outcome
The repository, downloaded model files and named local dependencies are prepared for the documented launch command.
Guide limitations
- These setup steps do not themselves start Chaplin; the README documents a separate launch command.
- The README specifies Python 3.12 in its usage command.
Use Chaplin to enter text by mouthing words
Start the documented camera-based recognition workflow and send corrected text to the cursor.
Before you start
- Completed Chaplin setup.
- A camera feed.
- A focused application or text field where Chaplin can type.
Steps
Run uv run --with-requirements requirements.txt --python 3.12 main.py config_filename=./configs/LRS3_V_WER19.1.ini detector=mediapipe.
When the camera feed appears, hold Option on macOS or Alt on Windows or Linux and mouth words.
Press the same key again to stop recording; check the terminal for raw recognition output and the cursor for corrected text.
To exit, focus the camera-feed window and press q.
Expected outcome
Chaplin logs raw visual recognition output and types the LLM-corrected version at the cursor.
Guide limitations
- The documented interaction requires mouthing words in view of the camera.
- This workflow uses local visual recognition and Ollama-based text correction; it is not audio speech recognition.
Sources & review
Source record details
- Source availability
- Active
- Sources checked
- 14 October 2026
- Original website title
- amanvirparhar/chaplin · Official homepage title · retained in its source language

