An Android keyboard that performs speech-to-text (STT/ASR) with OpenAI Whisper and input the recognized text; Supports English, Chinese, Japanese, etc. and even mixed languages.
After implementing this issue, we should have a dummy speech input that has a microphone icon, which can be toggled on/off (as in Google keyboard speech input). When the microphone icon is toggled off, some dummy text will be entered.
I'm not sure about which Android Studio version will have fewer potential issues. If you have a preferred version, please use it and document it in the later Create new project commit description. Otherwise, simply use the latest release (Giraffe | 2022.3.1).
Create the project in the directory /android and name it WhisperToInput (following the android naming convention), the package name can be com.example.whispertoinput, or com.project.whispertoinput, or some better name.
Make sure to use Kotlin instead of Java. (I believe Kotlin is now the default language)
The files auto-generated by Android Studio deserves its own commit, please include the used Android Studio version, and the settings modified on the GUI, in the commit description.
I'm not sure about which project type will the IME input require. I think we can simply use Basic Activity here, and maybe delete files that aren't needed later.
Before directly diving into coding, I suggest first survey (search keywords on Google/GitHub) if someone has already implemented this feature before. If yes, use them as references and notify me about these related works; If no, proceed the following steps.
The keyboard input should contain a microphone icon, and can be toggled as those in Google Keyboard speech input.
After toggling the speaker icon, the IME input should enter some dummy inputs, maybe like ABCD. The IME should also be able to input Chinese like 測試.
In this issue, the dummy speech input does not need to listen to microphone yet.
Please keep each commit self-contained, and let newbies (like me) to learn by simply following the commit descriptions and diffs.
Please discuss with me if there are any uncertainties in the description above.
After implementing this issue, we should have a dummy speech input that has a microphone icon, which can be toggled on/off (as in Google keyboard speech input). When the microphone icon is toggled off, some dummy text will be entered.
Create new project
commit description. Otherwise, simply use the latest release (Giraffe | 2022.3.1
)./android
and name itWhisperToInput
(following the android naming convention), the package name can becom.example.whispertoinput
, orcom.project.whispertoinput
, or some better name.Basic Activity
here, and maybe delete files that aren't needed later..gitignore
file. If Android Studio doesn't automatically generate it for you, please copy it from: https://github.com/github/gitignore/blob/main/Android.gitignoreABCD
. The IME should also be able to input Chinese like測試
.Please keep each commit self-contained, and let newbies (like me) to learn by simply following the commit descriptions and diffs.
Please discuss with me if there are any uncertainties in the description above.