Yes, I already tried unchecking UseLegacy and same result.
Before the factory reset, when dictating a number with SpeechRecognizer, the value always appeared as a number, not text, which is how it appears now. And the math block "Is it a number?" it doesn't recognize it as numeric.
That is the problem - the factory reset has restored the original speech engine. You will have been using a later version. Re my post#12, if you install Google Speech Services (they have changed the name) your phone will then have Google's very latest speech engine. That might rescue your App.
Hello @Miguel_Angel_Alvarez,
99% the root cause is what Chris has said, but another thing that I see is that you get the text from the speech recognizer by using the block
while I use the variable "result" of the AfterGettingText block.
Maybe the "orange" variable (result) has a different format and is not converted yet into a full text ?
I wanted to test this hypotesis but unfortunately both AI2 servers are down (at least today from Italy i'm getting the error message).
Ciao, Ugo.
Has that made a difference? It installs Google's latest version speech engine.
So far as I know, App Inventor does not install a speech engine because Android already has one and App Inventor is used in many many countries.
There is very little chance of finding the exact engine version you were using before - especially since you would not be aware of it's version number.
However, there are 3rd party (none-Goggle) language specific engines compatible with Google Speech-to-Text that you might try to search the internet for.
Hi @Miguel_Angel_Alvarez,
a few minutes ago the servers were working again, so I've tested also the hypotesis of the variable/block possible format difference, but "unfortunately" both are showing figures and not text, i.e. by saying "centoventinove virgola cinque" my app shows the number 129,5.also with the block SpeechRecognizer.Result, as per picture below:
I've seen that for Apple, if you want to have the data shown as number and not text you have to say "numerical fifty" instead of only "fifty". I don't know if in the new SR google has copied this behaviour ?
Are you sure everything was working fine before the reboot Miquel.
the SpeechRecognizer never recognizes perfectly anything said to it. A developer has to provide code telling the app what to do in case the SpeechRecognizer provides a no match error message or results in an incorrect word (not the word intended by the user ).
the math block is it a number? has NEVER converted fifty to 50. Converting text to numerals has never been possible using Blocks. See ABG's #2 post.
Google recently 'updated' its online recognition. Since then my programs that did well recognizing numerals before the Google update of its recognition algorithm as numbers occasionally fails.
I get this using the SpeechRecognizer on an Android 12 Samsung A13 cell phone using English and my compiled app.
Saying "50" ALWAYS returns 50. Saying "3" returns "three". But saying "oh 3" returns 03 (which is a number).
The issue seems related to Google's updated recognition algorithm that might possibly be ameliorated for you by saying "oh 50" to get 50 instead of fifty.
SteveJG:
"Is it a number?" It doesn't convert text to number, I know. But it receives as a number what Speechrecognizer returns as a number and not as a text when a figure is pronounced. That's the problem, SpeechRecognicer returns "one hundred and forty five", instead of 145.
But the really curious thing is that when the Google Assistant dictates , "one hundred and forty five" it shows 145 on the screen.
This is how it has worked so far in the applications I have created where I use SpeechRecognizer and TTS.
I suppose then that the users of these applications will no longer be able to use them.
Thank you.
I think there is a serious problem with Speechrecognizer.
I have repeated "cincuenta" 5 times in a row and as can be seen in the image, the first 3 are transcribed as text and the other 2 as numbers.
It's crazy.
...sorry if I insist: have you tried my Cont_Speech.aia ? Once started, whatever you say (words or numbers) is shown in the first upper row (in yellow) of the screen.
In this case the numbers are shown as letters or as numbers ? (If you have already tried it, discard this answer).
Hello @Miguel_Angel_Alvarez,
thanks for having tested also mine. It's absolutely unbelievable: on my devices (both Arduino 9) it shows always numbers
Let's do in another way: could you send me (i.e. by PM) your .aia so I can test it on my devices ? Or just the part related to the speech recognition (though it's better to have it complete).
Never give up !