我正在工作的一个平台游戏,其中包括音乐与节拍检测。目前,我正在通过检查当前振幅是否超过历史样本来检测拍频。这并不适用于音乐的类型,比如摇滚乐,它的振幅相当稳定。
所以我进一步研究并发现了利用FFT将声音分解成多个波段的算法.然后我找到了Cooley-Tukey FFt算法
我唯一的问题是,我对音频非常陌生,我不知道如何用它将信号分解成多个信号。
所以我的问题是:
如何使用FFT将信号分割成多个频带?
对于感兴趣的人来说,这也是我在c#中的算法:
// C = threshold, N = size of history buffer / 1024
public void PlaceBe
我正在做一个音乐信息处理工具包。我不能对任何变量标识符的一部分使用“#”,因为它用于注释,这是语言的一部分。但是“#”符号在音乐学中有着不同但非常重要的用途,例如C#4的意思是中C尖。在我的计划中,用户应该能够使用音乐术语在python控制台中操作,例如:
if key.tonic is C#4:
所以,我想知道是否有可能绕过这个限制?任何建议都将不胜感激。