Pro*_*ish 6 c# c++ audio amplitude frequency-analysis
实时不一定是必需的,但是我正在为我的最后一年项目创建一个游戏,我希望利用音频的力量来创建仅基于正在播放的音乐曲目的动态水平.我的目标是使用Playstation mobile和C#为PS Vita创建这个游戏,但如果我想我可以切换到C++和PSP.
我可以使用WAV文件,并希望提取波形的幅度,以及从该数据计算平均频率和近似BPM等其他特征以创建一个级别.
我对尝试使用这些原始数据没有任何疑虑,我只是想知道一种方法,我可以先实际获取该信息.如果我可以提取样本并确定这些样本的不同特征,我可以存储它们并计算出响度,音高等变化以创建音符等.
我正在使用C#,但如果可能的话,我可以使用p/invoke或将我的项目切换到另一个使用C++而不是C#的设备.
我在这里有点恐慌,因为我真的有点难过.
非常感谢你们.
您在这里描述的问题是音乐/音频特征提取之一,并且存在大量可供您借鉴的学术工作。另一个有用的搜索术语是音乐信息检索(MIR)。
研究人员试图从录音中检索的“特征”清单庞大且多种多样,从音高和调等确定性事物到“能量”等情感特征。
其中大多数结果比您想象的要困难,并且通常只有 60-70% 左右的准确度 - 尽管对于您的要求来说,这可能已经足够了。
下载Sonic Visualiser可能是一个很好的切入点,它有大量的特征提取插件,并且是开源的。您至少会感受到什么是可能的。
更新:另一个有用的术语是起始检测- 这通常用于描述节拍检测算法。