如何开始学习音高检测?

信息处理 算法 沥青 参考请求
2022-02-06 20:03:45

读者。

我正在做一个项目,我的目标是在一个开源软件中实现音高检测算法(PDA)。

目前我对音高检测知之甚少,并通过阅读关于 PDA 的部分论文开始了我的研究。

我在 Music: Practice & Theory Stack Exchange (SE) 上写了一篇与此类似的帖子,我得到的建议是开始学习数字信号处理。

我目前的计划是学习一组关于数字信号处理的讲义。

我也是从 Music SE 被引导到这个 SE 网站的。你们中的任何人是否会建议一种不同的或可能更好的方法来学习数字信号处理和 PDA(记住我实现自己的 PDA 的最终目标——我不想简单地复制或插入别人的库,但是研究其他 PDA 的优缺点,然后实施我自己的,带有一些新奇元素)?

2个回答

我不同意

由于缺少乘法运算(Niesler 和 Robinson),AMDF 的计算成本低于 ACF。

我不认为乘法的成本被认为比绝对值更昂贵。(无论如何,您的 FPGA 中可能有一个乘法器。)

但是这个:

在此处输入图像描述

对我来说是新的。所以他们正在寻找最大化的值。τf(τ)

它看起来很有趣,但我看不出它在八度音阶问题上的表现如何。您可以在 A-440 处有一个听起来像 A-440 的音调,然后在 A-220 处添加少量(如 -40 dB)的次谐波。最大可能发生在当你希望它发生在f(τ)τ=fs220Hzτ=fs440Hz

但我想知道除以一加 AMDF 有什么帮助。这是我以前没有想到的。我得考虑一下。

音高感知是一种人类心理声学现象。因此,音高检测/估计与频谱频率估计不同。

要开始学习音高估计,您可能需要采用多学科方法:尝试有关乐器物理学的书籍(可以生成音高的多种方式),有关人类语音、听力、听力学和心理学的书籍音乐(如何将某些声音视为音调或不音调,或介于两者之间),以及用于学习音频数字信号处理方法的许多资源(FFT/STFT、窗口、各种滞后相似性度量、倒谱/倒谱分析等)专业钢琴调音师的技术资源也可能很有趣。

MIREX 网站上有大量关于音高检测和估计的学术论文。