Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jsf-2/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Audio 如何计算音频动态范围?_Audio_Wav - Fatal编程技术网

Audio 如何计算音频动态范围?

Audio 如何计算音频动态范围?,audio,wav,Audio,Wav,在Wiki中,“动态范围”定义为“最大可能未失真正弦波的振幅与均方根(rms)噪声振幅之比”,但我不清楚如何使用这些操作数 我已经读入了一个未压缩的.wav文件。它每个样本使用16位,我已经将这些字节转换为整数(范围从-32768到32767)。最大整数为31692,最小整数为32764。那我下一步该怎么办?我看到了公式“20*log(高/低)”,但它似乎并不直接起作用。你能告诉我计算步骤吗?谢谢。我已经解决了这个问题。实际上,“20*log(高/低)”的公式是有效的。“high”应该是abs(

在Wiki中,“动态范围”定义为“最大可能未失真正弦波的振幅与均方根(rms)噪声振幅之比”,但我不清楚如何使用这些操作数


我已经读入了一个未压缩的.wav文件。它每个样本使用16位,我已经将这些字节转换为整数(范围从-32768到32767)。最大整数为31692,最小整数为32764。那我下一步该怎么办?我看到了公式“20*log(高/低)”,但它似乎并不直接起作用。你能告诉我计算步骤吗?谢谢。

我已经解决了这个问题。实际上,“20*log(高/低)”的公式是有效的。“high”应该是abs(-32764)=32764,low应该是最接近0的值,而不是0,在我的文件中是1。因此,动态范围是20*log10(32764/1)=90 dB。

我认为使用Wikipedia的定义测试音频文件的动态范围没有意义。这是用来计算诸如信噪比之类的东西(例如,测试麦克风、扬声器等),需要有信号处理方面的背景才能理解。你确定你在寻找音频文件的动态范围而不是其他内容吗?@Anthony谢谢。这是我的项目问题之一。它读取wav文件并显示其动态范围。它说“动态范围定义为流中最高功率与最低功率(非零)之间的比率,以分贝为单位”。