0

我正在寻找一种编码方法或找到一个程序,该程序可以实时记录蟋蟀的啁啾声,也可以通过预先录制的音频文件(约 24 小时大)进行实验室实验。

我不太确定如何解决这个问题,因为我是一名 Web 开发人员,但我有 JS 和 python 以及库的经验。我最初的想法是使用 Matplotlib 生成音频可视化器,然后每次达到与板球啁啾的 db 匹配的特定范围的 db 时计数,但我不知道如何处理它。

我已经成功地在在线频谱分析仪(音频啁啾的频谱可视化器)上可视化了啁啾,并且可以清楚地看到它,但是我不知道如何使用代码来计算每个“啁啾”并将其与日期一起记录下来某种值/数据集表中每个啁啾的时间。

任何指导或帮助将不胜感激!

4

1 回答 1

0

真正幼稚的解决方案:对于每个时间单位(频谱图中的像素列),您可以计算一列中所有值的总和。例如,如果一列中的所有像素都是黑色的,则该列的总和将为 0,如果其中一些像素是彩色的,则总和将 >0。然后循环总和:如果在某个步骤你从 0 到 > 0,然后过一段时间又回到 0,你就达到了一个峰值。如果输出太“嘈杂”,您可以使用一个小的阈值而不是 0。调整它直到结果看起来不错。当输入的背景噪声在整个过程中几乎相同时,这很有效,但是如果它在整个录制过程中上下倾斜,则需要更复杂的东西(例如,阈值随着最后 n 的平均值不断变化总和)

或者你可以谷歌“峰值检测算法”并实现其中之一。或者你可以用你喜欢的语言谷歌“峰值检测库”并使用其中一种。

于 2021-03-19T23:50:56.103 回答