webkitSpeechRecognition выдает ошибку «сеть»

#electron #webkitspeechrecognition

#electron #webkitspeechrecognition

Вопрос:

У меня есть приложение для распознавания речи (с использованием webkitSpeechRecognition), которое отлично работает при запуске в автономном браузере Chrome.

Я преобразовал свое приложение в пакет electron, и оно перестает прослушивать микрофон и отправляет сообщение об ошибке с сообщением «сеть». В документации говорится, что «Сбой сетевого взаимодействия, необходимого для завершения распознавания». Однако он хорошо работает в Chrome напрямую без каких-либо проблем.

Я также использовал «SpeechSynthesisUtterance» для преобразования текста в речь, и это работает без каких-либо проблем с electron.

У меня было решение, работающее хорошо пару недель назад во время создания доказательства концепции, и оно также перестало работать.

У кого-нибудь есть идеи, что может быть не так?

Ответ №1:

Я заставил его работать с моим собственным ключом Google Speech API.

Пожалуйста, получите в соответствии с инструкцией, приведенной на https://docs.smart-mirror.io/docs/howto/how_to_obtain_chromium_speech_keys.html

Как только у вас есть ключ API, ClientID и clientSecret устанавливают их в переменные среды вашего компьютера с помощью ключей GOOGLE_API_KEY, GOOGLE_DEFAULT_CLIENT_ID, GOOGLE_DEFAULT_CLIENT_SECRET соответственно.

Обязательно перезагрузите систему после настройки переменных среды. Иногда они не сразу влияют.

введите описание изображения здесь

Комментарии:

1. не знаю, почему это было отклонено — сработало отлично!

2. Привет, похоже, это больше не требуется, но я все равно не смог заставить его работать для Electron. Есть новости по этому вопросу?

Ответ №2:

Из https://www.chromium.org/developers/how-tos/api-keys

Невозможно получить дополнительную квоту для Speech API Chrome. Вместо этого посмотрите на Cloud Speech API.

НЕ отправляйте сообщения ни в какие группы / списки рассылки Chromium по вопросам о Speech API.

И

Многие API-интерфейсы Google, используемые Chromium code, специфичны для Google Chrome и не предназначены для использования в производных продуктах. В консоли API (http://developers.google.com/console ) возможно, вы сможете приобрести дополнительную квоту для некоторых из перечисленных выше API. Для API, у которых нет ссылки «Ценообразование», дополнительная квота недоступна для покупки.

Поэтому я думаю, что вам просто не повезло, вам придется использовать что-то другое. Если вам нужно что-то, что работает в автономном режиме, вы можете взглянуть на Sphinx.

Комментарии:

1. На прошлой неделе все работало хорошо! Я вижу, что webkitSpeechRecognition не выполняет никаких веб-запросов (насколько я вижу на вкладке сеть в консоли chromium). Зачем мне нужен ключ API? Если необходимо, где я могу настроить его для webkitSpeechRecognition? Совсем запутался! Мне никогда не приходилось делать это раньше.

2. Мне удалось найти сеть из fiddler, я генерирую свой собственный КЛЮЧ api и идентификатор клиента / секрет. Настроил их на переменные среды .. используется сейчас, но все равно не работает