audio - 根据开始位置确定音符持续时间

标签 audio signal-processing onset-detection

我有一个问题,关于如何根据音符的开始位置来确定音符的持续时间。

因此,例如,我有一个振幅值数组(包含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/

相关文章:

javascript - "useRefs"变量是 div 引用的初始值?

audio - 调频(FM)

python - Python:如何从音频文件中的人声中分离出噪音?

python - 从二值图像中获取 n 个最大区域

java - 在 Android 中录制声音并读取 Amplitude

android - Xamarin.Android 应用的静音

typescript - 如何动态更改 Web Audio API 中的播放速率

audio - 开始心跳检测?

java - 音乐转录