#react-native #speech
#react-native #речь
Вопрос:
Я создаю языковое приложение, которое записывает любую новую лексику, которую пользователь пытается выучить. Было бы здорово, если бы пользователи могли добавлять свои слова с помощью программы преобразования речи в текст, вместо того, чтобы вводить его вручную. У меня возникли проблемы с выполнением этой задачи. Я знаю, что существует API для Apple, но не для Android. Возможно ли это в любом случае с помощью API? Как, например, Google speech to text API? Но я думаю, что сначала мне нужно иметь доступ к микрофону устройства. Я новичок, и это было бы очень легко с помощью Интернета. React Native еще слишком молод для этой задачи?
Ответ №1:
Возможно, вам захочется взглянуть на react-native-android-voice, модуль React Native, который поддерживает преобразование речи в текст для Android.
Как упоминал @delkant, теперь есть также react-native-voice, который поддерживает как Android, так и iOS.
Кроме того, вы всегда можете написать свой собственный собственный модуль, используя API SpeechRecognizer для Android. Вот краткое описание всех классов и интерфейсов, которые могут понадобиться для этой задачи. Если вы знакомы с разработкой собственных приложений для Android, довольно легко создать собственный модуль и привязать его к вашему проекту React Native. Вот официальная документация о том, как этого добиться.
Комментарии:
1. Спасибо. Проведем некоторое исследование по этому вопросу.
2. у react-native-voice есть несколько проблем, ожидающих решения в iOS. Это работает плохо.
Ответ №2:
У вас также есть react-native-voice
Библиотека преобразования речи в текст для React Native.
Он поддерживает Android и iOS
Комментарии:
1. Спасибо за ваше предложение; но знаете ли вы какой-либо способ показать диалоговое окно Android microphone, когда пользователь начинает говорить (или любой другой собственный диалог)?
2. Это связано с несколькими проблемами с iOS
3. @red-devil С какими проблемами вы сталкиваетесь? Кажется, это работает очень хорошо, но любопытно, на что обратить внимание.
Ответ №3:
Модуль react-native-bluemix предоставляет как SpeechToText, так и TextToSpeech для React Native: https://github.com/pwcremin/react-native-bluemix
Он включает в себя инструменты Watson как для ios, так и для Android: https://github.com/watson-developer-cloud
Комментарии:
1. Репозиторий не поддерживается
Ответ №4:
React Native использует SFSpeechRecognizer под капотом для iOS, который имеет различные ограничения: https://developer.apple.com/documentation/speech/sfspeechrecognizer
Будьте готовы к сбоям, вызванным ограничениями распознавания речи. Поскольку распознавание речи — это сетевая услуга, применяются ограничения, чтобы услуга оставалась доступной для всех приложений. Количество распознаваний, которые могут выполняться на отдельных устройствах в день, может быть ограничено, и каждое приложение может регулироваться глобально в зависимости от количества запросов, которые оно делает в день. Если запрос на распознавание не выполняется быстро (в течение секунды или двух после запуска), проверьте, не стала ли служба распознавания недоступной. Если это так, вы можете попросить пользователей повторить попытку позже.