语音信号 Audition中采样值(振幅)跟dB的换算

86 阅读1分钟

最近一直在思考一个转换问题,就是在语音信号方面关于

dB采样值(振幅) dB\Longleftrightarrow 采样值(振幅)

的转换究竟是什么公式?

公式

废话不多说, 结论先行

原始版本

NdB=20lgPrmsPrefN_{dB} = 20\lg_{}{\frac{Prms}{Pref}}

以下是我总结的白话公式:

dB=20log10采样值(振幅)带符号位的(16or8or32)bit的单边最大值dB = 20\log_{10}{\frac{采样值(振幅)}{带符号位的(16or8or32)bit的单边最大值}}

解释下里面的各个参数

  • dB: 就是我们在Audition中见到的

image.png

  • 采样值(振幅)

image.png

  • 带符号位的(16or8or32)bit的单边最大值: 就是我们pcm数据, 或者wav格式的量化的位深 比如语音中常用的带符号的(包含正负)16bit位深单边最大值就是
单边16bit位深=2(16去除最高符号位=15)21=32767单边16bit位深= \frac{2^{(16-去除最高符号位=15)}}{2} - 1 = 32767

实践

使用Audition进行转换 采样值5k, 对应的dB=20log10503832767dB = 20\log_{10}{\frac{5038}{32767}} = -16.26dB

image.png

image.png

image.png

还有一个问题需要思考

我们常用的分贝仪中测试的db值比如(50db, 60db, 70db) 对应到AD软件中的幅值是多少呢? 其实计算公式也是:

NdB=20lgPrmsPrefN_{dB} = 20\lg_{}{\frac{Prms}{Pref}}

只是PrefPref不一样而已,

  • 在AD的换算中PrefPref带符号的量化最大值,

  • 在分贝仪中PrefPref是1

image.png