SpeechRecognizer problem

Hi apenas:
The app has always worked correctly before the factory reset.
It is on the Google Play Store for years..
tank you

Hola Chris Ward:

SĂ­, ese es el que estĂĄ instalado ahora.
Ni antes ni ahora he tenido instalado un motor distinto al de Google.

Entiendo por lo que dices que he de reinstalar el motor anterior que tenĂ­a antes de restablecimiento de fĂĄbrica?

Quieres decir que el motor actual instalado es tan nuevo que App inventor 2 aĂșn no lo ha implementado?

Tengo alguna posibilidad de revertir al motor anterior, o espero a que AI2 se actualice al nuevo motor?

Muchas gracias.

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:

image

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 ?
:hushed:

Best, Ugo.

1 Like

That's interesting - worth a try with the latest Google engine.

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. :cry:

1 Like

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.

ehmm..image ?
:thinking:

sorry...

Hello:
It is an app that I have uploaded on Google play for years.

Yep :grinning_face_with_smiling_eyes:

But, if you follow the hint of @SteveJG and before saying "cinquenta" you say "numéro cinquenta" ?
:crossed_fingers:


:frowning_face:

:rage: :rage: :rage:

...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).

try saying "cero cincuenta" 050 instead of 50.

Sorry :pensive:

Hello @Miguel_Angel_Alvarez,
thanks for having tested also mine. It's absolutely unbelievable: on my devices (both Arduino 9) it shows always numbers :frowning_face: :frowning_face: :frowning_face:
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 !

I have created a sample for this purpose, where the error can be seen

There may be problems due to languages

Proba.aia (3.3 KB)

Dear @Miguel_Angel_Alvarez,
I'm sorry, but on my phone, Xiaomi with Android 9 it works perfectly :frowning_face: :frowning_face: :frowning_face:.
I say numbers of 1, 2,3 digits and it recognizes always the correct number and it writes on the top line the numbers. (and below the sentence "Now I do recognize it as a number." Obviously I speak Italian.
BUT if I speak english it always writes letters: for example if I say eleven (11) it writes eleven.
This is interesting, I believe.....
Buena noche !
PS are you working with offline language ? If yes, have you downloaded it ?

Testing Proba.aia by @Miguel_Angel_Alvarez

Android 9 Xiaomi

Language: en Speak: four hundred and fifty-nine Get:$459

Language: it Speak: quattrocentocinquantanove Get: 459

Language: fr Speak: quatre cent cinquante-neuf Get: 459

Language: pt Speak; quatrocentos e cinquenta e nove Get 459

Language: es Speak: cuatrocientos cincuenta y nueve Get: cuatrocientos cincuenta y nueve

If I repeat many times I get...

dfdfdfdfdfeee

2 Likes