显示WAV文件间距

时间:2009-07-31 14:06:45

标签: wav pitch-tracking audio

我是音频世界的新手,我被分配了一项任务,我不知道如何处理。 我需要显示一个表示WAV文件音高的图表。 WAV文件可以是复音,然后我需要显示显性(读取:具有最强音量)乐器(或人声唱歌)的音高图。 我对.NET很熟悉,在C,C ++,Java方面几乎一无所知。

我开始在网络上进行研究,从我理解的复音WAV文件的音高检测是一个未解决的问题,但我不需要确切的音调,只是为了知道下一个是否更高,并且它的长度是多少。

我的问题是:

  1. 我应该从哪里开始学习这项任务背后的理论?有没有推荐的书?

  2. 是否有任何API /工具可以做到这一点?

  3. 谢谢,

    ML

3 个答案:

答案 0 :(得分:2)

您可以使用傅立叶分析来提取波的组成频率。这是一个相关的SO问题:Fast Fourier Transform in C#

答案 1 :(得分:1)

我开始使用Digital Signal Processing进行信号处理。您可以购买约30美元的书籍,或免费下载PDF格式。它是为非科学家编写的,包含大量信息,可以帮助您使用各种信号处理技术。

FFT(快速傅里叶变换)将时间与幅度信号转换为频率(频段)与强度(能量)。您可以通过许多网站上的standard charts从频率转到笔记。

答案 2 :(得分:0)

我一直在做一个有点相关的项目。您将要研究快速傅里叶变换。我可以推荐这个project written in C# - 它是作为吉他调音器编写的,但它可以很容易地根据你的目的进行修改。

然而,这不会做多音调。有一种名为“celemony”的产品声称具有使用“Direct Note Access(DNA)”的这种能力。他们的技术可以理解为封闭源,但您可以以合适的价格获得许可。