查找 .wav 标头中的样本数

发布于 2024-11-04 08:13:25 字数 94 浏览 3 评论 0原文

wav 文件有一个标头(44 字节)。在此标头中指定了信号的采样率、通道数等、音频文件的样本数。 我需要知道在哪里可以找到标题中的样本数量信息。

公式是什么。

The wav file has a header (44 bytes). In this header is specified the sample rate of the signal, number of channels and so on, number of samples from the audio file.
I need to know where can I find the number of samples information in the header.

What would be the formula.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

著墨染雨君画夕 2024-11-11 08:13:28

从第 40 个字节开始,接下来的 4 个字节(小端)是 Subchunk2 大小。这也可以从公式中推导出来:

Subchunk2size = NumSamples * NumChannels * BitsPerSample/8

NumChannels 从字节 22 开始,长度为 2 个字节(小尾数)。 BitsPerSample 从第 34 个字节开始,长度为 2 个字节(小尾数)。替换所有这些,您可以得到 NumSamples,即样本数。

例如:如果 Subchunksize2=2048、NumChannels=2 且 BitsPerSample=16,您将得到
2048 = NumSamples * 2 * 2 所以 NumSamples=512

一个好的读物是 此处。

Starting at the 40th byte for the next 4 bytes (little endian) is the Subchunk2 size. This can also be deduced from the formula:

Subchunk2size = NumSamples * NumChannels * BitsPerSample/8

NumChannels start at byte 22 and 2 bytes (little endian) in length. BitsPerSample start at 34th byte and is 2 bytes (little endian) in length. Replacing all these you can get the NumSamples which is the number of samples.

For example: if Subchunksize2=2048, NumChannels=2 and BitsPerSample=16, you get
2048 = NumSamples * 2 * 2 so NumSamples=512

A good read is here.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文