15

我有一个 PHP Web 应用程序,并且正在寻找一个开源的、高精度的语音到文本识别实现,它将接受语音命令来打开用户的网页。示例:“进行销售”(这将打开创建销售 PHP 页面)、“进行采购订单”、“打开 END-OF-DAY 报告”等。

我的问题

我想知道我们是否可以使用Mozilla DeepSpeechFirefox浏览器获取 .wav 音频并将语音返回为文本。如果是,那么使用麦克风从 Firefox 录制语音到使用 DeepSpeech 引擎转换文本的流程是什么?

如何进行类似于准备好监听命令的OK-GOOGLE的唤醒/启动呼叫?

4

2 回答 2

2

您可以通过创建服务器并使用异步请求/AJAX 或 Web 套接字来回发送请求来实现这一点。

您可以使用以下链接找到服务器安装说明:

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

安装服务器后,您可以开始从任何支持“WebRTC API:getUserMedia()”的浏览器发出请求。生成音频 Blob 数据并以 base64 格式发送到后端服务器。在后端,将 blob 保存到临时音频文件中:

$encodedData = base64_decode($data); 

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

然后通过向您自己的 Mozzila DeepSpeech Node.js 服务器发出 CURL 请求将音频文件转换为文本:

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

在后端创建方法以循环生成文本并尝试识别关键字/命令。如果触发将其发送回前端。也许您只是想授予用户使用他们的语音编写长消息的能力?- 每次都返回整个文本。但是,您仍然想“听”关键字,以便让用户能够设置标点符号、开始和结束写作。

祝大家编码愉快;)

于 2021-03-24T09:11:05.053 回答
-1

请阅读: https ://github.com/mdn/web-speech-api/tree/master/speech-color-changer

从语音到文本的翻译是在客户端的浏览器中完成的。生成文本后,可以使用 jquery 将其发送到 php 服务器。

于 2020-07-03T14:35:11.603 回答