如何将Mozilla DeepSpeech实现到PHP Web应用程序中将语音转换为文本?

我有一个PHP Web应用程序,正在寻找一个开源的,高精度的语音到文本识别实现,将接受语音命令打开用户的网页。例如:"进行销售"(这将打开Create Sales PHP页面)、"进行采购订单"、"打开日终报告"等。

我的问题:

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

如何使唤醒/启动调用类似于OK-Google,以准备好侦听命令?


解决方案

您可以通过创建服务器并使用相应的请求/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

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

编码大家快乐;)

相关文章