Как ускорить облачную речь Google
Я использую микрофон, который записывает звук через браузер, преобразует его в файл и отправляет файл на сервер Java. Затем мой Java-сервер отправляет файл в облачную речь API и дает мне транскрипцию. Проблема в том, что транскрипция очень длинная (около 3,7 с в течение 2 с диалога).
Поэтому я хотел бы ускорить транскрипцию. Первое, что нужно сделать, - это поток данных (если я начинаю транскрипцию в начале записи. Проблема в том, что я не совсем понимаю API. Например, если я хочу транскрибировать свой аудиопоток из источника (браузер / микрофон) Мне нужно использовать какой-то JS API, но я не могу найти ничего, что я мог бы использовать в браузере (мы не можем использовать такой узел, как мы можем?).
В противном случае мне нужно передать мои данные из js в java (не знаю, как это сделать, не разбивая данные...), а затем протолкнуть их через streamingRecognizeFile оттуда: https://github.com/GoogleCloudPlatform/java-docs. -samples / блобо / ведущая / речь / облако-клиент / SRC / Основной / Java / COM / пример / речь / Recognize.java
Но он принимает файл в качестве входных данных, так как я должен его использовать? Я не могу сказать системе, которую я закончил, или нет записи... Как он поймет, что это конец транскрипции?
Я хотел бы создать что-то в своем веб-браузере, например демонстрацию Google: https://cloud.google.com/speech/
Я думаю, что есть некоторые фундаментальные вещи, которые я не понимаю о том, как использовать потоковый API. Если кто-то может немного объяснить, как я должен поступить с этим, это было бы здорово.
Спасибо.
1 ответ
Google "Речь-Текст обычно обрабатывает аудио быстрее, чем в режиме реального времени, обрабатывая 30 секунд аудио в среднем за 15 секунд" [1]. Вы можете использовать Google APIs Explorer, чтобы точно определить, сколько времени займет каждый ваш запрос [2].
Для ускорения транскрибирования вы можете попытаться добавить метаданные распознавания в ваш запрос [3]. Вы можете предоставить подсказки фраз, если вы знаете контекст речи [4]. Или используйте расширенные модели, чтобы использовать специальный набор моделей машинного обучения [5]. Все эти предложения улучшат точность и могут повлиять на скорость записи.
При использовании потокового распознавания, в конфигурации вы можете установить singleUtterance
возможность True
, Это обнаружит, если пользователь приостановит разговор и прекратит распознавание. В противном случае запрос потоковой передачи будет продолжаться до тех пор, пока не будет достигнуто ограничение контента, которое составляет 1 минуту длины аудио для запроса потоковой передачи [6].