我正在制作一个应该播放简单音轨的应用程序,并让我知道在播放曲目时附近是否有任何噪音。这是通过在 iPhone 的扬声器上播放歌曲时从麦克风进行现场录音来完成的。任何不属于音乐播放的声音都被定义为噪音。
实现此功能的最简单方法是什么?
我已经在网上对其进行了广泛的研究,但我找不到任何可以为这个特定问题提供解决方案的东西。尽管它可能是我读到的不同技术的组合,但最终将成为解决方案。
我已经实现
的东西同时播放歌曲和录制音频。
我尝试过的事情
注意:由于我们鼓励添加我们已经尝试过的内容,因此我添加了以下部分。但我绝不是说这是解决问题的正确方法,这只是我尝试过的。
我破解了 aurioTouch2 示例应用程序:我所做的是播放歌曲一次并记录快速傅立叶变换值(以相当低的采样率保持记录的数据量较低)。然后当再次播放曲目时,我基本上会计算(每个时间步长)使用实时回放 fft 数据和记录的 fft 数据构建的输出图之间的相关系数(所以当你放应用程序处于 fft 模式)。
这种“有点”有效。当房间中有过多的声音/噪音时,相关系数明显较低,但它不是很敏感,并且还取决于记录 fft 数据时使用的音量级别。最后,我认为这可能不是最好的方法。
有人认为这是可能的吗?如果是这样,最好的方法是什么?
请询问您是否需要更多说明!