1

我有一些 .wav 格式的声音数据,我想从该文件中提取不同录音时间点的声压级数据,以 dB 为单位,这样我就知道录音在哪个时间点的音量有多大。我已经下载了 r 包 bioacoustics、seewave 和 phonTools,但找不到一个只给我 .wav 文件的 dB 值的函数。有任何想法吗?

谢谢!

4

2 回答 2

1

在您提到的库中找不到提取分贝值的函数的原因很简单:它不存在。麦克风将声音的压力波转换为电压变化,并将它们记录为字节流。在数字音频中,幅度以低于满量程 (dBFS) 的分贝测量。最大可能幅度为 0 dBFS,它对应于用于存储数据的数据类型的最大绝对值。

dBFS 与声学分贝有关,但对应关系并不直接。您需要了解麦克风的特性,例如频率响应、增益。

一旦你有了这些,设计一个应用A 加权的滤波器,它将记录的 dBFS 转换为 dBSPL(A) - 声压级测量,相对于 20 μPa RMS 气压,A 加权。

于 2021-09-20T14:49:21.990 回答
0

卢卡斯是正确的。但是,如果您正在寻找一些快速而简单的函数来计算 .wav 文件的幅度包络,那么请查看包 seewave 的 env 函数

于 2021-09-23T15:22:17.577 回答