我有一个问题,关于如何根据音符的开始位置来确定音符的持续时间。
因此,例如,我有一个振幅值数组(包含short)和另一个相同大小的数组,如果检测到音符开始,则包含1,否则,则包含0。因此,基本上,每个1之间的距离将用于确定持续时间。
我怎样才能做到这一点?我知道我必须使用音频数据的采样率和其他属性,但是我可以使用特定的公式吗?
谢谢!
最佳答案
因此,您首先要获取一个OFFSETS列表,而您真正要寻找的是OFFSETS列表。
发病检测方法很多(这里有一篇论文)http://bingweb.binghamton.edu/~ahess2/Onset_Detection_Nov302011.pdf
许多相同的方法可以应用于偏移检测:
由于开始时光谱含量增加,因此可以测量光谱含量的减少。
1)在发病前后采取合理的时间窗。 (.25-.5s)
2)将窗口切成更小的片段,并进行50%重叠的傅立叶变换。
3)计算两个连续窗口减小之间的傅立叶系数之间的差,并且仅允许SD出现负变化。
4)将结果乘以-1。
5)从结果中挑选峰
6)Voila,胶印机。
(有关频谱差异函数的更多详细信息,请参见上面列出的论文的第7页,您可以应用修改后的版本(如上)
关于audio - 根据开始位置确定音符持续时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6183480/