Type with your voice on Android. Transcribed on your own GPU.
Viska Voice is a voice input method for your phone. It sends your speech over your private Tailscale network to your own computer running Viska Desktop in host mode, and types the text into whatever field you are in.
Latest build: 0.5.1, the first public release, for Android 9 or later.
Your phone listens. Your computer transcribes.
Viska Voice records your speech and streams it to the computer you paired it with. That computer runs Viska Desktop in host mode with a Whisper model for each language, for example KB-Whisper for Swedish, and sends the text back to your phone. Optionally the host proofreads it first. There is no cloud service in between.
Viska Voice does not replace your keyboard. It is the voice input that a keyboard with a voice key, such as FUTO Keyboard, starts when you tap the microphone.
Keeps recording when you tap elsewhere or the screen turns off, where Android allows background microphone use; on some Android builds the system refuses this for keyboards, and then the app records while the keyboard stays open and shows a note. A notification with Stoppa and Avbryt is shown while it runs, and you can dictate for up to 10 minutes at a time. If the text field is gone when the text arrives, it is copied to the clipboard so nothing is lost.
What you need.
- A host computer. Viska Desktop 0.7.1 or later with host mode turned on. Any computer works, but one with a good GPU is much faster. 0.7.1 is available now for Linux and macOS (Apple Silicon); Windows gets host mode in a later build.
- Tailscale on both the phone and the computer, signed in to the same tailnet.
- Android 9 or later.
- A keyboard with a voice key, for example FUTO Keyboard.
Install from the APK file.
Viska Voice is self-hosted for now and is not in an app store. Download the APK on your phone, or on a computer and copy it over, and check the checksum and the signing certificate below before you install it.
- Version
- 0.5.1
- Size
- 22.6 MiB
- Requires
- Android 9+
- SHA-256
990fd3a3b6b4888f2460fe537e01f4735acfbd4dfafa6df6bb44875b44702c45- Signing certificate (SHA-256)
B9:CD:92:B0:92:98:9E:2A:04:3F:6B:06:46:10:7B:69:0C:47:B9:EC:A0:E6:0D:87:B3:5A:AF:A9:FB:FF:C3:EA- License
- GPL-3.0-or-later
Check the download.
Compare the checksum with the one above, or with SHA256SUMS.
If you have the Android SDK build tools, apksigner prints the signing
certificate; its SHA-256 must equal the fingerprint above. A different certificate means
the file is not ours: do not install it.
sha256sum viska-voice-0.5.1.apk
apksigner verify --print-certs viska-voice-0.5.1.apk
Install and pair.
Do the host steps once, on the computer. The button names quoted for Viska Voice are the ones in the app, whose screens are in Swedish for now.
Pairing links and QR codes contain the host's secret token. Show the code only when you are about to scan it, and renew the token in Viska Desktop if a phone is lost.
- Install. Open the APK on the phone and allow installing from that source when Android asks.
- Set up the host. In Viska Desktop 0.7.1 or later, open Settings, Host mode – share GPU, switch it on, pick a model per language and choose Publish via Tailscale.
- Show the code. In the same place, choose Show pairing code.
- Enable the input method. Open Viska Voice, allow the microphone and enable Viska Voice as an input method.
- Scan. In Viska Voice tap Skanna QR-kod (or paste the copied pairing link with Klistra in länk), confirm the pairing, then run Testa anslutning.
Set up FUTO Keyboard.
FUTO picks the first voice input method it finds, so turn off its own.
- In FUTO Keyboard: Settings, Voice input, turn on Disable built-in voice input.
- Turn off other voice input methods, for example FUTO Voice Input, under System, Keyboard, On-screen keyboard.
- Tap the microphone key in FUTO to start Viska Voice.
Language: Viska Voice remembers your last choice
The language you pick with FUTO's globe key is not visible to other apps, so Viska Voice starts every dictation in the language you used last. Switch with the SV/EN chip in the Viska Voice panel, even while recording, and the choice is kept for next time. A keyboard that does report its language is followed.
Private by construction.
Your speech goes to one place: the computer you paired. It travels over your own Tailscale network, and nowhere else.
- No cloud service, no account, no telemetry, no analytics.
- The pairing token is stored on the phone, in the app's private storage.
- The host only listens on localhost and is published to your tailnet with
tailscale serve. Every request needs the bearer token. - The list of hosts starts empty; nothing is preconfigured.
Free software.
Viska Voice is licensed under the GNU General Public License, version 3 or (at your option) any later version (GPL-3.0-or-later). Its third-party components are all Apache-2.0. The source code is available on request.
Recent development.
-
Viska Voice 0.5.1
The release with language memory: Viska Voice starts in the language you used last. It keeps recording when you tap elsewhere or the screen turns off, where Android allows background microphone use (otherwise it records while the keyboard stays open and shows a note), and the text goes to the clipboard if the field is gone. Silence auto-stop can be turned off, dictations can be up to 10 minutes, and the launcher icon is new. Asks for notification permission on Android 13+.
-
Viska Voice 0.4.1
The first public release: QR pairing with a Viska host, a language chip for Swedish and English, and the FUTO Keyboard voice-key setup.