【问题标题】:How to calculate beats per minute from heart sounds recorded through android MIC?如何根据通过 android MIC 记录的心音计算每分钟心跳数?
【发布时间】:2020-01-12 03:03:20
【问题描述】:

我有很多 .wav 文件,通过 MIC 通过将手机直接放在人的胸前记录心音。我想从这些声音中计算 BPM。你能帮忙吗?任何库、算法或教程?

【问题讨论】:

  • @YevhenKuzmovych 这与我的问题无关
  • @Noman-marwat Yevhen Kusmovych 提供的链接,尤其是关于模式检测的链接,对于这类问题来说是非常好的资源。

标签: python audio


【解决方案1】:

你能(你被允许)在某个地方放一些样品吗?

我玩过一些心电图(最多 12 个电极)和神经信号(尖峰看起来很像 R-S 转换)。这些尖峰是如此之大,一个简单的 scipy.signal 中的 find_peaks 就足以检测到它们。不过在那之前我使用了一个巴特沃斯过滤器。您可能也需要,过滤掉 50/60Hz 电源很常见,音频中也可能存在类似的噪音。

找到峰值后,每分钟的节拍数是一个除法(可能还有一些平均值)。

【讨论】:

【解决方案2】:

您要做的实际上是计算给定声音文件的傅立叶域,然后确定最强的峰值。这很可能是您的主要信号的频率(在这种情况下应该是心率)。

谢天谢地,别人有already asked / answered this on stackoverflow

这种方法的唯一警告是,如果有其他重复信号主导心跳,在这种情况下,您可能需要先清理数据。

【讨论】:

    猜你喜欢
    • 2021-09-27
    • 1970-01-01
    • 1970-01-01
    • 2019-07-03
    • 1970-01-01
    • 1970-01-01
    • 2013-02-28
    • 2019-12-18
    • 1970-01-01
    相关资源
    最近更新 更多