Создайте свое собственное приложение для распознавания речи без каких-либо знаний в области машинного обучения, используя Web Speech API.

В этой статье мы узнаем, как создать собственное приложение для распознавания речи без каких-либо знаний в области машинного обучения, используя Web Speech API.

Давайте начнем с чего-то очень простого. Давайте создадим приложение, которое всякий раз, когда мы что-то произносим, ​​должно печатать это в консоли.
В следующей статье мы сделаем нечто более сложное.

Прежде чем мы начнем, важно знать, что он поддерживается во всех браузерах, например, Firefox его вообще не поддерживает, а в Chrome нам нужно использовать webkit.

Наш первый шаг — создать экземпляр распознавания речи, в моем случае я буду использовать Chrome, поэтому я буду использовать webkit.

Я уверен, что вы все достаточно опытны, чтобы правильно инициировать этот экземпляр в соответствии с браузером.

Удивительно, правда? Уровень кодирования более 9000!

Следующее, что мы хотим сделать, это получать вывод всякий раз, когда мы что-то говорим. Объект SpeechRecognition предоставляет несколько событий, которые помогут нам справиться со всем, что нам нужно, например:

- onresult
- onstart
- onend
- onerror
И так далее, но в этом примере нас интересует только событие onresult.

Мы устанавливаем метод onresult с помощью простой функции console.log, которая распечатывает объект события, после чего мы можем инициировать прослушиватель речи с помощью метода start().

Примечание. Только после того, как слушатель обнаружит, что мы перестали говорить, он напечатает результат. Если мы хотим, чтобы результаты печатались при каждом издаваемом нами звуке, мы можем сделать это, установив для свойства «interimResults» значение true.< br /> Это может быть полезно, если вы хотите отображать текст в режиме реального времени.

После того, как я от всего сердца прокричал «Hello World», давайте посмотрим на данный вывод.

Большой! Как видите, мы получаем массив SpeechRecogitionResult, который содержит другой массив SpeechRegonitionAlternative, который содержит в первом элементе наш текст Hello World.

Примечание. Мы всегда будем получать один элемент SpeechRegonitionAlternative, если вы не укажете иное с помощью свойства maxAlternatives в объекте SpeechRecognition.

Но если мы попытаемся сказать «Hello World» еще раз, ничего не произойдет. Почему?
Дело в том, что после того, как слушатель выдаст окончательный результат, нам нужно будет перезапустить его. Мы можем довольно легко этого избежать, установив для свойства «continuous» значение «true» заранее.

Это прекрасно работает, но обратите внимание, что запись будет продолжаться какое-то время, даже если пользователь перестал говорить, поэтому обязательно примите это во внимание.

Я буду использовать простое устранение дребезга в 1 секунду в качестве примера способа справиться с очисткой.

И это все!

💡 Если вам нужно повторно использовать логику распознавания речи для других проектов, рассмотрите возможность инкапсуляции кода в отдельный компонент, а затем используйте такой инструмент, как Bit, для независимого тестирования версии , опубликуйте, а затем повторно используйте в нескольких проектах с помощью простой команды bit import your.username/speech-recognition-component, что значительно сокращает шаблоны.

Узнать больше:



Я знаю, что это было коротко и мило. Надеюсь, сегодня вы узнали что-то новое, и увидимся в следующей статье!

Создавайте приложения с повторно используемыми компонентами, как Lego

Инструмент с открытым исходным кодом Bit помогает более чем 250 000 разработчиков создавать приложения с компонентами.

Превратите любой пользовательский интерфейс, функцию или страницу в компонент многократного использования — и поделитесь им со своими приложениями. Легче сотрудничать и строить быстрее.

Подробнее

Разделите приложения на компоненты, чтобы упростить разработку приложений, и наслаждайтесь наилучшими возможностями для рабочих процессов, которые вы хотите:

Микро-интерфейсы

Система дизайна

Совместное использование кода и повторное использование

Монорепо

Узнать больше: