我有很多.wav文件,它们通过将手机直接放在人的胸口上通过MIC录制了心音。我想根据这些声音来计算BPM。您能为此提供帮助吗?有图书馆,算法或教程吗?
答案 0 :(得分:3)
您可以(允许)在某个地方放置一些样品吗?
我玩过一些心电图(最多12个电极)和神经信号(尖峰看上去与R-S过渡非常相似)。这些尖峰是如此之大,只需从scipy.signal中找到一个简单的find_peaks即可检测到它们。在此之前,我使用了Butterworth过滤器。您可能也需要这样做,通常会滤除50 / 60Hz主电源,音频中也可能有类似的噪声。
找到峰值之后,每分钟的心跳数就是一个除法(可能是一些平均值)。
答案 1 :(得分:0)
实际上,您想要做的是为给定的声音文件计算傅立叶域,然后确定最强的峰值。这很可能就是您的主导信号的频率(在这种情况下,应该是心率)。
非常感谢,其他人拥有already asked / answered this on stackoverflow。
此方法的唯一警告是,如果还有其他重复信号主导心跳,在这种情况下,您可能需要先清除数据。