[FREE] Voice Recognition extension without Google Dialogue

hmm ok, I tried giving all permissions and it didn’t work :slight_smile:

The problem is this:
For apps targeting Android 11 (API level 30) interaction with a speech recognition service requires element to be added to the manifest file:

<queries>
   <intent>
     <action
        android:name="android.speech.RecognitionService" />
   </intent>
 </queries>
 

I don’t know yet how to do this from an extension. Perhaps more experienced developers can tell me.

1 Like

Could the coders team help with this? :slight_smile:

I reported it to a developer from Turkey, I’m waiting for a response, thanks for your interest.

2 Likes

can you give the code of your plugin please

I see 3 solutions:

  1. Decompile the APK of your application - edit the manifest file - compile the APK again. Look here and here.
  2. Ask the Kodular developers to add the annotation we need.
  3. Master Android Studio and create applications without limits ))
2 Likes

Well, You can modify manifest using rush

The sources of the published extensions are not secret, as they are in the .aix file itself and can be easily extracted. But, in this case, the source will not help.

Yes, maybe this is a solution. Need to try. I think that the developers of the APP Inventor will solve this problem, because the Package visibility requirement applies to many already developed extensions.

1 Like

Kudos on creating an amazing and easy-to-use extension!

I’m a language teacher looking for a solution where:

  1. I can define a list of keywords to be noticed by the speech recognizer
  2. Speech Rec. can continuously listen
  3. Each time a word from the list is recognized, the score is incremented by 1.

Basically, I’m looking for a tool to count how many of the pre-defined keywords the user-learner has used in a 1-5 minute speech.

Any idea how I could realize this?

Oh sure. Such an application is not difficult to create using a Kodular:

  1. One button for saying keywords. All recognized words must be saved to the list. This list can be saved to a file so that it does not disappear when the application is restarted. Also provide a button to clear the list.
  2. Another button to start recognition and counting keywords in the text. Each time the student stops speaking, the application counts the matches of words from the list of keywords with the recognized text. Also increases the total counter (or counters per word). And so on until the teacher stops the recognition process. Counters are reset when starting a new recognition.
    It’s all!
1 Like

(Full disclosure: baaasic coding skills :smiley: )

So the keyword counter works which is awesome!

What am I missing so that the continuous listening could carry on even if the speaker pauses in their speech? Code snippet below.

Thanks in advance, you are such a kind soul!

Great start!
In order to continue recognition, it is enough to issue command ScSpeechRecognizer1.GetText again at the end of event ScSpeechRecognizer1.AfterGettingText processing. To prevent the process from continuing indefinitely, there must be a global boolean variable that allows the recognition to continue. The value of this variable must be changed using a button (either use a special passphrase or a time delay).
You can also add keywords to the list with a voice command.
Ideally, it is better to make an application in which there will be no buttons and screens at all, but only voice commands:
“Add to dictionary”
“Save the dictionary”
“Clean up the dictionary”
“Start counting”
“Finish the count”
The application can announce the counter value using speech synthesis.
Good luck!

3 Likes

I tried to compile my extension using Rush, after adding the necessary information to the manifest:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.scorpio">
<uses-permission android:name="android.permission.RECORD_AUDIO"/>
<queries>
   <intent>
     <action
        android:name="android.speech.RecognitionService" />
   </intent>
 </queries>
  <application>
    <!-- <activity android:name=".MainActivity">
      <intent-filter>
        <action android:name="android.intent.action.MAIN" />
        <category android:name="android.intent.category.LAUNCHER" />
      </intent-filter>
    </activity> -->
  </application>
</manifest>

However, this information has disappeared from the end application manifest.
The queries tag is probably not supported by the Rush compiler.

Hi. First of all congrats for the extension, it is top!
I´ve the same problem with ContinuouslyRecognitionEnabled because when you add a ScSpeechRecognizer.GetText in th end of the …AfterGettingText, the sound captations needs 1 or 2 seconds to restart and it is enought to lose some words. Is there a work around for it or could you add an option to remove the gap? thanks it will be a awesome help.
Another question, I want to put credits for your work and the extension in my work. Can you tell me what name and link or anything else that you want me to put?

Many many thanks

these methods seem complicated :frowning:

I see the title of extension developer next to your name. I wonder if you can re-code this extension?

actually, I can but, why will it be needed, the aix made by @ScorpioNormal works, just issue is with manifest tags, maybe developers can find solution at : atomdeveloper.com/manifestgenerator.html

1 Like

Unfortunately, there is no solution for this, but if you set up a system by using your own clocks instead of listening all the time, you will prevent missing or leaking vocalization sounds from passing to the sound detector. I tried this and it worked, but this method causes the sound detector to be busy.

wrong translation sorry i need it