我想用我的树莓派来记录我的狗吠叫的时间和频率。但出于隐私原因,我不想简单地记录房间里的响度,所以我必须自动检测吠声。
我该怎么做?
我想用我的树莓派来记录我的狗吠叫的时间和频率。但出于隐私原因,我不想简单地记录房间里的响度,所以我必须自动检测吠声。
我该怎么做?
有趣的问题。看看:http : //www.dsprelated.com/showthread/comp.dsp/129392-1.php 请记住,有商业产品可以识别狗吠并在狗吠时发出超声波,例如:http ://www.ultimatebarkcontrol.com/dog-silencer.htm#tabContent
我不知道你想让事情变得多复杂(即:只检测你的狗叫声、其他狗叫声、检测单个吠声、多个吠声等)。或者,正如 Moti 所说,您希望达到什么样的检测概率 (PD) 或误报率 (PFAR)。我想最简单的方法是记录你的狗的几次吠叫,然后将你的手机设置为监听,并处理传入的信号。如果响度级别超过某个阈值,并且时间长度似乎合适,您会怀疑它是树皮,然后将可疑的树皮与您之前的录音进行交叉关联,或者计算相干函数以确定传入信号的相似性与之前的录音。
但是,使用简单的系统可能难以最大化正确检测和最小化错误警报。我不知道商业系统有多复杂,但您可能想研究它们,看看您是否可以获得任何提示/建议。
您不一定要保留声音的录音才能处理它。只需读取帧,计算 RMS 能量(例如),然后回收帧缓冲区。本质上是改写历史并保护您的隐私。循环缓冲区设计适用于音频处理(想想 FFT 中的滑动窗口)。
也就是说,虽然大多数商业和开源狗吠检测系统仅依赖于狗吠的体积,但它们并不是很强大。如果您的邻居正在敲打一些 DIY 木制品,您的系统就会触发。
关于树莓派,如果你还在做这个,也许可以看看大卫亨特的Pi-Rex项目……也许你甚至可以改进它!
您可以训练深度学习 AI 来为您分类声音,然后将其用作事件源。
https://medium.com/@mikesmales/sound-classification-using-deep-learning-8bc2aa1990b7
这是 Python 中的树皮检测脚本。