在 .wav 文件和十六进制编辑器中查找样本数

jam*_*mes 5 audio hex hex-editors wav

需要有关十六进制编辑器和音频文件的帮助。我无法找出获取 .wav 文件中样本数量的公式。

我下载了 StripWav,它告诉我 .waves 中的样本数,但仍然无法弄清楚公式。

能否请您下载这两个 .wavs,在十六进制编辑器中打开它们并告诉我获取样本数量的公式。

如果你这么好心为我做这件事,请告诉我每个 .wav 的样本数,以便我确保公式正确。

http://sinewavemultimedia.com/1wav.wav http://sinewavemultimedia.com/2wav.wav

这是一个问题,我有两个程序,

一个读取 wav 数据,另一个显示 numsamples 这里是数据

RIFF 'WAVE' (wave file)
        <fmt > (format description)
                PCM format
                2 channel
                44100 frames per sec
                176400 bytes per sec
                4 bytes per frame
                16 bits per sample
        <data> (waveform data - 92252 bytes)
Run Code Online (Sandbox Code Playgroud)

但是另一个程序说 NumSamples 是

23,063 samples
Run Code Online (Sandbox Code Playgroud)

/ * ** * ** * UPDATE * ** * ** * ** / 还有一件事我用 2 个文件做了计算 这一个是正确的

92,296 bytes and num samples is 23,063` 
Run Code Online (Sandbox Code Playgroud)

但是另一个没有正确出现它超过2兆我只是减去了44个字节,我在这里做错了吗?这是文件大小

2,473,696 bytes 
Run Code Online (Sandbox Code Playgroud)

但正确的 numsamples 是

 617,400
Run Code Online (Sandbox Code Playgroud)

Mus*_*sis 1

没有简单的公式可以确定 WAV 文件中的样本数量。所谓的“规范”WAV 文件由 44 字节标头和后跟的实际样本数据组成。因此,如果您知道文件每个样本使用 2 个字节,则样本数等于文件大小(以字节为单位)减去 44(对于标头),然后除以 2(因为每个样本有 2 个字节)样本)。

不幸的是,并非所有 WAV 文件都是这样“规范”的。WAV 文件使用 RIFF 格式,因此解析 WAV 文件的正确方法是搜索文件并找到各个块。

这是一个示例(不确定您需要使用什么语言来执行此操作):

http://msdn.microsoft.com/en-us/library/ms712835