Speak naturally. Get clear, ready-to-use text.
A private, speech-first Android keyboard for accurate English dictation.
Download the latest APK · Service status
WoVoice lets you speak into any normal Android text field instead of typing everything by hand. It listens after one tap, processes the complete thought after a second tap, adds punctuation and light corrections, then inserts the final text exactly where you started.
WoVoice is a free public beta distributed directly through GitHub rather than the Play Store. Its main recognition language is English (India), with special attention to South Asian pronunciation, names, numbers, punctuation, and everyday sentences.
- What WoVoice offers
- Product video
- Download and requirements
- First-time setup
- Using voice dictation
- Voice keyboard controls
- Manual keyboard
- Dashboard guide
- Accuracy tips
- Privacy and local data
- Troubleshooting
- Accuracy-first English speech recognition with automatic punctuation.
- Light grammar, capitalization, and spacing cleanup without rewriting your meaning.
- Smart formatting for common numbers, dates, and ordinary dictation.
- Spoken “new line” and “new paragraph” commands.
- A smooth tap-to-record, tap-to-finish workflow with a live waveform.
- Automatic insertion into the same field where dictation began.
- A complete manual QWERTY keyboard with numbers and two symbol pages.
- A personal Dictionary for names, places, brands, and specialist terms.
- Local History with search, copy, details, deletion, and Undo.
- Private usage analytics such as speaking time, words, WPM, and processing speed.
- Estimated Workers AI cost and usage, clearly separated from actual billing.
- No advertising, tracking, typing-history collection, or crash-reporting SDK.
Download the current APK from GitHub Releases. WoVoice supports Android 7.0 and later and is optimized for the Redmi K80 Pro on Android 16.
The account, synchronization, and speech service is hosted at wovoice.aliahad.com. Voice input uses a verified WoVoice account; there is no shared device token to copy into the app. The manual keyboard remains available while signed out or offline.
Open WoVoice and go to Settings → Setup.
- Tap Allow beside Microphone and approve microphone access.
- Tap Enable beside Keyboard access.
- In Android's keyboard settings, turn on WoVoice.
- Return to the app and tap Choose.
- Select WoVoice as the active keyboard.
- Under Account, tap Sign in or create account.
- Enter your email in the secure WoVoice page, complete the security check, and enter the six-digit code.
- Return to WoVoice and save the recovery key when encrypted sync is offered.
The Home readiness card should show:
- Microphone ready
- WoVoice selected
- Account ready
- Network available
Android may show a standard warning when enabling any downloaded keyboard. Confirm that the keyboard name is WoVoice before accepting.
Speech-to-text requires an internet connection and a valid WoVoice account. The manual keyboard continues to work without either one.
Tap a text field in Notes, Messages, a browser, email, or another Android app. If a different keyboard appears, use Android's keyboard picker and choose WoVoice.
The voice-ready screen looks like this:
Tap the large white microphone button once. Recording begins immediately, the layout expands, and the center waveform responds to the microphone level.
While this screen is visible:
- Speak normally rather than one word at a time.
- Tap the waveform or the “Tap again to finish” area when finished.
- Tap × to cancel. Cancelled speech is not inserted or added to History.
- Recording stops automatically at the 60-second limit.
After the second tap, WoVoice shows a processing state. The complete recording is recognized first so punctuation and sentence structure can use the full context. There are no unstable partial words placed in the editor.
Do not change to another text field while processing. If focus changes, the keyboard closes, or another editor becomes active, WoVoice deliberately discards the late result rather than inserting text into the wrong place.
WoVoice inserts the final result in one operation. It checks only the adjacent cursor character on the phone to decide whether a leading or trailing space is needed. Surrounding text is not sent with the request.
Examples of natural speech:
| You say | Intended result |
|---|---|
| “Can we meet tomorrow morning” | Can we meet tomorrow morning? |
| “My order number is four eight two nine” | My order number is 4829. |
| “First item new line second item” | First item Second item |
| “Thank you new paragraph Please send the report” | Thank you. Please send the report. |
Punctuation is normally inferred, so you do not need to say “comma” or “full stop” in ordinary speech.
| Control | Function |
|---|---|
| Waveform / EN pill | Switches between voice mode and the manual English keyboard. |
| Microphone | Tap once to record and tap again to finish. |
| × while recording | Cancels the recording without inserting or saving a result. |
| Delete icon | Deletes text immediately before the cursor. |
| @ button | Inserts an at-sign without changing to the symbol keyboard. |
| Done / Enter / Next / Search / Send / Go | Performs the action requested by the current text field. |
| Horizontal swipe | Moves between voice and manual modes without pressing the key under the gesture. |
The action key changes automatically. For example, a search box receives Search, a message field may receive Send, a form may receive Next, and a multiline note receives Enter.
Voice input is disabled for password and PIN fields. WoVoice forces the manual layout so secret values are never recorded for transcription.
Dictionary learning is also avoided in passwords, PINs, email addresses, URLs, fields that disable personalized learning, and other unsuitable editors.
Tap EN in the voice/manual pill or swipe horizontally to open the manual keyboard.
![]() |
![]() |
![]() |
| One-shot Shift | Lowercase | Caps Lock |
- Tap Shift once to change the next letter's case.
- Shift turns off after a one-shot capital is typed.
- Double-tap Shift to enable Caps Lock.
- Tap Shift again to leave Caps Lock.
- WoVoice can begin with capitals automatically at the start of a sentence.
Tap 123 to open numbers and common punctuation.
![]() |
![]() |
| Numbers and common symbols | Additional symbols |
- Tap #+= for brackets, mathematical signs, currencies, and additional punctuation.
- Tap 123 to return to the first symbol page.
- Tap ABC to return to letters.
| Key | Behavior |
|---|---|
| Backspace | Deletes one complete character; hold it for repeated deletion. Emoji and other Unicode text are handled safely. |
| Space / English | Inserts a normal space and shows the current keyboard language. |
| 123 | Opens digits and the first symbol page. |
| #+= | Opens the second symbol page. |
| ABC | Returns to letters. |
| Shift | One tap changes the next letter; double-tap enables Caps Lock. |
| Action key | Adapts to Done, Enter, Next, Search, Send, or Go. |
The manual keyboard intentionally stays simple and predictable. It currently has no autocorrect or suggestion strip, so it remains a dependable offline fallback.
WoVoice uses four bottom tabs: Home, History, Dictionary, and Settings.
Home is the private voice workspace. Choose Today, 7 days, 30 days, or All time to view:
- Successful dictations
- Total dictation time
- Words dictated
- Speaking pace in words per minute
- Median processing time
- Polished-result percentage
- Correction rate
- Recent dictations
Only successful, inserted dictations count. Silent, cancelled, failed, and discarded recordings do not inflate speaking time or WPM.
The Estimated AI usage card separates speech recognition from grammar-polish usage and can show today's and the current month's estimates. The amount is a WoVoice estimate based on the Worker's pricing version; it is not a Cloudflare invoice or account balance.
A History item is created only after final text is successfully inserted into the intended editor.
Each item can contain:
- Final generated text
- Original phone-local date and time
- Word count and audio duration
- Recognition model and polishing status
- Processing time
- Estimated usage
History never stores the audio, raw recognition result, surrounding editor text, or the name of the app where you dictated.
You can:
- Search History locally
- Copy final text
- Open details
- Delete an item
- Swipe to delete and use Undo
- Clear all History after confirmation
Deleting individual History items does not automatically erase anonymous daily totals. Use Reset analytics when you also want those totals removed.
Dictionary helps recognition of unusual names and specialist vocabulary.
Use + Add to save a term manually. Confirmed entries can be searched, edited, and deleted. WoVoice can keep up to 1,000 entries locally and selects the most useful confirmed terms for each transcription.
When correction learning is enabled, WoVoice may detect a likely word replacement made immediately after its dictation. It creates a reviewable item under Suggestions rather than silently changing the Dictionary.
Approve only corrections that represent a name or distinctive term you want recognized later. Ordinary grammar edits, large rewrites, URLs, and ambiguous corrections should not become Dictionary entries.
Only approved terms may be included in later transcription requests. The surrounding correction context never leaves the phone.
Settings is organized into these areas:
- Setup: microphone permission, keyboard enablement, active-keyboard picker, and readiness.
- Account: verified email, today’s free quota, sync state, recovery controls, signed-in devices, logout, and account deletion.
- Voice & language: English (India), light polish, punctuation, and spoken line commands.
- Keyboard: haptics, animations, waveform, and manual keyboard preferences.
- History & analytics: local History, cost display, clear History, and reset analytics.
- Dictionary & learning: correction suggestions and Dictionary management.
- Privacy & data: local-storage explanation and clear-all-data action.
- About: app version and Worker/privacy information.
- Hold or place the phone about 15–30 cm from your mouth.
- Wait for the recording animation before beginning the sentence.
- Use complete thoughts of roughly 5–15 seconds when practical.
- Speak at a natural pace and pause briefly between sentences.
- Avoid touching or covering the phone's microphone while speaking.
- Move closer to the phone in mild noise instead of shouting.
- Add important names, business terms, and uncommon spellings to Dictionary.
- Review correction Suggestions so useful terms are learned without saving mistakes.
- Use “new line” and “new paragraph” clearly and deliberately.
- Check critical names, dates, amounts, and numbers before sending important text.
WoVoice is designed to collect as little information as possible:
- The active recording is written only to temporary app-private storage.
- Temporary audio is deleted after success, failure, cancellation, timeout, keyboard dismissal, or cleanup.
- History, analytics, and Dictionary entries are partitioned by account in the app's private phone storage.
- Optional synchronization encrypts each approved record on the phone before upload. Cloudflare stores ciphertext, not readable history or Dictionary text.
- The rotating refresh token and local vault key are encrypted with Android Keystore-backed AES-GCM.
- The recovery secret is shown only after device-credential confirmation and can be transferred by manual key or offline QR scan.
- Phone backups are disabled for WoVoice data.
- Surrounding text, clipboard contents, contacts, typing history, and source-app identity are not sent.
- Correction context stays on the phone; only approved Dictionary terms can be used as glossary hints.
- There are no advertising, analytics, or crash-reporting SDKs.
Three different cleanup actions are available because they affect different information:
| Action | What it removes |
|---|---|
| Clear history | Individual final-text records. |
| Reset analytics | Anonymous daily usage totals and calculated insights. |
| Clear all data | History, analytics, Dictionary data, and other local WoVoice information. |
Account deletion requires a fresh email code and removes sessions, synchronized ciphertext, and identifiable service usage. See Delete your account.
| Message or state | Meaning |
|---|---|
| Tap to speak | WoVoice is ready. |
| Tap again to finish | Recording is active. |
| Thinking / Processing | Audio is being recognized and lightly polished. |
| No clear speech | The recording was silent or too quiet to use. It is discarded locally. |
| Connection failed | The WoVoice service could not be reached. |
| Sign in to use voice | The account session is missing or expired; the manual keyboard still works. |
| Daily limit reached | The account has used its free 10 minutes for the current UTC day. |
| Try again | No text was inserted; return to the same field and record again. |
- Open WoVoice → Settings → Setup.
- Tap Enable and confirm WoVoice is turned on.
- Tap Choose and select WoVoice.
- Tap a normal text field again.
- Confirm Microphone shows Allowed and ready.
- Wait until the waveform screen appears before speaking.
- Move closer to the phone and speak at a normal volume.
- Check that a case, finger, or surface is not blocking the microphone.
- Try a short sentence in a quieter place.
- Check Wi-Fi or mobile data.
- Open Settings → Account and confirm the verified email and quota appear.
- If the session expired, tap Sign in and complete the email code again.
- Open WoVoice service status to check API availability.
- Open Dictionary.
- Tap + Add.
- Enter the exact spelling.
- Save it and use it in the next dictation.
WoVoice protects against inserting a late result into the wrong app or field. Keep the original text field active until processing finishes, then try again if the editor changed.
History records only successful insertion. Check that:
- The result was inserted.
- History is enabled in Settings.
- The recording was not cancelled, silent, failed, or discarded after focus changed.
The destination app controls the requested editor action. WoVoice follows that request, so the same key may show Done, Enter, Next, Search, Send, or Go in different fields.
- Recognition is currently focused on English (India).
- Each recording is limited to 60 seconds.
- Speech-to-text requires internet access and a verified account.
- Free beta accounts currently receive 600 validated audio seconds per UTC day.
- The manual keyboard has no autocorrect or word-suggestion strip.
- Cost and neuron figures are estimates for WoVoice requests, not actual account billing.
WoVoice is proprietary source-available software. Its source code may be viewed and evaluated, but copying, modification, redistribution, deployment, and commercial use are prohibited without prior written permission. See the WoVoice Proprietary Source-Available License for the complete terms.








