浏览器内的语音活动检测

问题描述 投票:0回答:1

所以这是一个棘手的问题。

我希望编写一个Web应用程序,记录用户所说的一句话,然后将样本发送到服务器端进行处理。

我想到的算法如下:

  1. 用户单击按钮后开始录制会话
  2. 等待用户说出一个词(假设他知道他应该说一个词)
  3. 他说完就停止录音
  4. 将样本发送到服务器,例如使用 HTTP
  5. 在服务器端处理信号
  6. 向用户发送一些响应。

我认为 Java、C# 和其他高级语言中有多种语音活动检测解决方案。 然而,我希望这部分在客户端完成(否则,我将不得不从客户端发送太多数据到服务器,这是非常低效的)IE 在 javascript 和 HTML5 中。

我不是经验丰富的网络开发人员,所以我的问题是: 这可行吗?有这样的图书馆吗(我还没有找到)? 解决这个问题的最佳方法是什么?

javascript html speech-recognition
1个回答
0
投票

这里有一个很好的 vad npm,支持浏览器:

https://www.npmjs.com/package/@ricky0123/vad

您需要添加 CDN:

<script src="https://cdn.jsdelivr.net/npm/onnxruntime-web/dist/ort.js"></script>
<script src="https://cdn.jsdelivr.net/npm/@ricky0123/vad/dist/index.browser.js"></script>
<script>
async function startVad(){
      const myvad = await vad.MicVAD.new({
        onFrameProcessed: (probabilities) => {

        },
        onSpeechStart: () => {},
        onVADMisfire: () => {},
        onSpeechEnd: (audio) => {console.log("spoke");},
      })
      myvad.start()

}
startVad();
</script>

© www.soinside.com 2019 - 2024. All rights reserved.