我有一个PHP Web应用程序,我正在寻找一种开源,高精度的语音到文本识别实现,它将采用语音命令打开用户的网页。示例:“ Make Sales ”(这将打开Create Sales PHP页面),“ Make Purchase order ”,“ Open END-OF-DAY reports “等等。
我的问题 :
我想知道我们是否可以使用 Mozilla DeepSpeech 从 Firefox 浏览器中获取.wav音频并将语音返回到文本。如果是的话,使用话筒从Firefox录制语音的流量是什么?使用DeepSpeech引擎转换文本?
如何制作类似 OK-GOOGLE 的唤醒/启动通话,以便随时听取命令?
答案 0 :(得分:0)
请阅读: https://github.com/mdn/web-speech-api/tree/master/speech-color-changer
从语音到文本的翻译是在客户端的浏览器中完成的。 生成文本后,可以使用jquery将其发送到php服务器。
答案 1 :(得分:0)
您可以通过创建服务器并使用异步请求/AJAX 或网络套接字来回发送请求来实现这一点。
您可以使用以下链接找到服务器安装说明:
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
在后端创建方法来循环生成的文本并尝试识别关键字/命令。如果触发,则将其发送回前端。也许您只是想授予用户使用他们的语音编写长消息的能力? - 返回整个文本 - 每次。但是,您仍然希望“聆听”关键字,以便让用户能够设置标点符号、开始和结束写作。
祝大家编码愉快;)