github DevEmperor/DictateKeyboard v6.4.0
Dictate 6.4.0

7 hours ago

Dictate 6.4.0 is a release about doing more on the phone itself, and more of it your way. It translates as you type, on the device, in 49 languages — nothing you type is sent anywhere. Both symbol pages can hold the symbols you choose, with the long presses you choose. xAI's Grok, Scaleway and OVHcloud join the providers, and offline, Parakeet Ultra replaces Parakeet v3 at the same size with clearly fewer errors. A command word turns a spoken sentence into an instruction, and the whole app went through a privacy and security audit. Underneath that: suggestions that read slips, glide typing that finds accented words, and a long list of dictation fixes. Updating shows a new What's-new tour for 6.4; every tour stays re-viewable under Settings › About.

🌐 Translate as you type (#424, #433)

  • Open Translate in the Smartbar, type into the field above it, and the app's field fills with the translation. It works like Gboard's bar: a field of its own with a cursor and suggestions, and each update replaces the previous one in a single edit — but only while the app's field still ends with what was written, so nothing of yours is ever deleted.
  • On the device, with Mozilla's Bergamot and the Firefox Translations models. Android's own TranslationManager was measured first: Samsung locks its language packs to Galaxy AI phones, and Xiaomi, LineageOS and GrapheneOS ship no service at all. ML Kit was rejected for its branding terms and its telemetry.
  • The engine runs in a process of its own, bound only while the bar is open. A loaded language pair costs 75–150 MB, and a native crash can never take the keyboard with it.
  • Enter writes the finished translation before it sends, so a chat message never goes out half translated. Pasted text and line breaks go into the bar, and a translation can no longer be written twice.
  • Each language is a one-time download, pinned by size and hash like every other download in the app, and the list shows the size before anything is fetched.

🔣 Your own symbols (#342)

  • A switch under Keyboard › Custom symbols replaces both symbol pages with your own, in every language. Tap a key in a picture of the page, choose what it types and what its long press offers, and drag those into order. A palette covers the hard part: typing a symbol the keyboard does not have yet.
  • Built without HeliBoard's text format, where one space too many breaks the layout. The pages keep the built-in geometry and start out identical to it, so switching on changes nothing until a key is changed.
  • Layouts export and import as a file, and go into a backup with the settings.

🔌 Providers and offline models (#435, #423, #414, #431)

  • xAI's Grok Voice Transcribe dictates, as a file and live, on the key that already rewords. Its stream restates whole utterances where other providers send pieces, so the pieces are held for the preview and replaced rather than appended — the trap two other projects measured.
  • Scaleway and OVHcloud keep audio and text inside the EU, both bound by the GDPR and neither training on what it is sent. Every fact in both presets was asked of the endpoint rather than copied from the docs.
  • Parakeet Ultra replaces Parakeet TDT 0.6B v3 — same 670 MB, same 25 languages, same speed, and 29 % fewer errors in German over 200 test files. v3 loses half its accuracy to the int8 rounding every on-device model ships in; Ultra barely notices it. If you use v3, download Ultra and delete the old one — v3 keeps working until you do.
  • The providers screen lists only your own providers; the rest are behind “Add a provider”, with a search and filters for transcription, rewording, realtime and the EU.
  • The space bar can name the transcription provider, a Smartbar action switches it, and dictation can follow the keyboard language (off by default, and only to languages you selected).

🗣️ The command word (#139)

  • Pick a word, and a dictation that starts with it runs as a live prompt — on the selection, or as a question when nothing is selected. Only the first word counts, so a sentence that mentions it is written as usual; live dictation holds the preview back the fraction of a second it takes to tell “Ja” from “Jarvis”.
  • Automatic prompts always get the dictation now. With “Requires selection” off, the model used to receive the instruction alone, ask for the text, and its question replaced the dictation. An automatic prompt that is only [text in brackets] is appended as written instead of being sent to the model.

🔒 Privacy and security audit (#383)

  • The whole codebase was audited, and what turned up is fixed. A dictation into a password or PIN field stays out of the history through every path that can tell — the floating button and the voice input now included, along with the re-insert cache.
  • Android's cloud backup takes the API keys only end-to-end encrypted; without an encrypting transport the app is skipped. “Trust user certificates” is set per provider account, so a company proxy's CA no longer reaches every provider at once.
  • Scan text no longer lets ML Kit send usage statistics to Google. A settings file that cannot be read is set aside and can be restored instead of being overwritten with defaults; shared files are checked before they are opened; an http:// server address says what it means; GIF search filters strictly by default.

⌨️ Typing (#381, #426, #428, #440, #418)

  • Suggestions read slips: a far key, two swapped letters, a slip in a half-typed word. Whole-word slips get the intended word 94 % of the time instead of 86 %, and every key press is faster — the user dictionaries are kept in memory instead of being queried on every keystroke.
  • With auto-correct off, fixes are still offered; the switch now decides only what Space swaps.
  • Glide typing finds words that start or end on an accented letter: Hungarian 37 → 98 %, Russian 0 → 91 %, Finnish 0 → 96 %, Polish and Turkish too.
  • A sideways swipe over the letters no longer switches the language by default — since swipes became reliable it mostly fired by accident. The globe key still does it, and Gestures brings the swipe back.
  • A punctuation mark right after an auto-correction takes its space; a space-bar glide stays on its line; the calculator answers before “=”; the keyboard remembers its size per language; French elisions are restored from the corpus.
  • Afrikaans is a full keyboard language, and a new layout fills in its other fields from the language you pick.

🎙️ Dictation (#437, #438, #416, #421, #422, #147, #159)

  • Stopping a request that is still waiting keeps the recording, ready to resend, instead of looking like a discard.
  • A stalled connection gives up after one timeout instead of four, and a request the provider refused is not sent again.
  • A word deleted during a live dictation stays deleted; the stream no longer writes against a remembered copy of the field.
  • A slow tap on the mic stays a tap and a hold under a second is discarded; a second tap during a start no longer opens a second microphone; two dictations in a row get a space between them.
  • TalkBack can find and press the mic and announces what the dictation is doing.

📋 Clipboard and emoji (#395, #429, #394)

  • Pins sit at the bottom by default, with tabs to jump between the groups; “Pinned items on top” brings the old order back.
  • The link, email and number chips beside a copied text can be switched off. The emoji row scrolls and answers a long press, the emoji search shows two rows, and switching to the emojis no longer stutters.

🫧 Floating button and watch (#439, #294, #363)

  • The floating button can wait for a keyboard before it appears, and writes into the web field you tapped rather than the page's first one.
  • On the watch, a dictation finishes the way its field asks — send, search or a check mark — with optional auto-send, which is how WhatsApp sends on a Galaxy watch. A dictation no longer waits minutes on a phone that Android froze mid-request; the wait shows its seconds and can be called off.

Distribution: Dictate ships through Google Play. This release has no APK attached on purpose — see the README for why, and for how to build it yourself from source.

Don't miss a new DictateKeyboard release

NewReleases is sending notifications on new releases.