Scribe is a small, privacy-first voice input keyboard for Android. I wrote it mostly for personal use because I wanted a good voice keyboard for the latest GrapheneOS.
When Scribe is selected, it listens while the keyboard is visible and inserts speech into the focused text field. Partial results appear as composing text; finished lines are committed automatically.
Speech recognition is provided by Moonshine Voice and runs entirely on the device.
This is an intentionally minimal, personal-use project rather than a polished general-purpose keyboard.
An internet connection is needed only to download the model. Afterward, recognition works offline.
Audio and transcripts are never logged, stored, or uploaded. The app's internet permission is used only for the model download.
Requires JDK 17 and the Android API 37 SDK.
./gradlew spotlessCheck test assembleDebug lintDebug
The APK is written to app/build/outputs/apk/debug/app-debug.apk.
Scribe is licensed under the GNU GPLv3. See THIRD-PARTY-NOTICES.md for dependency attribution.
54 commits
Kotlin
99.7%
Scribe is a small, privacy-first voice input keyboard for Android. I wrote it mostly for personal use because I wanted a good voice keyboard for the latest GrapheneOS.
When Scribe is selected, it listens while the keyboard is visible and inserts speech into the focused text field. Partial results appear as composing text; finished lines are committed automatically.
Speech recognition is provided by Moonshine Voice and runs entirely on the device.
This is an intentionally minimal, personal-use project rather than a polished general-purpose keyboard.
An internet connection is needed only to download the model. Afterward, recognition works offline.
Audio and transcripts are never logged, stored, or uploaded. The app's internet permission is used only for the model download.
Requires JDK 17 and the Android API 37 SDK.
./gradlew spotlessCheck test assembleDebug lintDebug
The APK is written to app/build/outputs/apk/debug/app-debug.apk.
Scribe is licensed under the GNU GPLv3. See THIRD-PARTY-NOTICES.md for dependency attribution.
54 commits
Kotlin
99.7%