1

如何在音频缓冲区级别上向上或向下移动 Octave?或者有这个库函数吗?是否有用于确定音频文件某些属性的库或可能允许的(iOS)第 3 方库?例如 BPM、Key 等。或者如何确定这些东西?如何区分音频缓冲区中的节拍?如何从音频数据中提取音频的关键?

4

1 回答 1

3

对于在 iOS 设备上将音高移动一个八度,目前没有内置的音频单元功能。但似乎有一些可用的商业时间音高修改库,例如来自 Dirac 的一个。

似乎有一些名为音高检测器的开源 iOS DSP 代码;但是,请注意,因为其中一些代码似乎只擅长 FFT 频率估计,而在许多情况下,这在音乐音高和键估计方面很差。寻找使用自相关、倒谱分析或其他更高级方法的音高检测/估计代码。

对于 BPM 估计,请参阅以下问题的答案:如何在 php 中检测歌曲的 BPM来自实时音频输入的每分钟节拍数

以上都不是微不足道的,做好这件事可能仍然被认为是DSP和音乐信号处理的研究生级研究课题。

更新:iOS 6 包括 AUNewTimePitch 音频单元,它可以进行非高质量的时间音高修改以将音高移动 2 倍。

于 2012-06-22T01:10:16.877 回答