我们想知道在音频文件中什么时候开始说话。这句话可以是整句话,也可以是相当短的句子,例如一个单词。可能有一些背景噪音(呼吸,吱吱声,风扇等)。目前,我们使用的是一种简单的阈值方法(如果有相当大的音量,用户就开始说话),但如果有足够大的噪音,有时会失败。
我们一直在试验webrtc (房协,js),但是它似乎给出了1/True ("is声音“)的答案,就像声音一样。
例如,在使用webrtc的代码中,我看到他们经常在一排/一段时间内查找1-答案的序列,就像在js示例代码中那样,但是这样做似乎对我们没有多大帮助。在测试时不断地写出答案是有启发性的,例如,第一组是我说的“我”,第二组是我小心地把我的咖啡杯放在桌上:
00000000000000000001111111000000000000000000001111111100000000000000
这些序列的长度大致相同:(玩攻击性游戏似乎只会使情况稍微更糟。)
难道webrtc-vad根本不适合这个任务吗?或者,作为第一个过滤器,它仍然有用吗?也许第二个过滤器应该检查大多数声音在50–300 Hz范围内?(我知道我可以通过一个完整的文本到语音管道发送它,看看它是否能成功地将它转化为可读的东西,但这似乎对刚开始说…的人来说太过分了。)
发布于 2019-04-26 06:17:21
有更先进的VAD使用机器学习,它们将表现得更好:
https://github.com/jtkim-kaist/VAD
我知道我可以通过一条完整的文本到语音管道发送它,看看它是否能把它变成清晰的东西,但这似乎对刚开始说话的人来说太过分了。
不,这不是过火,它实际上是正确的事情,它也帮助识别器正确地估计噪音,从而提供更高的准确性。
https://stackoverflow.com/questions/55848424
复制相似问题