DTMWiki 编曲中文百科
首页 chevron_right 百科 chevron_right 数字音频处理 chevron_right 可视化监视工具

可视化监视工具

可视化监视工具是一类允许用户实时看到音频相关信息图表的工具

person IAMMRGODIE schedule 更新于 2025-07-07

可视化监视工具

可视化监视工具是一类允许用户实时看到音频相关信息图表的工具。其大致分为 Stereo meter, Spectrogram, Spectrum, Waveform, Oscilloscope, Level meter, Correlation Meter[1].

Stereo meter

Stereo meter 是一种允许用户直观看到当前时间声场分布的图表,其一般绘制方式如下:
设存在数字音频流 L[n]L[n]R[n]R[n] 代表左右声道内容,绘制如下参数方程

{x[n]=L[n]y[n]=R[n]\left\{\begin{matrix} x[n] = L[n] \\ y[n] = R[n] \end{matrix}\right.

得到的图像即为 Stereo meter。在实践中,可能会遇到一些变体,如对 y[n]y[n] 取绝对值并旋转 4545^{\circ} 得到图像(即一些实现如 Minimeters 的 linear 模式)。或者将整体图像映射到上半圆中,具体映射方式如下

{θ[n]=arctanR[n]L[n]ρ[n]=20lg(R[n]2+L[n]2)Lref\left\{\begin{matrix} \theta[n] = \arctan \frac{R[n]}{L[n]} \\ \rho[n] = 20\lg \frac{\sqrt{(R[n]^2 + L[n]^2)}}{L_{ref}} \end{matrix}\right.

此处给出极坐标形式,其中 LrefL_{ref} 为幅度,在 DAW 中一般取 Lref=1.0L_{ref} = 1.0,即 dBFS 量标。

Spectrogram

Spectrogram 是一种允许用户直观看到频率随时间变化的图表,其一般绘制方式如下:
设存在数字音频流 X[n]X[n],对其加窗后进行离散傅里叶变换(即短时傅里叶变换)得到频域信息,由此得到频率信息绘制在以时间为 xx 轴,频率为 yy 轴(一般为对数坐标轴)的图表上得到的即为 Spectrogram. 通常我们还会把音频音量大小映射为不同颜色。

容易发现,Spectrogram 的频率分辨率和时间分辨率与窗函数长度有关,较低的窗函数长度有更高的时间分辨率但更低的频率分辨率,较高的窗函数长度有更高的频率分辨率和更低的时间分辨率。为了解决分辨率不能兼得的问题,实践中一般会使用 Reassignment Method 改进频率分辨率。

Reassignment Method

Reassignment Method 是一种通过估算局部瞬时频率和群延迟信息改进频率分辨率的方法,其一般过程如下:

我们约定模拟信号用圆括号指示,如 X(t,f)X(t, f),离散信号用方括号指示,如 X[m,k]X[m, k]

对于离散信号 x[n]x[n] 对其加窗并进行离散傅里叶变换得到

X[m,k]=n=0N1x[n+mH]W[n]ek2nπNiX[m, k] = \sum\limits_{n = 0}^{N - 1} x[n + mH]W[n]e^{-k\frac{2n\pi }{N}i}

其中 NN窗函数长度,HH 为帧移长度,W[n]W[n] 为窗函数,索引 kk 对应频率,其满足 f=kfsNf = \frac{kf_{s}}{N},其中 fsf_{s} 为采样率,索引 mm 对应时间索引,其满足 t=mHfst = \frac{mH}{f_{s}}.

则瞬时频率在 Reassignment Method 中被修正为(连续形式)

f^(t,f)=f+Im(X(t,f)tX(t,f))2πX(t,f)2\hat{f}(t, f) = f + \frac{\operatorname{Im}\left(\frac{\partial X(t, f)}{\partial t} \cdot \overline{X(t, f)}\right)}{2\pi |X(t, f)|^2}

其中 \overline{\cdot} 表示复共轭。

实践中常用数值方法近似,如中心差分法:

X[m,k]tX[m+1,k]X[m1,k]2Hfs\frac{\partial X[m, k]}{\partial t} \approx \frac{X[m + 1, k] - X[m - 1, k]}{2\frac{H}{f_s}}

带回原式得到离散形式

f^[m,k]=kfsN+Im((X[m+1,k]X[m1,k])X[m,k])2πX[m,k]2fs2H\hat{f}[m, k] = \frac{kf_s}{N} + \frac{\operatorname{Im}\left((X[m + 1, k] - X[m - 1, k]) \cdot \overline{X[m ,k]}\right)}{2\pi |X[m ,k]|^2} \cdot \frac{f_s}{2H}

而群延迟被修正为(连续形式)

t^(t,f)=tRe(X(t,f)fX(t,f))2πX(t,f)2\hat{t}(t, f) = t - \frac{\operatorname{Re}\left(\frac{\partial X(t, f)}{\partial f} \cdot \overline{X(t, f)}\right)}{2\pi |X(t, f)|^2}

在离散情况下,我们交换求和和偏导顺序得到

X[m,k]f=2πin=0N1nx[n+mH]W[n]ek2nπNi\frac{\partial X[m, k]}{\partial f} = -2\pi i\sum\limits_{n = 0}^{N - 1}n x[n + mH]W[n]e^{-k\frac{2n\pi }{N}i}

从而得到

t^[m,k]=mHfsRe(X[m,k]fX[m,k])2πX[m,k]2\hat{t}[m, k] = \frac{mH}{f_s} - \frac{\operatorname{Re}\left(\frac{\partial X[m, k]}{\partial f} \cdot \overline{X[m, k]}\right)}{2\pi |X[m, k]|^2}

从而将每个绘制的频点从 (t,f)(t, f) 修正为 (t^,f^)(\hat{t}, \hat{f})

从实现过程不难看出,Reassignment Method 会增加 Spectrogram 绘制的时间复杂度,因此实践中需要进行一定程度的取舍。

Spectrum

Spectrum 是一种允许用户直观的看见当前时间下频率与音量大小的图表。其以频率为 xx 轴(常取对数),以对应频率音量大小为 yy 轴进行绘制。同样的,其也受到离散傅里叶变换的限制,同时也可以使用 Reassignment Method.

在FL中Spectrum与Spectrogram意义恰好相反。

Waveform/Oscilloscope

Waveform/Oscilloscope 都是允许用户直观的看到采样频点随时间变化的图像。其以时间为 xx 轴,对应的采样点的值 X[n]X[n] 绘制在 yy 方向上得到。不同的是,Waveform 通常会展示固定时间长度的信息,而 Oscilloscope 通常会自动调整时间长度以精确地显示一个合理范围内的周期中的内容。

频率检测方法

为了精确地显示一个周期中的内容,常常会进行频率检测以适配窗口长度,常见的方法如下:

名称 方法概述 优劣
过零检测法 音频具有周期性,因此可以计数单位时间 Δt\Delta t 内零点的个数 NN 得到音频频率,即 f=N2Δt.f = \frac{N}{2\Delta t}. 仅适用于简单情况,遇到复杂波形往往不准确
FFT 利用 FFT 获取信号最强的基频并以此为音频频率。 精确,但计算复杂度相对更大
自相关分析 信号与其时延版本的相关性在周期处达到峰值,由此可以通过分析自相关性得到周期从而求得频率。即寻找 R(τ)=X[n]X[nτ]R(\tau)=\sum X[n]X[n - \tau] 的次峰值 τpeak\tau_{peak} 得到周期 T=τpeakfsT = \frac{\tau_{peak}}{f_s},从而 f=1T.f = \frac{1}{T}. 抗噪性良好,实践中广泛应用,但需要信号存在一定的周期性
峰值检测 信号的峰值应呈周期性出现,因此可以记录及大点的未知并取平均时间结合求得周期得到频率 对高频噪声以及多峰信号敏感,常配合滤波使用
相位锁定环 通过反馈系统锁定输入信号的相位和频率,有鉴相器、环路滤波器、压控振荡器构成 实时跟踪,动态响应但设计复杂,存在收敛时间
倒谱分析 借助倒谱F1{logabs(F{x})}[n]\mathcal{F}^{-1}\{\log \operatorname{abs} (\mathcal{F}\{x\})\}[n] 统计其中显著峰值 qpeakq_{peak} 从而得到频率 f=fsqpeakf = \frac{f_s}{q_{peak}} 其中 fsf_s 是采样率 F\mathcal{F} 是傅里叶变换算符 拥有极其优良的抗干扰性,但计算量大

Level meter

Level meter 是一种允许用户直观看见当前音量的图表,其直接将当前音频帧的音量大小绘制出来。设音频帧 X[n]X[n] 长度为 NN 下表给出了一些常见的衡量音频帧音量大小衡量方法:

名称 公式
均方根 1Ni=0n1X[i]2\sqrt{\frac{1}{N}\sum\limits_{i = 0}^{n - 1}X[i]^2}
平均值 1Ni=0n1X[i]\frac{1}{N}\sum\limits_{i = 0}^{n - 1}X[i]
峰值 max{abs(X[0]),,abs(X[N1])}\max\{\operatorname{abs}(X[0]), \cdots, \operatorname{abs}(X[N - 1])\}

之后会将求得的音量大小值 AA 转换为 dB 量标,即 20lg(ALref)20 \lg (\frac{A}{L_{ref}}), 其中 LrefL_{ref} 为幅度,是一个参考值,编曲实践中常取 Lref=1.0L_{ref} = 1.0 即 dBFS

在实践中也可能会对输入音频帧进行按频率的加权得到 LUFS 量标,被认为是更加符合人耳响度感知的量标。

True Peak

PCM 格式中,在某些特定情况下,两个采样点之间的值可能大于两个采样点本身,导致 Level meter 无法准确的反映原始信号真正的峰值。为了解决这一问题,True Peak 的概念被提出。

设存在数字音频流 X[n]X[n]奈奎斯特-香农采样定理, 假如采样的原始连续信号 x(t)x(t) 的不含高于 BBhz 的频率,则 x(t)x(t) 可以在采样率 fs2Bf_s \ge 2B 的情况下采样得到的 X[n]X[n] 经由如下级数重建

x(t)=n=+X[n]sinc(πfs(tnfs))x(t) = \sum\limits_{n = -\infty}^{+\infty}X[n] \operatorname{sinc} \left(\pi f_s(t - \frac{n}{f_s})\right)

其中

sinc(x):={1x=0sinxxx0\operatorname{sinc}(x) := \left\{\begin{matrix} 1 & x = 0 \\ \frac{\sin x}{x} & x \ne 0 \end{matrix}\right.

则一段音频的 True Peak 值被定义为

Ptrue:=tRx(t)P_{true} := \max\limits_{t \in \mathbb{R}}|x(t)|

在实践中,因为 R\mathbb{R} 上的选择过多,直接寻找 True Peak 往往不可行,因此实践中,往往基于此公式进行超采样得到新的采样点 Y[n]Y[n] 然后求后者的最大值。

实践中 True Peak 常以 dBFS 量标进行呈现。

Correlation Meter

Correlation Meter 是一种允许用户直观看到当前左右声道信号相关性的图表。其一般表现为一维图表,假设左右耳音频流分别为 L[n]L[n]R[n]R[n] 则相关系数直接计算为 r(L,R)=Cov(L,R)Var[L]Var[R]r(L, R) = \frac{Cov(L, R)}{\sqrt{Var[L]Var[R]}} 其中 CovCov 是协方差,VarVar 表示方差。


  1. 标准译名存疑,此处保留英文名词 ↩︎

search Ctrl K ESC
manage_search 输入关键词开始搜索