Я пытаюсь добавить непрерывную речь в распознаватель текста в мобильном приложении во время разговора только по звуку webrtc.
Я использую реагировать нативно на мобильной стороне, с response-модуль native-webrtc и пользовательский веб-интерфейс для сигнальной части.У меня есть рука веб-API, поэтому я могу добавить функцию на его стороне, если это единственное решение, но я предпочитаю выполнять его на стороне клиента, чтобы избежать использования полосы пропускания, если в этом нет необходимости.
Во-первых, я разработал и проверил некоторые идеи на своем ноутбуке.Моей первой идеей было использовать интерфейс SpeechRecognition из webspeechapi: https://developer.mozilla.org/en-US/docs/Web/API/SpeechRecognition
Я объединил демонстрацию webrtc только для аудио с демонстрацией аудиовизуализатора на одной страницено там я не нашел, как подключить mediaElementSourceNode
(созданный с помощью AudioContext.createMediaElementSource(remoteStream)
в строке 44 streamvisualizer.js ) к классу web_speech_api SpeechRecognition
.В документации Mozilla аудиопоток, похоже, идет с конструктором класса, который может вызывать getUserMedia()
api.
Во-вторых, во время моих исследований я обнаружил две речи с открытым исходным кодом для текстового движка: cmusphinx и глубокая речь Мозиллы .Первый из них имеет js привязку и выглядит замечательно с audioRecoder
, который я могу кормить своим собственным mediaElementSourceNode
с первой попытки.Тем не менее, как внедрить это в мое собственное приложение реакции?
Есть также модули webrtc для Android и iOS, которые я могу подключить к привязкам, специфичным для платформы cmusphinx ( iOS , Android ), но я не знаю о совместимости родных классов.Можете ли вы помочь мне с этим?
Я еще не создал ни одной "грамматики" или определил "горячие слова", потому что я не уверен в задействованных технологиях, но я могу сделать это позже, если смогуподключите механизм распознавания речи к моему аудиопотоку.