{"id":8909956,"url":"https://github.com/futo-org/voice-input","last_synced_at":"2025-04-05T17:04:30.415Z","repository":{"id":237543683,"uuid":"701016365","full_name":"futo-org/voice-input","owner":"futo-org","description":"Offical FUTO Keyboard Issue Tracker and Source Mirror of https://gitlab.futo.org/keyboard/voiceinput","archived":false,"fork":false,"pushed_at":"2024-10-16T19:27:39.000Z","size":94990,"stargazers_count":149,"open_issues_count":85,"forks_count":1,"subscribers_count":5,"default_branch":"master","last_synced_at":"2025-03-29T16:09:41.369Z","etag":null,"topics":["android","futo","keyboard","offline","privacy","voice-input"],"latest_commit_sha":null,"homepage":"","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/futo-org.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-10-05T18:32:24.000Z","updated_at":"2025-03-27T17:31:21.000Z","dependencies_parsed_at":"2024-05-02T13:14:29.162Z","dependency_job_id":"87098045-8f15-4c39-ab55-f05d64cb2484","html_url":"https://github.com/futo-org/voice-input","commit_stats":null,"previous_names":["futo-org/voice-input"],"tags_count":22,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/futo-org%2Fvoice-input","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/futo-org%2Fvoice-input/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/futo-org%2Fvoice-input/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/futo-org%2Fvoice-input/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/futo-org","download_url":"https://codeload.github.com/futo-org/voice-input/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247369953,"owners_count":20927928,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["android","futo","keyboard","offline","privacy","voice-input"],"created_at":"2024-05-01T20:03:35.923Z","updated_at":"2025-04-05T17:04:30.389Z","avatar_url":"https://github.com/futo-org.png","language":"C","funding_links":[],"categories":["C"],"sub_categories":[],"readme":"# FUTO Voice Input\n\nFUTO Voice Input is an application that lets you do speech-to-text on Android, integrating with third party keyboards or apps that use the generic speech-to-text APIs.\n\nTo download the application, visit the [FUTO Voice Input page](https://voiceinput.futo.org/). You can also find the contact there to report issues or suggestions.\n\nIf you have any feedback, issues are welcomed on the [public issue tracker](https://github.com/futo-org/voice-input/issues). Private inquiries are welcomed at the support email listed on the [website](https://voiceinput.futo.org/), or via the Send Feedback button in-app.\n\n## API support\n\nThe following APIs are supported:\n* `android.speech.action.RECOGNIZE_SPEECH` implicit intent, for apps and some keyboards - this opens the floating window in the center of the screen\n* IME with `voice` subtype mode, for keyboards - this opens on the bottom half of the screen in place of the keyboard\n\nCurrently this does not support the SpeechRecognizer API, which few apps seem to use. Support for this is planned in the future.\n\n## Keyboard support\n\nKeyboard support is touched on in the Help section of the app. In short, the following keyboards are supported:\n* **AOSP Keyboard**, which uses the IME\n* **OpenBoard/HeliBoard**, which uses the IME\n* **AnySoftKeyboard**, which uses the implicit intent. This keyboard has some voice input usability issues but this is being worked on\n* **Unexpected Keyboard** (v1.23+), which uses the IME\n\nIf you're okay with using proprietary keyboards, the following are supported:\n* **Grammarly Keyboard**, which uses the IME\n* **Microsoft SwiftKey**, which uses the implicit intent\n\nIncompatible keyboards:\n* **Gboard** - has its own thing\n* **Samsung Keyboard** - hardcoded to only allow either Samsung Voice Input, or Google Voice Input\n* **Simple Keyboard** by Raimondas Rimkus - [no voice button](https://github.com/rkkr/simple-keyboard/issues/133)\n* **Simple Keyboard** by Simple Mobile Tools - [no voice button](https://github.com/SimpleMobileTools/Simple-Keyboard/issues/201)\n* **TypeWise** - no voice button [but suggestion filed in 2019](https://suggestions.typewise.app/suggestions/65517/voice-to-text-dictation)\n\n## Language support\n\nFUTO Voice Input is currently based on the OpenAI Whisper model, and could theoretically support all of the languages that OpenAI Whisper supports. However, in practice, the smaller models tend to not perform too good with languages that had fewer training hours. To avoid presenting something worse than nothing, only languages with more than 1,000 training hours are included as options in the UI:\n* English\n* Chinese (currently has some weird behavior between traditional/simplified)\n* German\n* Spanish\n* Russian\n* French\n* Portuguese\n* Korean\n* Japanese\n* Turkish\n* Polish\n* Italian\n* Swedish\n* Dutch\n* Catalan\n* Finnish\n* Indonesian\n\nLanguage support and accuracy may expand in the future with better optimization and fine-tuned models. Feedback is welcomed about language-related issues or general language accuracy.\n\n## Development\n\nYou can develop this app by opening it in Android Studio. Otherwise, you can use Gradle to build the app like so:\n```bash\n./gradlew assembleStandaloneRelease\n```\n\nThere are four build flavors:\n* `dev` - for development, includes Play Store billing and all payment methods, auto-update, etc\n* `playStore` - Play Store build, does not include auto-update and only includes Play Store billing\n* `standalone` - does not include Play Store billing library, includes auto-update\n* `fDroid` - does not include Play Store billing nor auto-update\n\nSome prebuilt binaries are included in the `libs` directory to make the build faster, there are also instructions to build them yourself.\n\n## License\n\nThis code is currently licensed under the [FUTO Source First License 1.0](LICENSE.md)\n\n## Credits\n\nThe microphone icon was taken from [Feather Icons](https://feathericons.com/), an open-source icon pack authored by Cole Bemis.\n\nThanks to the following projects for making this possible:\n* OpenAI - [OpenAI Whisper](https://github.com/openai/whisper/)\n* TensorFlow Authors - [TensorFlow Lite](https://mvnrepository.com/artifact/org.tensorflow/tensorflow-lite)\n* Max-Planck-Society - [PocketFFT](https://gitlab.mpcdf.mpg.de/mtr/pocketfft/-/blob/master/LICENSE.md)\n* The WebRTC project authors - [WebRTC VAD](https://github.com/abb128/android-vad/blob/main/vad/src/main/jni/webrtc_vad/LICENSE)\n* Georgiy Konovalov - [android-vad](https://github.com/abb128/android-vad)\n* Other app dependencies, listed in app/build.gradle","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffuto-org%2Fvoice-input","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffuto-org%2Fvoice-input","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffuto-org%2Fvoice-input/lists"}