我在我的一个学校项目中使用 YIN 算法,该项目使用吉他声音的音高检测。当我弹奏一个音符时,我会在开始时获得随机频率,直到它们稳定下来。我在想那些可能是来自于琴弦上的拨弦动作。
我正在阅读原始论文:
试图对库进行逆向工程并改善我的结果。我正在学习计算机科学,我的信号处理知识有限。总结:
步骤 1)
Auto-correlation
:- 我们试图找到信号与自身的相关性,该相关性在一个窗口内移动了一个滞后。
函数可能有无限的值。我们选择了非零滞后的最高峰。在滞后范围内。(为什么是最高峰?这是否意味着最响亮的频率?)。的上限很高。该算法可能会选择更高阶的峰值(什么是更高阶的峰值?)
以下步骤是为了提高结果的准确性
步骤 2)
Difference Function
:- 以差分函数的形式对信号进行建模。
。给出:
所以我们基本上使用幅度作为偏差。
步骤 3)
Cumulative mean normalization
用累积归一化差异替换差异函数以避免选择零滞后值:
第4步)
Absolute Threshold
(有人可以解释这部分吗?)
第 5 步)
Parabolic Interpolation
:将估计拟合为抛物线曲线。
第 6 步)
Choose The Best Local Estimate
:不言自明
我正在尝试将吉他声音与单声道 MIDI 进行比较。
我认为我应该考虑修改的参数是窗口大小和阈值以改善我的结果,或者我可以丢弃前几帧。谁能指出我正确的方向?
我正在使用的参数:
采样率:44100
窗户尺寸:1024
啤酒花尺寸:512
阈值:0.1