csdcorp/speech_to_text

onRmsChanged not found

Closed this issue · 10 comments

I couldn't access a recognition function from: onRmsChanged where I need to change the values to apply an animation to my screen, any solution for me to get this data?

What happens when you try to use the recognizer there? Which function are you trying to access?

I have not seen a function available in lib, which accesses this function.

I would like a function in the library that I can access this feature.

I had a look at that function in the Android lib, https://developer.android.com/reference/android/speech/RecognitionListener.html#onRmsChanged(float), for reference. I'm not sure that I see the value of including it in the speech lib. The Android docs indicate that the method might not be called. You do get interim word results, could you use those instead? Maybe if you explained your use case a bit I could see what a good solution would be. It's not hard to support that method but I'd rather not add a lot of support surface area to the lib unless it is cross platform (iOS & Android) and useful.

Thanks for the response, I believe it is a very common feature in virtual assistants for both iOS and Android as it is a visual feature where I can make the wave of a wave be in sync with the tone of the voice of those using it. A use case to note is from google assistant, which performs a wave animation according to the pitch of the voice.

Interesting. Okay, I'll do an experimental implementation and post it to the repo. Maybe you could try it out and let me know if it works for your use case? I'll do a first version just for Android then have a look at iOS to see if I can create similar functionality there.

yes, I would love to see this feature available, I can test both on android and iOS and give you feedback

The change is now available in the 0.7.2 version of the plugin on pub.dev. I released it unintentionally as part of a change to Swift 5 but it seemed to be solid so I don't think that's a problem. Let me know if you have a chance to try it or have any comments on the changes I made as part of the merge.

Now I need to add the same functionality to iOS.

There's a version in the repo now that has iOS support for this. There's still an issue that the iOS and Android levels are not comparable.

The 2.3.0 release now has this functionality.