2

我对声音分析非常陌生,实际上我第一次这样做我需要做的就是分析 mp3 文件或任何其他格式并检测音高变化。只是我想修剪出现高音的音频文件。

声波

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

4

3 回答 3

4
  1. 首先你必须知道音高与波形的关系
  2. 注意:简单的单通道波形用简单的byte数组表示。它由带有一些必要参数的RIFF 标头和波序列本身组成。更复杂的波形(多通道、高比特率)以其他方式表示(int而不是byte阵列、干扰等)。
  3. SO:为了操纵音频音高,您必须了解如何制作波形(步骤 2)并编写(或谷歌)某种算法,该算法将以步骤 1中提到的方式使用波形的音高进行操作。

如果您是音频编程的新手,有一个很棒的初学者教程:使用 C# 生成恒定波形

于 2014-01-02T11:11:04.030 回答
3

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

一些理论:

一些资源:

于 2014-01-02T11:23:49.953 回答
0

尝试将 C# 绑定到 Aubio

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

http://aubio.org/

于 2014-04-26T17:04:36.533 回答