Reputation: 740
I am making a language app that records any new vocabulary a user is trying to learn. It would be great if users can add their words via a speech to text program, instead of having to enter it manually. I am having trouble achieving this task. I am aware that there is an API for apple but not android. Is there anyway possible of doing this, using an API? Like for instance, google speech to text API? But I guess I would first have to be able to access the device's microphone. I am a beginner and this would be very easy using the web. Is React Native still too young for this task?
Upvotes: 15
Views: 27364
Reputation: 331
React Native uses SFSpeechRecognizer under the hood for iOS which have various limitations : https://developer.apple.com/documentation/speech/sfspeechrecognizer
Be prepared to handle failures caused by speech recognition limits. Because speech recognition is a network-based service, limits are enforced so that the service can remain freely available to all apps. Individual devices may be limited in the number of recognitions that can be performed per day, and each app may be throttled globally based on the number of requests it makes per day. If a recognition request fails quickly (within a second or two of starting), check to see if the recognition service became unavailable. If it is, you may want to ask users to try again later.
Upvotes: 1
Reputation: 5087
You might wanna look at react-native-android-voice, a React Native module that supports speech-to-text for Android.
As @delkant mentioned, there's now also react-native-voice that supports both Android and iOS.
Alternatively, you can always write your custom native module using Android's SpeechRecognizer API. Here's a summary of all the classes and interfaces you might need for this task. If you are familiar with developing native Android apps, it's pretty easy to create a native module and bind it to your React Native project. Here's the official documentation of how to achieve this.
Upvotes: 10
Reputation: 2294
You also have react-native-voice
A speech-to-text library for React Native.
It supports android and iOS
Upvotes: 6
Reputation: 755
The react-native-bluemix module provides both SpeechToText and TextToSpeech for React Native: https://github.com/pwcremin/react-native-bluemix
It wraps the Watson tools for both ios and android: https://github.com/watson-developer-cloud
Upvotes: 0