cosmictaser
Whispry, talk it out, Whispry writes it right
open source · android · v1.1.0

Whispry, hold-to-talk voice transcription for Android

Hold-to-talk voice transcription for Android, dictated straight into any app. Volume-key hold, floating widget or keyboard button. Bring your own AI key, keep your transcripts on-device.

Android 8.0+ · sideload the apk, then Whispry updates itself

apk downloads
latest build
v1.1.0
github stars
price
free
hold to talkbring your own keyai formattinghinglish outputtext expandermemory bankzero telemetrykeyboard triggerfloating widget

an app built around one habittalk it out,whisprywrites it righta single trigger (volume key, floating widget or keyboard button) types a formatted transcript straight into whatever app you're in.

The trigger

hold to talk

Three trigger surfaces, so dictation is never more than a press away: a volume-key hold, a draggable floating widget, or a button that rides the on-screen keyboard.

  • Volume-key hold with hands-free and single/double-press modes
  • Draggable floating widget that snaps to the screen edge
  • Keyboard-riding trigger button, live in any text field
  • Per-app suppression keeps triggers out of the way where unwanted
The brain

ai formatting

Transcription and formatting resolve independently. Groq is the default, or point either one at any OpenAI-compatible endpoint using your own API key.

  • Six presets: Raw, Auto-Format, Professional, Casual, Polite, Concise
  • Hinglish output: romanized Hindi instead of Devanagari
  • App-aware tone: a different style per app, same dictation
  • 11-language UI localization
The workflow

voice commands

A spoken command router for expanding a snippet or inserting a saved value mid-dictation, plus a persistent memory the formatting step can draw on.

  • Voice commands: expand, insert and app commands as the first word
  • Text Expander: short typed triggers expand into full snippets
  • Memory Bank & My Info: facts you never repeat yourself
  • Configurable widget size, position, arming delay and idle behaviour
The fine print

your key, your data

No analytics, no telemetry, and no backend of its own. Audio goes straight from your device to whichever provider you configured, using an API key only you hold.

  • No analytics or telemetry, nothing about you leaves the device
  • Transcripts, settings and API keys stored locally via Room + DataStore
  • Audio sent device-to-provider directly, Whispry never sees it
  • Open source under AGPL-3.0, in-app OTA updater from GitHub Releases

seven screens, one trigger philosophy

see it

Whispry home screen with the hold-to-talk trigger, service status and recent transcripts
home: trigger, daily usage, recent transcripts
Whispry's keyboard-riding trigger button sitting idle above the keyboard in Gmail
keyboard trigger: idle, riding the keyboard
Whispry's keyboard trigger actively listening and transcribing speech inside Gmail
keyboard trigger: listening, live transcription
Switching Whispry's AI formatting preset mid-dictation from the keyboard trigger
switch formatting preset mid-dictation
Whispry formatting presets screen: Raw, Auto-Format, Professional, Casual, Polite, Concise
presets: raw, auto-format, tone & style
Whispry transcript library screen, noting that transcripts stay on-device
library: searchable, stays on-device
Whispry settings screen showing accent colour, voice commands, text expander and memory bank
settings: accent colour, shortcuts, memory

11 languages

The interface is localized into 11 languages, not just the transcription.

bring your own key

Groq out of the box, or any OpenAI-compatible endpoint with a key only you hold.

memory bank

Persistent facts about you the formatting step can draw on, so you stop repeating yourself.

in-app updates

Whispry checks GitHub Releases itself and installs the signed APK in place.

for the people who ask what it's made of

under the hood

KotlinJetpack ComposeMVIHiltRoomDataStoreGroq / OpenAI-compatibleGitHub Actions
ui
Jetpack Compose with an MVI presentation layer. Each screen observes a single UiState, driven by intents.
triggers
The volume-key hold, floating widget and keyboard button run through an accessibility service plus overlay windows, feeding one shared capture pipeline.
ai
Transcription and formatting resolve independently. Groq is the default, or any OpenAI-compatible endpoint with your own key. Requests go straight from device to provider.
data
Room holds transcripts and memory facts, DataStore holds preferences. Hilt wires the modules together.

ready when you are

get whispry

Download the APK, allow installs from unknown sources, add your AI provider key in Settings, and you're dictating. Whispry checks GitHub for updates itself, so you never need this page again.

AGPL-3.0Android 8.0+ downloads and counting
Whispry home screen

the usual questions

faq

Yes. Whispry is free and open source under AGPL-3.0 (with a Section 7 attribution term). There's no subscription and no paid tier. Support is entirely optional.

Yes. Whispry ships pointed at Groq, which has a generous free tier, or you can point transcription and formatting at any OpenAI-compatible endpoint using a key you supply in Settings.

Android 8.0 (Oreo) and above.

No. Whispry is distributed as an APK through GitHub Releases. Download it from this page, allow install from unknown sources, and the built-in updater handles every version after that.

No analytics or telemetry, and there's no backend of its own. Transcripts, settings and API keys stay on-device. Audio is sent directly from your device to whichever AI provider you configured, using your own key. That provider's privacy policy governs what happens from there.

A volume-key hold (with hands-free and single/double-press modes), a draggable floating widget that snaps to the screen edge, and a button that rides the on-screen keyboard. All three are configurable and can be hidden per app.

Open an issue on GitHub, or start a Discussion. Both are linked at the bottom of this page. Pull requests are welcome too.

built, designed and maintained by

Aryan Sharma

Freelance Android & software developer. Available for app builds, feature work and rescue missions.