我用两个麦克风录制鸟叫声。记录可能长达3个小时,而且每天都要大胆地聆听整个文件。我想要的是一个脚本,该脚本可以接收我的原始文件,并给我一堆简短的音频文件,每个文件都包含鸟叫声。使用我的麦克风,我可以用mp3或wav录音。但是脚本只应发出频率高于nHz的哭声。此频率代表固定的背景声音,不应保存。我不知道哪种语言最适合这样做,我绝对不知道该怎么做。
谢谢大家, 托马斯
答案 0 :(得分:0)
这应该很容易在多种语言中实现,但是Python是一个不错的起点。我会为您链接一些相关资源以帮助您入门,然后在遇到问题时可以缩小问题的范围。
要读取.wav格式的音频文件,请查看this documentation。
要从音频文件中获取数据并将其放入numpy数组,请参见this question and answer。
Here是用于计算数据的傅立叶变换(以获得频率内容)的文档。
我建议您使用一个移动窗口,并在该窗口内计算数据的傅立叶变换,然后在有大量内容超出阈值频率的情况下,将结果保存到文件中。 first link应该具有保存音频文件的信息。
对于此类应用程序from this Q&A,您可以使用傅里叶变换获得一些背景知识;如果事实证明您的问题确实很困难,我建议您研究一下methods for speech detection。< / p>
要获得更多建议,您可以尝试通过调整采样率来使录音频移,以使鸟的声音类似于人类的语音,然后使用Googles VAD之类的黑匣子工具来拾取鸟叫。我不确定那将如何工作。
答案 1 :(得分:0)
将长文件切成感兴趣的部分的问题通常称为(自动)音频分段。如果您愿意将固定的音频剪辑(例如10秒钟)截断,也可以将其视为“音频分类”问题。 后者是一个经过充分研究的问题,也适用于鸟类。
DCASE2018挑战赛对Bird Detection充满信心,并且有许多先进的方法。基本上,所有性能最佳的系统都在对数刻度的梅尔谱图上使用“构造神经网络”。梅尔频谱图是2D图像,因此基本上成为图像分类。许多提交都是开源的,因此您可以查看代码并进行操作。请注意,他们主要专注于在研究竞赛中取得良好的成绩,而不是用来分割几个文件的实用工具。
如果要为此构建自己的模型,我建议对图像进行预训练的卷积神经网络,然后对DCASE2018数据进行预训练,然后对自己的数据进行测试。尽管应该花一些时间才能建立一个非常准确的系统。