如何在iOS 5上以编程方式规范化PCM音频样本?

时间:2012-01-19 15:49:27

标签: iphone ios audio normalization

我正在使用AVAudioRecorder录制16位线性PCM文件,并将其保存到CAF文件中。

现在我要规范化录制的音频。 我找不到任何可以让我为iPhone执行此操作的Apple或第三方库!

1 个答案:

答案 0 :(得分:1)

峰值标准化采用此通用形式,您需要进行一些转换,优化和错误检查才能添加16位信号:

double* const buffer(...);
const size_t length(...);

double max(0);
// find the peak
for (size_t idx(0); idx < length; ++idx)
  max = std::max(max, buffer[idx]);
// process
double mul(1.0/max);
for (size_t idx(0); idx < length; ++idx)
  buffer[idx] *= mul;