[FREE] Voice Recognition extension without Google Dialogue

This is an alternate version of the Voice Recognition Component

New Features:

Ability to disable the Google dialogue,

Turn off the sound prompt signal,

Continuous listening (hands free),
and other…

Can be used in robots, running Android; Voice assistants and etc.

New properties (default all is false ):

EnableGoogleDialog (boolean) - if “true”, then the recognition works in normal mode. No additional features (described below) is working.

MuteAudio (boolean) - if is “true”, then Google prompt sound signal are disabled before and after recognition. In reality, all sounds are turned off, but only for the duration of the listening. That, after recognition, or recognition errors, the sound immediately turns on.

ContinuouslyRecognitionEnabled (boolean) – in case the “false”, if the user is silent, the component will return an empty string result and generate “No voice input” error. Otherwise, the audition just automatically resumes every time. A related error does not occur.

PreferOffLine (boolean) - if “true to indicate whether to only use an offline speech recognition engine. The default is false, meaning that either network or offline recognition engines may be used. (Starting with Android version 6.0).

LastError (String) read-only - A description of the errors is stored here, if they occurred during the last recognition. When you start a new service, this information is erased.

ExtraPrompt (String) - when the Google dialog is displayed, the inscription on it can be replaced with its own. If there is an empty line in its field, then the inscription remains Google.

KeepScreenOn (boolean) - If you app window is visible to the user, keep the device’s screen turned on and bright.

IsListening (Boolean, Read only) - You can find out if he is currently listening.

EnablePartialResult (boolean) - Allows to have intermediate recognition results when the user continues to speak.Allows the occurrence of an event “AfterPartialResults”.

New method :

StopASR () - used to forcefully stop the Continuously Recognition process.

New Events :

OnError () - when error of recognizing is occur, the user receive the description and saves it in LastError.

Possibles errors :

“Audio recording error”
“Client side error”
“Insufficient permissions”
“Network error”
“Network timeout”
“No speech input”, “No match” (automatic restart in the Continuously Recognition mode )
“RecognitionService busy”
“Error from server”
“Didn’t understand, please try again”
“Speech Recognizer not Available!”

OnRmsChanged Event occurs when Microphone input is change. Gives an integer 0…10. It is used to dynamically indicate the microphone status in the voice recognition process.

AfterPartialResults Event occurs when exist Partial Results.

New properties for implementing the keyword wait function:

KeywordEnable (Boolean, default is False),

Keyword (String, default is Empty),

KeywordTimeSeg (Integer, default is 30S).

How it works:

Provided that KeywordEnable =true , Keyword != Empty , ContinuouslyRecognitionEnabled=true and EnableGoogleDialog=false, the AfterGettingText event will not appear until the recognition result contains a Keyword . In this case, the recognition service will restart automatically. At the same time, the AfterPartialResults event will occur as usual and transmit the recognition result. After the first occurrence of the AfterGettingText event, over KeywordTimeSeg time (in seconds), after each recognition, the user can conduct a dialogue without pronouncing the Keyword . After silence exceeding KeywordTimeSeg time, the user must again utter a phrase containing a keyword in order to continue the dialogue.

Current version:
ScSpeechRecognizerV9_1.aix (20.1 KB)
Test project:
TEST_ASR_V9_1.aia (23.8 KB)
Possible solution for the extension to work correctly with Android 11 and older.

32 Likes

Thank you
How to choose arabic language?
offline mode work with english, i prefer you add option to change and choose languages

3 Likes

Thank. Look at here:

1 Like

Thank you, yes it work but only with internet connection

1 Like

If you need ‘Offline Speech Recognition’, you can download and install all languages that you would like to use.

Good work. You have really made a nice extension.

It is definitely different from Speech Recognition component and more powerful.

It will be great, if we can run it in background like Ok Google and Alexa.

1 Like

Arabic language not available

As far as I know, neither Kodular nor Inventor cannot create services that run in the background.

Great extension @ScorpioNormal .Really useful one :+1: :partying_face: BTw, i know about it from the thunkable community :stuck_out_tongue_winking_eye:
#off-topic

Actually you can create it with app inventor.But not with kodular.But you can see this

Fantastic extension @ScorpioNormal
I would do some expermients with this and backgroundtasks extension(If android allows to do it) :crazy_face:

5 Likes

Yes, I have to try this. But, we must remember that the constant operation of the recognition service in the background requires a lot of resources from the phone.

5 Likes

Fantastic extension.

Impeccable !, would you know how I can stop voice recognition with a button? Greetings and thanks for this extension!

first of all you made a great extension :100:

My question is, is there any Turkish (TR) language support?

thank you

Surely yes. Check out this post.

any other way i could not understand

Hi everyone!
From many days I’m trying to test this extension
Android Version- 5.1 (not working)
Device- Samsung Galaxy J2

Whenever I click the button, nothing happens…
I’ve the contacted the Developer and in his device, it was working…

Working on Android 10, 9, 6.1
Please I request you to test this extension on your device (with Android version < 6)

Here is the .apk file:
TEST.apk (5.3 MB)

In this, there are 2 buttons…
1st- Speech Recogniser (Component) (working)
2nd- Speech Recogniser without Dialog(Extension​:point_up_2:)

2 Likes

Hey Can you put the screenshot of the aia.

1 Like

Here are my blocks:
blocks
Pretty Simple :grimacing:

BTW There’s no problem with the blocks or the aia as I mentioned that the same app is working o some devices…

It works for me

1 Like