我有一个PHP网络应用程序,并正在寻找一个开放源码,高精度的语音到文本识别实现,将采取语音命令打开网页从用户。例如:“做出销售”(这将打开创建销售PHP页面)、“制作采购订单”、“开放的日终报告”等。
我的问题:
我想知道我们是否可以使用Mozilla DeepSpeech从火狐浏览器获取.wav音频并将语音返回到文本。如果是的话,从火狐用麦克风录制语音到用DeepSpeech引擎转换文本的流程是什么?
如何进行类似于OK-GOOGLE的唤醒/启动调用,以便随时侦听命令?
发布于 2021-03-24 09:11:05
您可以通过创建服务器并使用同步请求/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在后端创建方法,通过生成的文本循环并尝试识别关键字/命令。如果触发,就把它送回前端。也许你只是想让用户有能力用他们的演讲来写长条消息?--每次都把全文还回去。但是,您仍然希望“倾听”关键字,以便使用户能够设置标点符号,开始和完成写作。
(快乐地编码每个人;)
发布于 2020-07-03 14:35:11
请阅读:https://github.com/mdn/web-speech-api/tree/master/speech-color-changer
从语音到文本的转换是在客户端的浏览器中完成的。生成文本时,可以使用jquery将其发送到php服务器。
https://stackoverflow.com/questions/50582643
复制相似问题