Polished Recognition — Help

Voice input for any Android keyboard. Tap the mic, speak, and polished text appears — using the speech and language providers you choose.

← Back to the project page

What it is

Polished Recognition is a voice keyboard. Switch to it, speak, and it transcribes your audio with a speech-to-text (STT) provider — then optionally cleans up, reformats, or translates the text with a language model (LLM) before inserting it into whatever app you were typing in.

You bring your own API key (or run a local model). There is no account and no central server: your audio goes only to the provider you configured — or nowhere at all if you run a local model.

It works as a normal on-screen keyboard, and it also answers the system voice input that keyboards like HeliBoard, Fossify, OpenBoard and the AOSP keyboard delegate to.

Quick start

  1. Install from F-Droid (recommended) or the Play Store (closed testing).
  2. Configure a provider in the app's Settings: pick an STT provider (e.g. Groq), paste your API token, tap Validate & Fetch Models, and choose a Whisper model. An LLM provider is optional.
  3. Enable the keyboard: Settings → System → Languages & input → On-screen keyboard → turn on Polished Recognition.
  4. Use it: in any text field, switch to the Polished keyboard — recording starts instantly. Speak, then tap Send.

Full step-by-step setup, including the device-specific paths and the system voice-input option, is in the Installation Guide.

Understanding the keyboard

The recorder is a compact two-row bar. The key to it is that every button does one thing when you tap it and, for some buttons, something else when you press and hold it. Try it below — tap a button, or press and hold it.

0:04 Language Raw
Tap or press-and-hold a button above.
Tap —
Press & hold —
On the real keyboard, pressing and holding a button (or the language field) shows a short hint at the top of the screen. The Delete button is the exception: its hold gesture clears the whole field.
Screen recording: dictating with filler words into the Polished keyboard, tapping Send, and polished text appearing in the note

Dictating with filler words → tap Send → polished text appears.

Dictating

Pause & resume

Need a moment to think, or an interruption? Tap Pause. Everything you have recorded so far is kept; tap again to resume and keep going. You can even switch to your normal typing keyboard and back — the dictation stays paused and continues when you return.

Raw mode

With no target language set, the LLM still polishes your dictation (punctuation, structure, filler words). Flip Raw to skip the LLM entirely and insert the plain transcription — zero extra latency.

Choosing your words

Everything lands in the app you were typing in. There is no third app to copy from — the text is inserted at your cursor, spaced correctly so words never glue onto the surrounding text.

Language & prompts

Troubleshooting

ProblemFix
Nothing is recorded / no audioCheck that the microphone permission is granted — the app asks on first use. See Settings → Apps → Polished Recognition → Permissions.
Model list is emptyEnter a valid API token and tap Validate & Fetch Models. Some providers only allow free-text model entry.
Gboard's mic doesn't start itBy design — Gboard hardcodes Google's own voice typing. Switch to the AOSP keyboard (LineageOS), HeliBoard, Fossify, or OpenBoard.
Polished isn't listed under Voice inputAvailable on Android 12+. If the menu is hidden, set it via ADB — see below.

ADB commands

Most users never need ADB. These help when an icon is hidden, the system voice-input menu is missing, or you want to report a bug.

# Open the app's Settings screen
adb shell am start -n "com.georgernstgraf.polishedrecognition/com.georgernstgraf.polishedrecognition.ui.SettingsActivity"

# Set Polished as the system voice input (Android 12+)
adb shell settings put secure voice_recognition_service com.georgernstgraf.polishedrecognition/com.georgernstgraf.polishedrecognition.service.PolishedRecognitionService

# Verify it
adb shell settings get secure voice_recognition_service

# Pull the on-device logs for a bug report
adb pull /sdcard/Android/data/com.georgernstgraf.polishedrecognition/files/logs/ .

On Oplus ROMs (OnePlus/OPPO/Realme) writes to secure settings are blocked — use the on-device Settings screens there. See the Installation Guide for the full reference.