gpt4 book ai didi

audio - socks 效果 : retriggerable silence

转载 作者:行者123 更新时间:2023-12-02 22:55:15 25 4
gpt4 key购买 nike

为了检测语音,我正在使用这个 sox 命令:

rec voice.wav silence 1 5 30% 1 0:00:02 30%

只要输入音量提高到大约 30% 的阈值,它就应该开始录制,并在 2 秒后音频低于同一阈值时停止。

它有效。不过要是能“再触发”就更好了。我的意思是:当音频降到阈值以下,再次上升时,应该继续注册(即用户还在说话)。

只有当它检测到整整 2 秒的静音时,它才会停止。或者您推荐任何其他“VOX”工具吗?

最佳答案

我花了很多时间尝试使用 SOX 来实现 VOX,并使其运行良好。我一直在使用 Audacity 查看生成的波形,并确定了以下 SOX 命令...

rec snd.wav silence 1 .5 2.85% 1 1.0 3.0% vad gain -n  : newfile : restart

这将:

  • 等到它听到高于阈值的事件半秒,然后开始录音(静音 1 .5 2.85%)
  • 当声音事件降为零一秒钟时停止录制 (... 1 1.0 3.0%)
  • 剪掉任何初始静音直到语音检测 (vad)
  • 归一化增益(gain -n)
  • 将结果存入一个新文件(snd001.wav, snd002.wav)
  • 重启进程

获得正确的“静音”数字需要大量的试验和错误,并且取决于环境噪音以及麦克风的灵敏度。我通过 USB 在 Raspberry Pi 上使用 Logitech QuickCam IM 中的麦克风。

附带说明一下,这整件事提示如下......

rec FAIL formats: can't open input  `default': snd_pcm_open error: No such file or directory

...直到我在环境中创建了这个变量:

export AUDIODEV=hw:1,0

同样 - 这涉及对“静音”值的大量实验,并且需要针对您的环境进行一些调整。

关于audio - socks 效果 : retriggerable silence,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36998949/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com