[英]Read .wav file data for every 160 microseconds
如何从 .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 微秒内应该存在位计数,它是一个正自然数,不能是十进制值。
有人可以帮忙计算吗? 谢谢。
适合时间窗口的采样间隔数
N = length_of_time_window / length_of_sampling_interval =
= length_of_time_window * sampling_frequency = 0.00016 s * 44100 = 7.056
显然,160 微秒的间隔不能被采样间隔整除,但是可以使用 7 个样本,对应 158 微秒。 由于每个样本要存储 2 个通道的数据,每个通道使用 2 个字节,因此字节数为
Bytes = N * channels * bytes_per_sample = 7 samples * 2 channel * 2 bytes_per_sample
= 28 bytes
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.