Liperty is a real-time, on-device Visual Speech Recognition (VSR) and Voice Reconstruction application for the Deaf, Hard-of-Hearing, and speech-impaired communities. It converts lip movements into text (lipreading) or reconstructed speech, running fully offline after a one-time first-launch model download to protect privacy.
⚠️ Accuracy status: The production lipreading model (SyncVSR) is not yet validated on in-domain data. The only evaluation run scored 100% WER on an out-of-distribution dataset (GRID 16-frame clips) — see
docs/EVAL_RESULTS_2026-05-13.md. Real WER/CER on a SyncVSR-matched (full-utterance LRS3) test set is still pending. Treat lipreading output as experimental.
docs/TODO.md)See docs/ARCHITECTURE.md for the full technical breakdown and CLAUDE.md for the maintained contributor guide.
.task files, ML models, and patches dependencies for AGP 9 / JDK 17):
./setup_libs.sh
The large ML models are pruned from the APK and downloaded into app-private storage on first launch by setup/ModelDownloadManager.kt (~1.4 GB required; the app declares INTERNET solely for this)../gradlew assembleDebug.Liperty processes biometric data (facial landmarks). See docs/LEGAL.md (BIPA/GDPR/wiretap posture) and docs/PRIVACY_POLICY.md. The first-launch model download must be disclosed in the Play Store Data Safety form.
Architecture and methods: docs/RESEARCH_PAPER.md. Literature surveys: docs/RESEARCH.md.
399 commits
16 commits
Kotlin
49.7%
Python
27.0%
Jupyter Notebook
19.8%
C++
1.6%
Shell
1.2%
Liperty is a real-time, on-device Visual Speech Recognition (VSR) and Voice Reconstruction application for the Deaf, Hard-of-Hearing, and speech-impaired communities. It converts lip movements into text (lipreading) or reconstructed speech, running fully offline after a one-time first-launch model download to protect privacy.
⚠️ Accuracy status: The production lipreading model (SyncVSR) is not yet validated on in-domain data. The only evaluation run scored 100% WER on an out-of-distribution dataset (GRID 16-frame clips) — see
docs/EVAL_RESULTS_2026-05-13.md. Real WER/CER on a SyncVSR-matched (full-utterance LRS3) test set is still pending. Treat lipreading output as experimental.
docs/TODO.md)See docs/ARCHITECTURE.md for the full technical breakdown and CLAUDE.md for the maintained contributor guide.
.task files, ML models, and patches dependencies for AGP 9 / JDK 17):
./setup_libs.sh
The large ML models are pruned from the APK and downloaded into app-private storage on first launch by setup/ModelDownloadManager.kt (~1.4 GB required; the app declares INTERNET solely for this)../gradlew assembleDebug.Liperty processes biometric data (facial landmarks). See docs/LEGAL.md (BIPA/GDPR/wiretap posture) and docs/PRIVACY_POLICY.md. The first-launch model download must be disclosed in the Play Store Data Safety form.
Architecture and methods: docs/RESEARCH_PAPER.md. Literature surveys: docs/RESEARCH.md.
399 commits
16 commits
Kotlin
49.7%
Python
27.0%
Jupyter Notebook
19.8%
C++
1.6%
Shell
1.2%