正如我在上一篇文章中评论的那样,时频分析方法称为“短期傅立叶变换” 等效于滤波器组,用于分析信号x。对于给定的分析窗口瓦特Ñ,大小Ñ,在频率滤波器ķ / Ñ是:
ħ ñ = 瓦特- ñ ë Ĵ 2 π Ñ ķXXwññk / N
Hñ= w− nËĴ 2 πñ ķñ
对于通常的分析窗口(Hann,Hamming或什至矩形),这对应于一个低通滤波器,其截止频率约为,它会“移至”频率仓k(由于复数指数调制) ,因此导致带通滤波器。1 / Nķ
在这一点上,为了直接回答您对反映人类感知的关注,一些人派生了[“ constant-Q transform”(CQT)] [Brown91]。在其滤波器组的解释中,它依赖于与FT相同的原理。然而,中心并不像“正常” FT那样线性间隔,而是log2间隔。规模然后密切相关的一个西方音阶:如果一个选˚F ķ + 1 = 2 1 / 12 ˚F ķ,那么我们得到每倍频程12次的频率(摇铃:-)?),带宽被设置为,说,2 1 / 12 - 1FķFk + 1= 21 / 12Fķ。您也可以选择其他最适合您需要的中心。21 / 12− 12Fķ
你可以在这里和那里找到CQT的实现,通过Klapuri教授最近的一个,有一个相当不错的逆可以发现来这里。巴黎科技电信公司的音频小组也有Prado教授的实现,但是我还没有尝试过。
[Brown91] J. Brown,“恒定Q频谱变换的计算”,美国声学学会杂志,1991,89,425-434
编辑20121014:对您的(bryhoyt)问题的一些答案和评论。
对于您对主要问题的评论,只是一般性的想法:您似乎对许多应用程序感兴趣,对我而言,这些应用程序并不是要解决的琐碎问题。在我看来,“音色建模”听起来更与语音识别等相关,对于音调或频率分辨率或精度而言,“音色建模”并不是一个大问题(考虑通常如何计算MFCC)。
还请考虑有多少顶级研究人员(F. Pachet和法国IRCAM的推特团队,举了几个)正在就即兴创作和伴奏进行研究:这项任务并非不可能,但需要许多领域的专业知识。总而言之,一个典型的系统至少需要模仿人类的听觉系统,实现声音/音乐/音高/节奏感知,了解音乐理论,并根据所有先前步骤的估算做出决策。傅立叶变换,或任何信号表示,只是朝着最终目标迈出的一小步-在我看来,这可能是迄今为止最好的理解。
也就是说,仍然有可能每个人的视线都远远超出实际发生的情况,并且您可以通过一个简单而优雅的解决方案来解决这个问题!完成后,别忘了发布它!:-)
以44kHz采样0.1s就足以包含各种各样的频率
Fs/ N= 44100 / 4410 = 10 ħž
FFT无法检测到低频和高频,但是您说其他算法可以:有什么折衷办法?
简短答案:请阅读我关于旋律估计的论文!
进一步详细说明:由于要处理的声音的假设,许多音高估计算法都超出了FT的限制。我们希望自然声音(人声,双簧管,萨克斯管,钢琴...)的音符比单个正弦波更复杂。大多数音高或多或少是谐波的,这意味着可以将它们建模为正弦曲线之和,其频率是基频的倍数。
因此,在估算音高时,考虑到这些谐波是有用的,使用存在诸如频谱和,频谱乘积或自相关函数之类的检测功能的方法。最近有人发起了一个相关主题。
有哪些权衡?更具体地说,在一个合理的短窗口内,我可以期望什么水平的频率精度?(我知道CQT中的窗口大小是可变的-有多少?)更具体地说,我将能够接近多大的距离。目标是频率差异为0.5%,窗口为0.005s?
如前所述,在0.005s的窗口内,您可能会看到类似200Hz的“频率泄漏”。仅当您有2个频率接近200Hz的正弦曲线时,这才是真正的问题,这样FT便无法显示它们是2个不同的正弦曲线。好吧,我们离您的0.5%还远(顺便说一句,半音是频率的6%!),0.005s对于您的目的来说确实有点小。但是,如果您想每隔0.005s提供一次估算,您仍然可以像在语音/音乐处理中那样处理更长的重叠帧。那是你真正想要的吗?
ñķ= FsFķ(21 / B− 1 )
乙B = 48Fķ= 100 小时ž需要大约0.7s长的窗户。没什么可说的是我们随后失去了一些时间分辨率……但是,正如前面提到的,只有当我们忘记声音的结构时,这才是一个问题。此外,心理声学认为,在500Hz以下,人类并不能很好地区分正弦波:即使人类也在那里受到挑战。当然,我们可以希望我们的计算机能够比我们做得更好,但是在这里,我们面临着一个棘手的问题!
最后,请注意,存在其他计算声音的时频表示的方法,例如考虑伽马通滤波器组。我前面提到的CQT的优点是,既有用于转换也可以用于其反转的软件。就我个人而言,我仍然坚持使用STFT,因为它简单易用,因为到目前为止,即使在进行信号源分离时,我也从来不需要在低频下获得更好的分辨率。
[Schoerkhuber2010] Schoerkhuber,C.和Klapuri,A.,“用于音乐处理的Constant-Q变换工具箱”,第七届声音和音乐计算会议,西班牙巴塞罗那,2010年。