4
如何区分声音与打nor?
背景: 我正在开发一个iPhone应用程序(在 其他几篇 文章中都有介绍),该应用程序在一个人入睡时“听着”打呼//呼吸,并确定是否存在睡眠呼吸暂停的迹象(作为“睡眠实验室”的预屏幕)测试)。该应用程序主要使用“频谱差异”来检测打sn /呼吸,并且在针对睡眠实验室记录(实际上是非常嘈杂的)进行测试时,效果很好(大约为0.85--0.90)。 问题: 我可以通过多种技术过滤掉大多数“卧室”噪音(风扇等),并且经常以人耳无法检测到的S / N级别可靠地检测到呼吸。问题是语音噪音。在后台运行电视或广播(或者只是在远处说话的人)并不罕见,并且声音的节奏与呼吸/打呼closely紧密匹配。实际上,我通过该应用程序记录了已故作者/讲故事者比尔·霍尔姆(Bill Holm)的录音,与打的节奏,水平变化和其他几种测量方法基本上没有区别。(尽管我可以说他显然没有睡眠呼吸暂停,至少在清醒时没有。) 因此,这是一个远景(可能是一系列的论坛规则),但是我正在寻找一些有关如何区分声音的想法。我们不需要以某种方式过滤掉打ore声(这会很好),但是我们只需要一种方法来拒绝被声音过度污染的“太吵”的声音。 有任何想法吗? 发布的文件:我已经在dropbox.com上放置了一些文件: Epica_Storm_the_Noisy_Sorrow_minus_10dB_wav.dat Holm_5db_noisy_wav.dat recordFile20120408010300_first_ten_wav.dat 第一个是相当随机的摇滚(我猜)音乐,第二个是已故的Bill Holm讲话的录音。两者(我将其作为“噪声”样本从打nor中区分出来)都与噪声混合在一起,以使信号模糊。(这使识别它们的任务变得更加困难。)第三档是您的录音的十分钟,真正的三分之一是呼吸,打middle混合,最后三分之一是稳定的打nor。(您咳嗽会得到奖金。) 这三个文件都已从“ .wav”重命名为“ _wav.dat”,因为许多浏览器都使下载wav文件异常困难。下载后,只需将它们重命名为“ .wav”即可。 更新:我以为熵对我来说就是“把戏”,但事实证明,这主要是我所使用的测试用例的特殊性,以及设计得不太好的算法。在一般情况下,熵对我无能为力。 随后,我尝试了一种技术,该技术可以计算每秒采样约8次的整体信号幅度(我尝试过功率,频谱通量和其他多种测量方法)的FFT(使用几种不同的窗口函数)(取自主要FFT周期的统计信息)这是每1024/8000秒)。对于1024个样本,这涵盖了大约两分钟的时间范围。我希望由于打/呼吸与声音/音乐的节奏较慢,我能够看到这种模式(而且它可能也是解决“ 可变性 ”问题的更好方法),但是尽管有提示到处都是模式,没有什么我可以真正锁定的。 (进一步的信息:在某些情况下,信号幅度的FFT会产生一个非常明显的模式,在0.2Hz处有一个很强的峰值,并产生阶跃谐波。可能有某种方法可以计算品质因数的相关值,但似乎需要对约4阶多项式进行曲线拟合,而在手机中每秒进行一次拟合似乎是不切实际的。) 我还尝试对将频谱划分为5个单独的“频段”进行相同的平均幅度FFT。波段是4000-2000、2000-1000、1000-500和500-0。前4个频段的模式通常与总体模式相似(尽管没有真正的“突出”频段,并且在较高频段中的信号通常消失得很小),但500-0频段通常只是随机的。 赏金: 鉴于内森(Nathan)是迄今为止最有成效的建议,尽管纳森(Nathan)没有提供任何新的东西,我还是要给予赏金。但是,如果他们提出了一些好主意,我仍然愿意将其奖励给其他人。