我目前有一些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)

但是,我没有固定的4秒块,而是希望sounddevice进行记录,直到音量下降到音频阈值以下(即,当有麦克风的人停止讲话时),然后再次开始收听。

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

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

最佳答案

似乎将执行此操作的库称为VAD(语音音频检测)。对于python来说,一个好人似乎是py-webrtcvad

关于python - 一旦音量低于python-sounddevice的阈值,停止记录,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/53534418/

10-12 18:18