为什么在计算 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/sample
是 sample_rate x duration_in_seconds x num_of_channels x bit_depth
,这又是 总位数
主要的混淆可能来自 bits 和 bytes。音频样本大小通常用 bitdepth 而非 bytedepth.文件大小/内存通常以 字节 来描述。要从 bits 到 bytes 你只需除以 8.
所以基本上,我认为计算 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/sample
是sample_rate x duration_in_seconds x num_of_channels x bit_depth
,这又是 总位数
主要的混淆可能来自 bits 和 bytes。音频样本大小通常用 bitdepth 而非 bytedepth.文件大小/内存通常以 字节 来描述。要从 bits 到 bytes 你只需除以 8.