如何从.wav文件中提取与确定的时间间隔相对应的数据?
我已经得到了几个.wav文件,并要求分隔标题和数据。从获得的数据中,应将与每160微秒相对应的样本分开并复制到缓冲区中。
我现在分离了标题并获得了以下信息:
Channels: 2,
Frames: 632956
Sample Rate: 44100,
Block Align: 4
Valid Bits: 16,
Bytes per sample: 2
对于分离与每160微秒相对应的样本,我无法计算。我尝试了以下方法:
Total bits per 160-microsecond = ((sampling_rate * bit depth) / (time))
= ((44100 * 16) / (160 * 1000000)) = 0.00441 bits.
我确信上面的计算有误,因为每秒有44100个样本,因此在160微秒内应该存在位数,该位数是一个正自然数,不能是十进制值。
有人可以帮助进行此计算吗? 谢谢。
答案 0 :(得分:0)
如果采样率为44.1kHz,则意味着样本之间存在1/44100的间隙或约22.675uSec。
160uSec帧大约有7个样本(160 / 22.675 = 7.05),因此您必须读取7个样本。
请记住,您的文件包含2个通道,深度为2个字节,因此在160uSec帧内,您有28个字节-每个通道14个字节。