futo-org/voice-input
Offical FUTO Keyboard Issue Tracker and Source Mirror of https://gitlab.futo.org/keyboard/voiceinput
FUTO Voice Input – What it is
FUTO Voice Input is an Android app that provides offline speech‑to‑text conversion. It hooks into Android’s generic speech‑to‑text APIs so other apps or keyboards can use it as a drop‑in dictation engine.
Core purpose
- Turn spoken words into written text on an Android device without relying on Google’s or Samsung’s cloud services.
- Offer a reusable backend that any keyboard or app can call via the standard
android.speech.action.RECOGNIZE_SPEECHintent or the IME “voice” subtype.
Main features (as described in the README)
| Feature | Details |
|---|---|
| Model | Uses the OpenAI Whisper model (via whisper.cpp) for transcription. |
| Language support | 17 languages with >1,000 training hours in Whisper (English, Chinese, German, Spanish, Russian, French, Portuguese, Korean, Japanese, Turkish, Polish, Italian, Swedish, Dutch, Catalan, Finnish, Indonesian). |
| API integration | Supports the implicit android.speech.action.RECOGNIZE_SPEECH intent (floating window) and the IME voice‑subtype mode (bottom‑screen keyboard replacement). |
| Keyboard compatibility | Works with a range of third‑party keyboards (FUTO Keyboard, HeliBoard, FlorisBoard, AnySoftKeyboard, Unexpected Keyboard, AOSP Keyboard) and some proprietary ones (Grammarly, Microsoft SwiftKey). Explicitly does not work with Gboard, Samsung Keyboard, Simple Keyboard, and TypeWise because they lack a hook for third‑party voice input. |
| Build flavors | dev (full billing & auto‑update), playStore (Play billing only), standalone (no Play billing, includes auto‑update), fDroid (no Play billing, no auto‑update). |
| Offline operation | No cloud calls are required; the Whisper model runs locally via native code (whisper.cpp). |
| Future roadmap | Plans to add support for the Android SpeechRecognizer API, which is currently unsupported. |
Current status
- Development focus has moved to the FUTO Keyboard app, which now bundles voice input internally.
- The standalone Voice Input app remains maintained for users who prefer a separate app or want to use it with other keyboards.
Technical stack (from the README)
- Android – built with Android Studio and Gradle.
- Native inference – Whisper model compiled with
whisper.cpp(C/C++), previously used TensorFlow Lite but no longer. - Audio preprocessing – PocketFFT for fast Fourier transforms and WebRTC VAD (voice activity detection) via
android-vad. - Licensing – Distributed under the FUTO Source First License 1.0.
Getting started / usage
- Install – Download the APK from the official site: https://voiceinput.futo.org/.
- Select a keyboard – Use a supported keyboard (e.g., FUTO Keyboard, HeliBoard) and enable its “voice input” option.
- Invoke – Either trigger the generic speech‑to‑text intent from an app (floating window) or press the voice key on the keyboard (bottom‑screen UI).
- Build yourself – Clone the repo, open in Android Studio or run
./gradlew assembleStandaloneReleaseto produce a release APK. Choose a flavor (dev,playStore,standalone,fDroid) as needed.
Where to ask questions
- Public issues: https://github.com/futo-org/voice-input/issues
- Private support: contact email listed on the website or use the in‑app “Send Feedback” button.
Credits & dependencies
- OpenAI Whisper – core transcription model.
- whisper.cpp – lightweight C++ implementation used for on‑device inference.
- PocketFFT, WebRTC VAD, and previously TensorFlow Lite for audio processing.
- Icon from Feather Icons.
Bottom line
FUTO Voice Input is a genuine, open‑source Android speech‑to‑text app that brings Whisper’s multilingual transcription to phones without needing cloud services. It’s especially useful for users who want privacy‑first dictation or need a voice input engine that works across many third‑party keyboards.
Related
- Project
- Project
- Project
- Project