我目前正在尝试在我的 Pi 上实现持续的语音识别,我通过运行两个线程来实现这一点,其中一个线程不断录制(在arecord
bash 脚本中)X 秒,将该信息保存到 WAV,然后重新启动,每次写入此 WAV 时,另一个线程都会对 WAV 文件执行识别。
这工作得很好,但是如果用户的句子偶然被切断并在下一个记录循环中重新开始,则该句子会在两个识别结果之间变得支离破碎。
我的问题是:有没有一种方法可以确保arecord
录音直到声音级别降至某个阈值以下,以便整个句子将被捕获在录音中,然后一旦用户停止说话几秒钟,录音就会停止?
(顺便说一句,我正在使用 Python 来完成这一切)
另外,如果有更好的方法来解决这个问题,我愿意接受建议,我对 Pi 还比较陌生,所以不太熟悉它可以实现的所有美妙的事情。