Jon*_*ser 10 matlab signal-processing fft frequency
我目前正在从事我的第四年项目(计算机科学),该项目涉及音乐的自动转录 - >乐谱.我现在在Matlab中这样做,但是必须在某个阶段转换为java.
我的问题:我的程序返回纯正弦音的正确音符,现在我遇到了从自然乐器演奏的音符中检索基频的问题.对于某些音符,代表音符基础的峰值似乎完全没有.例如,当我从车库带播放G3音符时,它显示为G4,因为我的情节中只出现了第1,第3,第5和第7次谐波.我试图添加图像,但这是我的第一篇文章,它不允许我.任何指向正确方向的人都会非常感激.
hot*_*aw2 17
这并不罕见.对于男性的声音,大弦乐器和许多其他音调声源来说,基本的缺失或几乎是如此.
与正弦波函数发生器相反,这使得单独使用FFT峰值结果在确定来自实际乐器的音符方面极差.这是因为音高与峰值频谱频率不同.音高是一种心理声学感知现象.这就是你需要阅读的内容.有很多关于这个主题的研究论文.
所以你需要看一组完全不同的算法.尝试使用cepstrums(倒频谱分析),谐波产品频谱,自相关和类似(AMDF,ASDF等滞后),RAPT(用于音高跟踪的鲁棒算法),YAAPT等.
| 归档时间: | 
 | 
| 查看次数: | 3222 次 | 
| 最近记录: |