一旦音量低于python声音设备的阈值,请停止录制



我目前有一些python代码,可以不断记录4秒的音频块:

#!/usr/bin/env python3
import sounddevice as sd
fs = 16000
while True:
print('Started listening')
myrecording = sd.rec(int(4 * fs), dtype='int16', channels=1, blocking=True)

然而,我希望sounddevice录制,直到音量降至音频阈值以下(即,当拿着麦克风的人停止说话时(,然后重新开始听,而不是固定的4秒块。

从本质上讲,我想模仿像soxrec recording.wav silence 1 0.1 3% 1 3.0 3%这样的命令的行为,它正是这样做的。

有没有一种简单的方法可以用sounddevice做到这一点?

这样做的库似乎被称为VAD(语音音频检测(。对于python来说,一个好的例子似乎是py-webrtcvad。

相关内容

  • 没有找到相关文章

最新更新