From Newsgroup: comp.mobile.android
Maria Sophia wrote:
a. Low end Android => use HeliBoard + WhisperIME STT
b. High end Android => try the all-in-one Futo Keyboard
Testing takes time...
I'm having trouble with the tiny models in a noisy environment,
with the transcription taking too long or not working at all.
It seems the AGC on the mic is allowing too much noise to filter through.
First, I confirmed the small models are running by running adb logcat.
"testing testing 123"
Since, at home, you never need to touch the phone itself, from Windows:
adb shell logcat -c
adb shell "logcat -d -v tag WhisperEngineJava:D *:S"
--------- beginning of main
D/WhisperEngineJava: Model is
loaded.../storage/emulated/0/Android/data/org.woheller69.whisper/files/whisper-tiny.en.tflite
D/WhisperEngineJava: Filters and Vocab are loaded.../storage/emulated/0/Android/data/org.woheller69.whisper/files/filters_vocab_en.bin
D/WhisperEngineJava: Model is loaded.../storage/emulated/0/Android/data/org.woheller69.whisper/files/whisper-tiny.en.tflite
D/WhisperEngineJava: Filters and Vocab are loaded.../storage/emulated/0/Android/data/org.woheller69.whisper/files/filters_vocab_en.bin
Where the specgtrogram was too big for such as small sentence:
D/WhisperEngineJava: Calculating Mel spectrogram...
D/WhisperEngineJava: Mel spectrogram is calculated...!
D/WhisperEngineJava: output_len: 449
So to lower the mic sensitivity on the Samsung A32-5G, I ran:
adb shell settings put global call_noise_reduction 1
adb reboot
Re-run "testing, testing, 123"
adb shell logcat -c
adb shell "logcat -d -v tag WhisperEngineJava:D *:S"
--------- beginning of main
D/WhisperEngineJava: Model is loaded.../storage/emulated/0/Android/data/org.woheller69.whisper/files/whisper-tiny.en.tflite
D/WhisperEngineJava: Filters and Vocab are loaded.../storage/emulated/0/Android/data/org.woheller69.whisper/files/filters_vocab_en.bin
D/WhisperEngineJava: Calculating Mel spectrogram...
D/WhisperEngineJava: Mel spectrogram is calculated...!
D/WhisperEngineJava: output_len: 449
D/WhisperEngineJava: Skipping token: 50257, word: [_SOT_]
D/WhisperEngineJava: Detected language code: en
D/WhisperEngineJava: Skipping token: 50259, word: [_extra_token_50259] D/WhisperEngineJava: It is Transcription...
D/WhisperEngineJava: Skipping token: 50359, word: [_extra_token_50359] D/WhisperEngineJava: Skipping token: 50363, word: [_BEG_]
D/WhisperEngineJava: Skipping token: 50413, word: [_TT_50]
D/WhisperEngineJava: Skipping token: 50513, word: [_TT_150] D/WhisperEngineJava: Inference is executed...!
Drat. It's still 449.
If that doesn't work in noisy environments, then I'll have to bump up
to the next-sized model, which I think is the base model.
adb push whisper-base.en.tflite /storage/emulated/0/Android/data/org.woheller69.whisper/files/
adb shell "cp /storage/emulated/0/Android/data/org.woheller69.whisper/files/whisper-base.en.tflite /storage/emulated/0/Android/data/org.woheller69.whisper/files/whisper.tflite"
adb shell "cp /storage/emulated/0/Android/data/org.woheller69.whisper/files/whisper-base.en.tflite /storage/emulated/0/Android/data/org.woheller69.whisper/files/whisper-tiny.en.tflite"
--- Synchronet 3.21f-Linux NewsLink 1.2