From Newsgroup: comp.mobile.android
My keyboard offline speech-to-text (STT) got screwed up recently, specifically, the standard IME trigger got reset somehow to Sayboard.
On Android, since you can use any keyboard with any speech engine, the keyboard's mic button does not perform speech recognition itself.
On Android, the keyboard is one Input Method Editor (IME) while the
keyboard's mic button calls the system's Voice Input Method IME.
A keyboard IME might be HeliBoard, Samsung Keyboard, OpenBoard,
FlorisBoard, Simple Keyboard, AnySoftKeyboard, etc., while a voice
input IME might be Sayboard, Sherpa-ONNX, Transcribo, Whisper+VoiceInput, Samsung Voice Input, Google Voice Typing, etc.
Since HeliBoard is generally considered the best offline keyboard shell,
in Settings > General management is "Heliboard settings > Toolbar", the "Select toolbar keys > Voice input" mic key defaults to being on.
In Settings > General management is "Keyboard list and default" where the "Physical Keyboard is set to not connected" (where the physical keyboard started this problem because Genymotion scrcpy -k settings screwed things
up and I had to recently reset my entire well-honed keyboard setup).
Note: On Windows, "scrcpy -k" simulates a physical keyboard on Android,
which reduces the step of bringing up a keyboard when mirroring Android,
but it's not worth the trouble it caused (which I only learned belatedly).
But I forgot how I had accomplished it in the past. Sigh.
So here's a log, of sorts, that may help others.
In Keyboard list and default are
Default keyboard = HeliBoard (version 3.9)
Samsung Keyboard
TalkBack braille keyboard = off
OpenBoard = on
Keepass2Android = off
Automate = off
Button Mapper = off
Key Mapper Basic Input Method = off
Simple Keyboard = on
HeliBoard = on
FlorisBoard = on
Whisper+voice Input = on
Sayboard = on
Transcribro = off
Magikeyboard (KeePassDX) = off
Keyboard button on navigation bar = on
But when I press the Heliboard "mic" button, up pops Sayboard as the STT. That's because Sayboard became (somehow) the standard IME trigger.
When I open Sayboard as an app, it shows: English (United States) /storage/emulated/0/Android/data/com.elishaazaria.sayboard/files/Models/en-US/ vosk-model-small-en-us-0.15
That Vosk model is, IMHO, slow to start and rather inaccurate at times.
So I went today to
https://alphacephei.com/vosk/models
I downloaded the newer, faster, larger vosk-model-en-us-0.22-lgraph model.
https://alphacephei.com/vosk/models/vosk-model-small-en-us-0.15.zip =40MB
https://alphacephei.com/vosk/models/vosk-model-en-us-0.22-lgraph.zip =128MB
Supposedly the larger different "graph" type is much faster at decoding on mid-range phones than the standard small models is (mine is Galaxy A32).
Name: stt_english_vosk-model-en-us-0.22-lgraph.zip
Size: 130557655 bytes (124 MiB)
SHA256: D9838B4AAA82A75C4A17F5ACA300EACA129AAAB2A7CBF951BAFBB500EB9C4334
I had to look up how to install Vosk models manually.
<
https://github.com/ElishaAz/Sayboard/wiki/Install-a-Vosk-Model-Manually> Since Sayboard downloaded the small model, I can reuse its directory.
In Sayboard, I pressed the "Import model" (folder icon).
Since the file had a long name, and there were similarly named files in my external sd card folders, I had to choose which file manager to select it
Good for long file names
File Manager (blue folder icon)
Ghost Commander
Total Commander
OK for long file names (truncated but scroll)
File Manager (yellow folder icon)
Amaze
Material Files
Bad for long file names (truncated)
FX File Chooser (X-plore access was denied)
My Files
Confusing I/F
OI File Manager
X-Plore
I also had to first delete the existing model because Sayboard kept saying
that the model already exists (it doesn't replace the new model or add it).
Now the model is in:
/storage/emulated/0/Android/data/com.elishaazaria.sayboard/files/Models/
en-US/vosk-model-en-us-0.22-lgraph
But I think it's still too slow and inaccurate so I'll try different models such as the SherpaOnxx models perhaps...
<
https://github.com/k2-fsa/sherpa-onnx/blob/master/android/README.md>
--- Synchronet 3.21f-Linux NewsLink 1.2