Skip to content

Repository files navigation

Grok Voice Input (Android)

System-wide voice dictation for Android using xAI Grok STT. Works anywhere the microphone / voice-input affordance appears (keyboard, browser, apps) by implementing Android’s RecognitionService.

Desktop sibling: voice-input (COSMIC / Linux).

What it does

  1. Records speech when the system starts voice input (16 kHz mono PCM).
  2. Trims leading/trailing silence (simple RMS threshold).
  3. Sends WAV to POST https://api.x.ai/v1/stt.
  4. Returns the transcript to the focused field.

STT uses format=true (inverse text normalization — spoken numbers become digits/symbols where supported) and your chosen language code (e.g. ru, en).

Install

GitHub Releases: github.com/erik-balfe/voice-input-android/releases — download grok-voice-input-<version>.apk, install on your phone.

Or build locally (see below).

Setup on your phone

  1. Install the APK (from Releases or local build).
  2. Open Grok Voice Input → save your xAI API key → grant microphone.
  3. Enable the keyboard (this is where Whisper-style apps show up):
    Settings → System → Languages & input → On-screen keyboard → Manage keyboards → Grok Voice Input → ON
  4. Switch to it from the keyboard switcher (🌐/mic), or set Default voice input method to Grok Voice Input for the system mic button.

Build

Requires Android SDK, JDK 17–21 (JDK 25 is not supported by Gradle yet), and ANDROID_HOME.

export ANDROID_HOME=~/Android/Sdk
export JAVA_HOME=~/.local/jdks/jdk-21.0.11+10   # example
./scripts/check.sh   # build + unit tests + lint + APK sanity checks

Or just ./gradlew :app:assembleRelease.

APK: app/build/outputs/apk/release/app-release.apk

Install: adb install -r app/build/outputs/apk/release/app-release.apk

Privacy

Audio is sent to xAI for transcription. The API key is stored locally with EncryptedSharedPreferences.

License

MIT

About

Android system voice input via xAI Grok STT

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages