音频音调分析

时间:2014-01-02 10:47:36

标签: c# audio frequency naudio pitch-tracking

我对声音分析很新,实际上我第一次做这件事就是分析一个mp3文件或任何其他格式并检测音高变化。我只想修剪出高音符的音频文件。

sound wave

我已经尝试过NAudio和一些文章,但无济于事,所以如果有人指导我正确指导一些教程和使用什么API。

3 个答案:

答案 0 :(得分:4)

  1. 您必须知道的第一个是how the pitch is related to waveform
  2. 注意:简单的单通道波形由简单的byte数组表示。它由 RIFF header和一些必要参数以及波序列本身组成。更复杂的波形(多通道,高比特率)以其他方式表示(int而不是byte阵列,干扰等等。
  3. SO:为了操纵音频音调,您必须学习如何制作波形(第2步)并写入(或谷歌)某种算法,该算法将以波形的音高进行操作。 第1步中提到的方法。
  4. 如果您对音频编程非常陌生,那么有一本很棒的初学者教程:generating constant waveforms with C#

答案 1 :(得分:3)

您可以使用FFT来获取录制的频谱。通过检查特定频率的频谱,您可以确定音频的哪些部分包含高音调。

一些理论:

一些资源:

答案 2 :(得分:0)

尝试C#绑定到Aubio

  

aubio是一种用于从音频信号中提取注释的工具。它的功能包括在每次攻击之前分割声音文件,执行音调检测,敲击节拍以及从现场音频生成midi流。

http://aubio.org/