【问题标题】:webrtc vad for finding start of (possibly short) utterancewebrtc vad 用于查找(可能很短)话语的开始
【发布时间】:2019-04-25 11:38:11
【问题描述】:

我们想知道音频文件中的话语何时开始。话语可以是一个完整的句子,也可以很短,例如一个字。可能会有一些背景噪音(呼吸声、吱吱声、风扇声等)。目前我们正在使用一种简单的阈值方法(如果有相当大的音量,用户开始说话),但如果噪音足够大,有时会失败。

我们一直在尝试使用 webrtc-vad (hs, js),但它似乎给出了 1/True(“是声音”)的答案,就像声音一样频繁。

在使用 webrtc-vad 的示例代码中,我看到他们经常在一个时间跨度内/连续查找 1 答案的序列,如 mozilla's webrtcvad_js example code,但这样做似乎对我们没有多大帮助。在测试很有启发性时不断写出答案,例如第一个系列的 1 来自我说“我”,第二个来自我小心地将咖啡杯放在桌子上:

000000000000000000001111111000000000000000000001111111100000000000000

序列长度大致相同 :( 玩激进似乎只会让它变得更糟。

webrtc-vad 根本不适合这个任务吗?或者它仍然可以用作第一个过滤器吗?也许第二个过滤器应该检查大部分声音是否在50–300 Hz 范围内? (我知道我可以通过一个完整的文本到语音的管道发送它,看看它是否能够将它变成清晰的东西,但这对于仅仅找出某人开始说话的何时来说似乎有点过分...... )

【问题讨论】:

    标签: webrtc text-to-speech voice-recognition


    【解决方案1】:

    有更高级的 VAD 使用机器学习,它们的性能会更好:

    https://github.com/jtkim-kaist/VAD

    我知道我可以通过完整的文本到语音的管道发送它,看看是否能将它变成清晰易读的东西,但这对于仅仅找出某人何时开始说话来说似乎有点过分了

    不,这不是矫枉过正,它实际上是正确的做法,它还有助于识别器正确估计噪声,从而提供更高的准确性。

    【讨论】:

    • webrtc-vad 是高斯混合模型,即使用机器学习。或者你的意思是我们应该为自己创建一个数据集来训练?感谢您提供指向 jtkim-kaist/VAD 的指针,会检查一下。
    • webrtc 有 gmm 分类器,但它不是真正可训练的,因为训练设置不是公开的。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-09-18
    • 1970-01-01
    • 2019-06-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多