创建音频电平表 - 信号归一化

时间:2015-01-13 08:09:36

标签: audio signal-processing normalization

我有实时跟踪音频信号的程序。每个处理过的样本我能够在< -1,1>之间的范围内读取它的值。

我想创建(以及稍后显示)音频电平表。根据我的理解 - 要做到这一点,我需要将每个通道上的音频信号实时转换为dB,然后以某种图形形式显示每个通道的dB值。

我有点失落怎么做,这应该是简单的事情。只是从< -1,1>归一化了。至< 0,1> (比如...... [n-sample +1] / 2)然后从每个即将到来的样本中计算20 * log10吧?

1 个答案:

答案 0 :(得分:2)

你不能直接绘制信号,因为它总是变化正负。

因此,您需要每隔这么多样本平均信号强度。

假设你以44.1kHz采样,也许你可以选择4410个样本,这样你每秒钟就会更新你的显示器10次。

因此,您计算4410个样本的RMS - 请参阅http://en.wikipedia.org/wiki/Root_mean_square

RMS值始终为正。

然后您可以将其转换为Db:

dBV = 20 x log10(Vrms)

这假设您的最大信号-1到+1对应-1到+1伏。如果没有,您将需要进行进一步调整。