C# 需要音频分析库从音频文件创建实时反馈吗?

C# 需要音频分析库从音频文件创建实时反馈吗?,c#,c++,audio,frequency-analysis,amplitude,C#,C++,Audio,Frequency Analysis,Amplitude,实时不一定是必需的,但是我正在为我的最后一年项目创建一个游戏,我希望使用音频的力量来创建完全基于正在播放的音乐曲目的动态级别。我的目标是使用PlayStation手机和C语言创建PS游戏,但是如果我想,我可以切换到C++和PSP。 我可以使用WAV文件,并希望提取波形的振幅,以及从该数据计算其他特征,如平均频率和近似BPM,以创建一个级别 我对尝试处理这些原始数据毫不犹豫,我只是想知道一种方法,我可以首先获得这些信息。如果我能够提取样本并确定这些样本的不同特征,我就可以存储它们,计算出响度、音调

实时不一定是必需的,但是我正在为我的最后一年项目创建一个游戏,我希望使用音频的力量来创建完全基于正在播放的音乐曲目的动态级别。我的目标是使用PlayStation手机和C语言创建PS游戏,但是如果我想,我可以切换到C++和PSP。 我可以使用WAV文件,并希望提取波形的振幅,以及从该数据计算其他特征,如平均频率和近似BPM,以创建一个级别

我对尝试处理这些原始数据毫不犹豫,我只是想知道一种方法,我可以首先获得这些信息。如果我能够提取样本并确定这些样本的不同特征,我就可以存储它们,计算出响度、音调等的变化,从而创建音符等

我使用C语言,但是如果可能的话,我可以使用P/Unject或将我的项目切换到使用C++而不是C语言的另一个设备。 我在这里有点惊慌,因为我真的有点被难住了


非常感谢各位。

不幸的是,我不认为您能够使用C#来实现这一点-好吧,没有JIT编译器。我记得读过一些关于Mono的东西,它可以与C#一起使用,但我现在不确定

<>那是说我会和C++一起去。如果你这样做,你可以利用大量的音频分析库,比如CLAM(http://clam-project.org/)


不要惊慌(想象大的、友好的信件。)一步一步地设想项目的必要部分,一个接一个地解决,你很快就会完成

您在这里描述的问题是音乐/音频特征提取,有大量的学术工作可以借鉴。另一个有用的搜索术语是音乐信息检索(MIR)

研究人员试图从录音中检索到的“特征”列表很大且多种多样,从音高和键等确定性事物到“能量”等情感特征

其中大多数都比你想象的要困难,而且通常只有60-70%的准确率——尽管对于你的需求来说,这可能已经足够了

一个好的切入点可能是下载,因为有大量的特征提取插件,并且是开源的。你至少会感觉到什么是可能的

更新:art的另一个有用术语是起始检测-这通常用于描述节拍检测算法

是一个C/C++库,用于基音跟踪、起始检测和bpm跟踪等

至于“提取波形的振幅”,波形是振幅,也就是说,您可以每n个样本选择具有最大绝对值的音频样本,并使用该值进行可视化的“振幅”部分

这可能会帮助您开始阅读C#中的波形数据

关于为库编写C#包装器