音频基础知识相关(持续更新...)
说明
本博客用于记录本人在学习过程中,学到的有价值的音频知识,以及看过的有价值的音频相关文章。
零散但有用的的音频知识
- STFT 本质:分帧 + FFT。
- FFT 对时域上的
N
N
N 个点做变换得到频域上的
N
N
N 个点,第
n
n
n 个点对应的频率为:
F s ∗ ( n − 1 ) N , n = 0 , 1 , . . . , N − 1 \frac{F_s * (n - 1)}{N}, n=0,1,...,N-1 NFs∗(n−1),n=0,1,...,N−1
其中, F s F_s Fs 表示采样率。第 0 0 0 个点对应直流分量。 - 因为 FFT 具有对称性,当N为偶数时取 N 2 + 1 \frac{N}{2}+1 2N+1 个点,当N为奇数时,取 N + 1 2 \frac{N+1}{2} 2N+1 个点,比如 N N N 为 512 时最后会得到 257 个值。
评测指标
-
PESQ
PESQ (Perceptual evaluation of speech quality) 是一种客观的端到端语音质量评估方法,其包含三种标准:- PESQ-NB: ITU-T P.862 (02/2001): Perceptual evaluation of speech quality (PESQ): An objective method for end-to-end speech quality assessment of narrow-band telephone networks and speech codecs
- PESQ-NB (MOS-LQO版本): ITU-T P.862.1 (11/2003): Mapping function for transforming P.862 raw result scores to MOS-LQO
- PESQ-WB: ITU-T P.862.2 (11/2007): Wideband extension to Recommendation P.862 for the assessment of wideband telephone networks and speech codecs
PESQ-NB (MOS-LQO版本) 对 PESQ 的进行变换,将其转化为 MOS-LQO (遵循 ITU-T P800.1 标准),映射函数为:
y = 0.999 + 4.999 − 0.999 1 + e − 1.4945 ∗ x + 4.6607 y = 0.999 + \frac{4.999 - 0.999}{1 + e^{-1.4945 * x + 4.6607}} y=0.999+1+e−1.4945∗x+4.66074.999−0.999
其中, x x x 表示原始的 PESQ-NB 值, y y y 表示转化为 MOS-LQO 后的值。而 PESQ-WB 则没有像 PESQ-NB 一样有两个版本,这主要是因为在制定 PESQ-WB 标准时,就已经把类似于上述转换的映射考虑进去了。更多细节参见官方提供的标准说明书。注意:在阅读论文中的实验结果时,或者使用开源工具计算指标时,需要注意 PESQ-NB 使用的是哪个标准。经验性地发现,一些论文中如果没有特别指明,PESQ-NB 指的是 ITU-T P.862 标准。同样的数据,数值大小通常是:PESQ-NB > PESQ-NB (MOS-LQO版本) > PESQ-WB。
-
The P.808 Toolkit
微软开源的一个基于 ITU-T Recommendation P.808 的实现及拓展,可以运行在 Amazon Mechanical Turk (AMT) 上进行面向大众的主观语音质量评测。详见 Github。 -
DNSMOS
微软的一个基于深度神经网络的噪声消除客观 MOS 估计模型,其训练数据来源于基于 P.808 Toolkit 获取得到的主观评测指标。需要发邮件申请使用,详见 Github 以及相应论文 paper。 -
AECMOS
微软的一个基于深度神经网络的回声消除客观 MOS 估计模型,其训练数据来源于基于 P.808 Toolkit 获取得到的主观评测指标。需要发邮件申请使用,详见 Github 。
有用的文章
[1] STFT(短时傅里叶变换)音频特征提取,用于语音识别 python_人间兵库saleng的博客-程序员宅基地_stft