我希望查看是否可以通过最新浏览器使用getUserMedia
或类似方式直接访问Opus。
我一直在做这方面的研究,但是没有很好的结果。
我知道webkitSpeechRecognition
API实际上会使用Opus或Speex。我想进行语音识别,但使用自己的服务器而不是谷歌的。
我希望查看是否可以通过最新浏览器使用getUserMedia
或类似方式直接访问Opus。
我一直在做这方面的研究,但是没有很好的结果。
我知道webkitSpeechRecognition
API实际上会使用Opus或Speex。我想进行语音识别,但使用自己的服务器而不是谷歌的。
虽然有很多关于Emscripten的建议,但没有人真正去做。所以我使用Emscripten将编码器 opus-tools 移植到JavaScript中。根据想要实现的功能,现在有以下选择:
getUserMedia
流编码为Ogg-Opus和WAV格式MediaRecorder
,它也可以与AudioContext.decodeAudioData()
一起在支持平台上将任意声音文件转换为Opus格式我们正在使用emscripten编码和解码gsm610格式的音频,同时结合getUserMedia使用,即使在移动设备上也能表现出色。如今JavaScript拥有接近原生的性能,因此使用emscripten进行编译代码是可行的。唯一的问题可能是.js文件非常大,所以您需要仅编译您正在使用的部分。
x-webkit-speech
和webkitSpeechRecognition
,但我希望他们能够允许更改服务器。这真的会解决我的问题。 - Omar Al-Ithawi这不是一种完整的解决方案,@Brad 的答案目前实际上是正确的。
一种方法是编译 Opus to Emscripten 并希望你的电脑可以使用 JavaScript 进行编码。另一种替代方案是使用 speex.js。