Skip to content

Repository files navigation

Dictate Keyboard logo

Dictate Keyboard

Speak instead of type β€” in any app.

A powerful Whisper AI keyboard for dictation, real-time transcription and typing.

Website Latest release License Platform Last commit Sponsors GitHub stars

Kotlin Jetpack Compose

Get it on Google Play Donate with PayPal

Note: This is a complete rebuild of Dictate as a full, standalone keyboard on top of FlorisBoard, replacing the original Java app that powered Dictate v1–v3. The previous Java codebase is preserved on the legacy-java branch.


🎬 See it in action

Dictate in action

Speak, and it's typed.

Tap the mic, talk naturally, and watch clean, punctuated text land in any app β€” in real time. Prefer keys? Glide-type with word suggestions and autocorrect. Need it more formal, translated or summarised? Hand it to an AI rewording prompt.

πŸ“Έ Screenshots


πŸ“² Installation

The app is available on Google Play (for a small fee that supports continued development), giving you easy installation and free lifetime updates. Just tap the badge above or this link.

Existing users: the new keyboard keeps the same app identity and signing key, so your settings carry over on update β€” no reinstall, no lost configuration.


✨ What is Dictate?

Dictate is an easy-to-use keyboard for transcribing and dictating. It uses OpenAI Whisper in the background, which delivers extremely accurate results for many different languages, complete with punctuation β€” plus custom AI rewording powered by leading models from OpenAI, Google Gemini and many other providers.

Instead of pecking at keys, just tap the microphone, speak, and watch your words appear β€” now in real time β€” as clean, formatted text in any app. Prefer to type? Dictate is a complete keyboard too, with glide typing, word suggestions and autocorrect. Need the text more formal, translated, summarised, or fixed-up? Hand it to a rewording prompt and let the model do the work. With the floating button you can even dictate straight into apps while another keyboard is open.


🎀 Features

  • Voice dictation with Whisper AI β€” highly accurate speech-to-text in dozens of languages, with automatic punctuation. It's so sensitive you can literally whisper and still get a clean transcription.
  • Real-time transcription β€” watch your words appear live as you speak, streaming from OpenAI, Deepgram, Soniox, AssemblyAI or ElevenLabs.
  • On-device transcription β€” dictate completely offline with a downloadable on-device model (Whisper, NVIDIA Parakeet or a German-specialised Parakeet): no internet needed and nothing ever leaves your phone. Models keep downloading in the background even if you leave the app.
  • Transcription history β€” every dictation is saved to a searchable history you can re-insert, replay, re-transcribe or pin, with full control over how long audio is kept.
  • Long-form dictation β€” speak for as long as you like: long recordings are transcribed in the background in segments, so you get your text sooner and never hit a length limit.
  • Glide typing, suggestions & autocorrect β€” Dictate is now a complete typing keyboard too: swipe across the keys to type whole words, with per-language dictionaries, word suggestions, spell check and autocorrect.
  • Classic keyboard-free dictation layout β€” bring back the pure, voice-first screen from Dictate 3: lock it in, or keep it just a swipe away from the full keyboard β€” now with a fully customizable action row (drag & drop), an Enter-key symbol popup and long-form controls.
  • Wear OS keyboard β€” dictate straight from your watch, tethered through your phone or fully standalone.
  • Floating dictation button β€” dictate straight into any app, even when another keyboard is active. Pick from three styles (Pill, Ring, Orb), watch a live waveform while you speak, drag it anywhere with edge-snapping, set its color and size, and long-press to reword.
  • AI rewording & rewriting β€” turn a selection into something more formal, casual, translated, summarised, or anything you define with custom prompts, with adjustable reasoning effort.
  • Community prompt library β€” browse rewording prompts shared by others and install them in a tap, or publish your own.
  • Dictation statistics β€” track how much you've dictated and typed, with milestones and a home-screen overview.
  • Find & replace rules β€” automatically fix recurring words, names or phrases in every transcript.
  • Single-call multimodal mode β€” let one audio-capable AI model transcribe and format in a single request, for lower latency and cost.
  • Custom prompts & snippets β€” build your own reword actions; reusable text snippets are inserted instantly without an API call.
  • GIF search β€” search and insert GIFs right from the keyboard, powered by KLIPY. Add your own free KLIPY API key (bring-your-own-key, like the AI providers); search terms are only sent while the GIF panel is open.
  • Searchable settings β€” find any option by name and jump straight to it, no digging through menus.
  • Bring your own key & provider β€” use your own API key with OpenAI, Google Gemini, Groq, Mistral, OpenRouter, Anthropic, Soniox, Deepgram, AssemblyAI, ElevenLabs and other compatible endpoints, so you stay in control of usage and cost.
  • A real, full keyboard (courtesy of the FlorisBoard base):
    • Huge variety of keyboard layouts and easy language/subtype switching
    • Full theme customization with day/night presets, automatic switching and a high-contrast E-Reader theme
    • Emoji keyboard, clipboard manager & cursor tools
    • One-handed / compact mode, gesture actions, customizable key sound & haptic feedback
  • Privacy-respecting by design β€” no tracking; your audio goes only to the AI provider you configure.

Bring your own API key β€” Dictate works with:

OpenAI Google Gemini Groq Deepgram AssemblyAI ElevenLabs Soniox Mistral OpenRouter Anthropic Ollama and more


🧱 Built on FlorisBoard

Dictate Keyboard is a fork of FlorisBoard, an open-source, privacy-respecting keyboard created by Patrick Goldinger and The FlorisBoard Contributors. Their work provides the entire keyboard foundation β€” layouts, theming, gesture handling, clipboard tools and the IME plumbing β€” on top of which Dictate adds its voice-dictation and AI-rewording layer.

Huge thanks to the FlorisBoard team. FlorisBoard is licensed under the Apache License 2.0; see LICENSE and NOTICE for full attribution.


🀝 Contributing

The best way to help right now is to open an issue with bug reports, ideas or feedback. Full contribution and community guidelines will be published as the project matures. Thank you! πŸ™


πŸ“„ License & attribution

Dictate Keyboard is released under the terms of the Apache License 2.0.

  • This project is a fork of FlorisBoard β€” Copyright Β© The FlorisBoard Contributors, licensed under Apache-2.0.
  • See LICENSE for the full license text and NOTICE for required attribution notices.
  • Speech recognition is powered by OpenAI Whisper.
  • GIF search is powered by KLIPY; GIFs are served by KLIPY under their terms.

❀️ Support & sponsors

Dictate is free and open source, built in my spare time. If it makes your day a little easier, you can support development by buying the app on Google Play, sponsoring me on GitHub, or donating via PayPal. Every bit helps β€” thank you! πŸ™

Dictate's sponsors β€” thank you! πŸŽ‰

Codename: Fatman george1612

Releases

Sponsor this project

Contributors

Languages