Speech to text not working, needs com.google.android.voicesearch
Steps to reproduce
- Click on microphone symbol in keyboard to open STT
Expected behaviour
Indicate that keyboard starts a STT (speech to text) service. Make input of returned string to relevant text box.
Actual behaviour
Opens dialogue "Sprachpaket nicht installiert, Spracheingabe ist nicht auf Deinem Gerät installiert. Das kann einfach behoben werden: Installiere es jetzt vom Appstore. [Nein] [Installieren]", then tries to find pname:com.google.android.voicesearch Translation: "Language pack not installed, voice input is not installed on your device. This can be easily fixed: Install it now from the Appstore. "
Android OS version: LOS 18.1-2022-01-22-microG-walleye
Device manufacturer and model: Pixel 2
List of installed add-ons (like languages, or themes): Konele, google app, Konele-service
Info: Speech to text generally works finde, p.ex. in Duolingo. I will try to find out how ASK calls the STT service. As the app is looking for com.google.android.voicesearch, this might be not a proper implementation. Something like implemented here might be helpful.
I'm a similar problem as well. (android 10)... I have my default assistant app set as k6nele, my voice input and recognition services both set as kaldi/vosk recognizer... Yet somehow when I click the mic button it brings up Google speech to text. Shouldn't it use our defaults and NOT pull up the com.google.android.voicesearch, as @backupandforkacc pointed out? If there are no plans to do so, I'll have to jump to something else.... privacy has become too important to me =(
I would also like a clear and straightforward way to deploy a vosk-based STT service from Anysoft.
I also have this issue for my Volla X23 and Vollaboard voice input
I have just installed Dicio Assistant which uses Vosk for STT. AnySoftKeyboards opens STT and one can speak and create text. Unfortunately the recognized text is not inserted.
Workaround: Dicio comes along with a copy button. From the clipboard it's easy to paste. But always two clicks needed.
Sayboard does that
Sayboard (An open-source on-device voice IME (keyboard) for Android using the Vosk library) https://f-droid.org/packages/com.elishaazaria.sayboard/
That force you to change of keyboard, but you can configure it to automatically listen right after switching and switch back to the previous keyboard (Anysoftkey) right after ending the recording.
That could be a workaround while Anysoftkeyboard makes the STT provider configurable.
Sayboard (An open-source on-device voice IME (keyboard) for Android using the Vosk library)
On my Google-free LineageOS (so no proprietary Google STT available) Sayboard was also my first STT app which is working as @noraj described (provides quite good results meeting my expectations). Very recently I stumbled across FUTO Voice Input which recognizes the spoken text with an even higher accuracy.
[...] Click on microphone symbol in keyboard to open STT [...] Opens dialogue "Sprachpaket nicht installiert, Spracheingabe ist nicht auf Deinem Gerät installiert [...]
I can confirm that the ASK microphone button does in fact work as expected, at least with FUTO Voice Input: tapping the microphone button starts a FUTO Voice Input popup, the STT app listens, transcribes the spoken sentences and inserts the text upon tapping on the recognized text suggestion.
Since the whole process actually involves 3 apps: an app with a text field (e.g. text editor), a keyboard app and a TTS app. Could it be that the behavior differs based on the app where the text is supposed to be inserted (e.g. web browser form field vs. plain text editor)?
I just read the release notes of Dicio 1.1 which was release on F-Droid not even a month ago (Aug 26, 2024):
[...] New in version 1.1 [...] Dicio can now be used as Voice Input in Android settings [...]
These observations indicate that the issue is not necessarily about ASK itself which seems to be working fine. From my perspective as a user (not developer) the issue seems to be that some STT app developers / providers (like Dicio in this case) do not properly integrate their software into Android to enable keyboard apps like ASK to trigger / call those registered apps / services.
@Solar-Simon are you sure that you are using the latest version 1.1 of Dicio and that you use Dicio as the default Voice Input in Android settings (as stated in their release notes)? If yes, then this sounds to me like a bug of Dicio and their (very recent) Android STT integration.
ASK 1.11.7137 FUTO Voice Input 1.3.3 Android 14
@ferromint - this is such a great discovery. Thanks for sharing FUTO.
Hi,
I am using Futo in conjunction with AnysoftKeyboard on Android 13 and it does not insert the text when using the.microphone button in the Keyboard application. Instead, speech to text does work when switching the input method to FUTO.
@AlexOnFOSS
[...] AnysoftKeyboard on Android 13 [...]
Interesting. Maybe something has changed between (your) Android 13 and (my) Android 14? (I updated my previous message to add the missing Android version info.)
[...] does not insert the text when using the.microphone button in the Keyboard application [...]
What exactly happens after you press the microphone button? Does a FUTO Voice Input frame / overlay (similar visual design to the full app) pop up and indicate that it recognizes voice / audio signal (not silence) when you are speaking? If yes, what happens after it detects silence / you ending the recording?
@AlexOnFOSS
[...] AnysoftKeyboard on Android 13 [...]
Interesting. Maybe something has changed between (your) Android 13 and (my) Android 14? (I updated my previous message to add the missing Android version info.)
[...] does not insert the text when using the.microphone button in the Keyboard application [...]
What exactly happens after you press the microphone button? Does a FUTO Voice Input frame / overlay (similar visual design to the full app) pop up and indicate that it recognizes voice / audio signal (not silence) when you are speaking? If yes, what happens after it detects silence / you ending the recording?
I have made a video for you. Test No 3 shows what happens when I click on the microphone symbol on the keyboard.
Anysoft Version 1.11.7137 Android 13
https://github.com/user-attachments/assets/30a842b5-2ab6-4658-afb9-c4ad7b24475c
Thanks, the video helps to understand the (symptoms of the) issue in your case. Before advancing to your actual problematic test case 3:
Test 1 is obviously using the long-press functionality of return key (button lights up) to call the options menu for selecting the keyboard.
Test 2 is less clear to me -> out of curiosity: How did you trigger the input method switcher here? I would have guessed via the bottom right icon of the Android 3-button navigation bar. When I press this button on my device it lights up which is not the case in your video though 🤔
Now back to the topic to the actual issue in test 3: Interesting, everything seems to be working fine up to the point where the recognized text is presented via the small text frame/overlay/form.
In your case it suddenly disappears 🤔
On my device the dialog looks slightly different (no "x" button in the top right corner but a "cancel" button at the bottom). It stays open until I tap on the text which inserts it into the app. If I click on the cancel button or outside the frame/overlay/form then the recognized text overlay is discarded and the focus returns to the editor app.
I'm just guessing here, but could it be that the non-default configuration of the microphone button action ("Aktion durchführen mit" = "Complete action using" dialog popup) is the reason for the issue later on in the insertion process?
Test 2 is less clear to me -> out of curiosity: How did you trigger the input method switcher here? I would have guessed via the bottom right icon of the Android 3-button navigation bar. When I press this button on my device it lights up which is not the case in your video though 🤔
The button did not light up in the video because I reduced the video MB by exporting it to 4 fps.
Now back to the topic to the actual issue in test 3: Interesting, everything seems to be working fine up to the point where the recognized text is presented via the small text frame/overlay/form.
In your case it suddenly disappears 🤔
That frame closes itself really fast. I never realized there is an X on the upper right. I thought its automatic closing is normal behavior because during test 1 and 2 it does the same.
On my device the dialog looks slightly different (no "x" button in the top right corner but a "cancel" button at the bottom). It stays open until I tap on the text which inserts it into the app. If I click on the cancel button or outside the frame/overlay/form then the recognized text overlay is discarded and the focus returns to the editor app.
I'm just guessing here, but could it be that the non-default configuration of the microphone button action ("Aktion durchführen mit" = "Complete action using" dialog popup) is the reason for the issue later on in the insertion process?
It could be but it shouldn't and I don't know how to revert that change back after having selected "open always" / "immer öffnen mit".
[...] The button did not light up in the video because I reduced the video MB by exporting it to 4 fps [...]
I understand. (That was my best guess, although I did not expect the animation to be that fast.)
[...] I don't know how to revert that change back after having selected "open always" / "immer öffnen mit" [...]
I am not completely sure, but I think this can be done the following way: App drawer > ASK > App info > Open by default > off + maybe additionally clear app cache (not the storage)
BTW: please only selectively quote text in order to indicate the corresponding section, i.e. not the images as only big empty placeholders show up instead (see your answer above).
