我正在使用自相关算法对单声道声音(嗡嗡声、口哨声)执行音高检测,并且我得到的结果足以满足我正在尝试做的事情。但是,如果我用GF# D#的音符吹出一段旋律并记录结果,我会得到以下序列:
2x F#
3x G
14x F#
54x G
14x G#
2x D
52x F#
6x G
14x F#
3x G
2x G
28x D#
2x D
33x D#
4x D
16x D#
2x E
2x D
2x D#
我们可以看到正确的音符被识别并且它们是重复次数更多的音符,我怎么知道它是真正的音符还是只是一个过渡?是否有任何类型的过滤器可以应用于该数组并仅获取真正的音符 GF# 和 D#?
我正在使用这个 javascript 代码:https ://github.com/cwilso/pitchdetect ://github.com/cwilso/pitchdetect来执行音高检测,我想知道是否有一些后处理算法可以应用于我的结果来过滤音符,或者如果我有增加自相关算法的窗口。
在关于信号处理的那个线程(https://dsp.stackexchange.com/questions/16753/how-to-get-the-melody-from-a-signal)中,接受的答案提到了应用模式的简单后处理过滤我的音高结果序列。这个模式过滤器是什么?