Как внедрить Mozilla DeepSpeech в PHP веб-приложение для преобразования речи в текст?

У меня есть веб-приложение на PHP, и я ищу реализацию высокоточного распознавания речи с открытым исходным кодом, которая будет принимать голосовые команды для открытия веб-страниц от пользователей. Примеры: "Сделать продажи" (откроется страница "Создание продаж PHP"), "Сделать заказ на покупку", "Открыть отчеты в конце дня" и т. Д.

Мой вопрос:

Я хочу знать, можем ли мы использовать Mozilla DeepSpeech, чтобы брать аудио.wav из браузера Firefox и возвращать речь в текст. Если да, каков будет поток записи голоса из Firefox с помощью микрофона, чтобы преобразовать текст с помощью движка DeepSpeech?

Как сделать вызов / запуск похожим на OK-GOOGLE, который будет готов слушать команды?

2 ответа

Вы можете добиться этого, создав сервер и отправляя запросы туда и обратно, используя синхронные запросы / AJAX или веб-сокеты.

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

https://pypi.org/project/deepspeech-server/

После того, как вы установили сервер, вы можете начать делать запросы CURL из любого браузера, который поддерживает «WebRTC API: getUserMedia ()». Сгенерируйте аудиоданные Blob и отправьте их в формате base64 на внутренний сервер. На бэкэнде сохраните большой двоичный объект во временный аудиофайл:

      $encodedData = base64_decode($data); 

// write the data out to the file
$fp = fopen($full_file_path, 'wb');
      fwrite($fp, $encodedData);
      fclose($fp);

Затем преобразуйте аудиофайл в текст с помощью запроса CURL:

      curl -X POST --data-binary @testfile.wav http://localhost:8080/stt

Затем удалите временный аудиофайл и отправьте текст обратно во внешний интерфейс.

Прочтите:https://github.com/mdn/web-speech-api/tree/master/speech-color-changer

Перевод речи в текст выполняется в браузере на стороне клиента. Когда текст сгенерирован, его можно отправить на php-сервер с помощью jquery.

Другие вопросы по тегам