【发布时间】:2021-09-20 11:47:12
【问题描述】:
我有一些 .wav 格式的声音数据,我想从该文件中提取不同录音时间点的声压级数据,以 dB 为单位,这样我就知道在哪个时间点录音的音量有多大。 我已经下载了 r 包 bioacoustics、seewave 和 phonTools,但找不到一个只给我 .wav 文件的 dB 值的函数。 有什么想法吗?
谢谢!
【问题讨论】:
我有一些 .wav 格式的声音数据,我想从该文件中提取不同录音时间点的声压级数据,以 dB 为单位,这样我就知道在哪个时间点录音的音量有多大。 我已经下载了 r 包 bioacoustics、seewave 和 phonTools,但找不到一个只给我 .wav 文件的 dB 值的函数。 有什么想法吗?
谢谢!
【问题讨论】:
在您提到的库中找不到提取分贝值的函数的原因很简单:它不存在。麦克风将声音的压力波转换为电压变化并将它们记录为字节流。在数字音频中,幅度以低于满量程 (dBFS) 的分贝测量。最大可能幅度为 0 dBFS,对应于用于存储数据的数据类型的最大绝对值。
dBFS 与声学分贝有关,但不直接对应。您需要知道麦克风的特性,例如频率响应,增益。
一旦你有了这些,设计一个应用 A-weighting 的滤波器,它将记录的 dBFS 转换为 dBSPL(A) - 声压级测量,相对于 20 μPa RMS 气压,A 加权。
【讨论】:
卢卡斯是正确的。但是,如果您正在寻找一些快速而简单的函数来计算 .wav 文件的幅度包络,那么请查看env function of package seewave。
【讨论】: