为什么在计算 PCM 文件大小时要将位深度除以 8?

Why do you divide bit depth by 8 when computing PCM file size?

所以基本上,我认为计算 pcm 文件大小的公式如下:

fileSize(in bits) = samples_per_sec x seconds x number_of_channels

它对我来说工作得很好,因为我专门处理 8 位深度的 pcm 文件。 当我开始处理 16 位深度文件时,公式并没有产生准确的结果。 通过一些谷歌搜索我发现我的上述公式是错误的,实际上你必须坚持这个:

fileSize(in bits) = samples_per_sec x seconds x number_of_channel x bit_depth/8

它解释了为什么我使用不正确的公式得到了正确的结果,因为 8 / 8 = 1。

我不明白的是:为什么必须将位深度除以八?
为了获得计算结果的位,您还必须将它们放在公式的右侧:

bits = samples/seconds x seconds x  num_of_channels(dimensionless) x bits/sample = bits

很好。所以,它应该在不被八除法的情况下工作。但事实并非如此。 我哪里错了?

您的记法风格:

  • samples_per_sec x seconds x number_of_channels 样本总数

  • samples_per_sec x seconds x number_of_channel x bit_depth 总位数

  • samples_per_sec x seconds x number_of_channel x bit_depth / 8 字节的总数

  • samples/seconds x seconds x num_of_channels(dimensionless) x bits/samplesample_rate x duration_in_seconds x num_of_channels x bit_depth,这又是 总位数

主要的混淆可能来自 bitsbytes。音频样本大小通常用 bitdepth 而非 bytedepth.文件大小/内存通常以 字节 来描述。要从 bitsbytes 你只需除以 8.