This repository is a Unity plugin for Android Speech Recognition (based on Java implementation). This is just a basic implementation which uses the inbuilt Android Speech Recognition. I have implemented some additional functions to give some basic functionality.
SpeechRecognition.apk from here. You need a minimum of Android Lollipop (API Level 21) to use this apk.SpeechRecognition.unitypackage into your Unity project. (Tested latest on Unity 2018.1.0f2)Plugins/Android/ into the same folder in your project and have a look at Test.cs and ReceiveResult.cs for an example usage. Test.cs has function for calling the speech recognition popoup whereas ReceiveResult.cs has function which receives the recognized text.ReceiveResult.cs should be attached by changing the object name in Test.cs. The default return object is set to 'Main Camera').pluginClass.CallStatic("setLanguage", "en_US") in Test.cs to change the language. A list of languages along with their tags is present in the languages.txt file. This file is not exhaustive.SpeechPlugin to Android Studio to experiment with it (pluginlibrary module is only important).pluginlibrary-release.aar file in SpeechPlugin/pluginlibrary/build/outputs/aar folder. Rename this to speechassist-debug.zip and then unzip it. On unzipping you will get a classes.jar file which you will have to copy into Plugins/Android folder in Unity along with the AndroidManifest.xml. The manifest specifies the activity class which extends the UnityPlayerActivity and hence is necessary. If you already have a manifest in plugins folder, I would recommend against copying this manifest as it can cause confilict. Instead, you can modify the manifest which you already have to specify the activity class which extends the UnityPlayerActivity.classes.jar in my libs folder of my AndroidStudio project. Have a look at this post to know where you can find it.I have extended UnityPlayerActivity with my custom activity and forced to subsitute it by changing the manifest file. Though, this works it is undesirable when you want to make/use multiple plugins. An ideal way would be to create a custom activity that will be short-lived and its sole purpose would be to get created, do the job (user picks photo from gallery e.g.), deliver result (picked image) into onActivityResult and terminate itself. Please refer this post for more details on this approach. I will update the plugin once I have more free time.
On experiencing a problem, feel free to create an issue.
If you want any additional features too, feel free to create an issue.