在Java中比较两个声音(带容差)

3
我正在寻找一种相对简单的方法(例如一些带有良好API的库或示例),用Java比较两个声音(当然要有容差)。源文件是一些手拍声音的声音文件。我想将它们与通过麦克风录制的实时录音进行比较。每次麦克风识别到更响的声音时,它会开始录制3秒,并将其与源文件进行比较。
目的:我正在运行一个带有麦克风的树莓派,如果我拍手,我想切换公寓里的灯光。

可能是录制时检测静音的重复问题。 - Andrew Thompson
你可以进行FFT并寻找一组特定的频率签名。最好是找到最少的频率来正确检测拍手,以尽量减少CPU使用率。 - Peter Lawrey
1个回答

0
你可以对拍手时产生的声音进行分析(例如频率、每个频率的强度等),然后过滤录制的声音以查看它是否相似。
可以将其类比为电话中的DTMF滤波器,但可能会有多个频率同时发生。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接