如何计算音频文件大小?
Posted
技术标签:
【中文标题】如何计算音频文件大小?【英文标题】:How to calculate audio file size? 【发布时间】:2012-11-13 10:09:19 【问题描述】:您有 30 秒的音频文件,以 44.1 KHz 的速率采样并使用 8 位进行量化;计算此文件的单声道和立体声版本的比特率和大小 ؟؟
【问题讨论】:
你尝试过什么样的计算? kHz = "1000 per second", bitrate = "bits per second" - 数学相当明显。 文件大小单声道 30 * 44.1 = 1323 K 立体声 30 * 44.1 * 2 =2646k ------------------------- -------------- 比特率 = 文件大小/秒 ------------------------------但我对这一行的问题“并使用 8 位量化”它将如何影响数学??? @OsamaAl-far “使用 8 位量化”是毫无意义的。你能更好地描述你想要做什么吗?您的意思是音频以每个样本 8 位进行采样吗? @Brad 但在问题上它要求计算比特率,它等于 8 吗?? 【参考方案1】:假设未压缩的 PCM 音频...
time * sampleRate * bitsPerSample * channelCount
44.1kHz、8bps 的 30 秒单声道音频,即 1,323,000 字节。对于立体声,这是两个通道,所以加倍。
【讨论】:
30 * 44.1 * 8 = 10584 。你是如何计算出 1,323,000 字节的。 ? 44.1k = 44100,不是 44.1,所以 30*44100*8。 @OsamaAl-far 要从位到字节,您必须除以 8【参考方案2】:比特率是每秒的比特数。
bitrate = bitsPerSample * samplesPerSecond * channels
所以在这种情况下,立体声比特率为 8 * 44100 * 2 = 705,600kbps
要获取文件大小,请将比特率乘以持续时间(以秒为单位),然后除以 8(从比特到字节):
fileSize = (bitsPerSample * samplesPerSecond * channels * duration) / 8;
所以在这种情况下,30 秒的立体声将占用 (8 * 44100 * 2 * 30) / 8 = 2,646,000 字节
【讨论】:
你保存了我的考试! 我很确定这里的单位是错误的比特率计算?你确定你不是指每秒 705,600 比特而不是每秒 705,600 千比特......?【参考方案3】:公式 = 采样率 x 采样位 x 通道数 x 时间(以秒为单位)/8x1024
CD 质量(采样率)= 44.1Khz
Size of mono = (44 100 x 8 x 1 x 30) / 8 x 1024
= 1291.99KB
= 1.26 MB
Size of Stereo = (44 100 x 8 x 2 x 30) / 8 x 1024
= 2583.98 KB
= 2.52 MB
≈ 2.5 MB
【讨论】:
别忘了 CD 质量确实是 44.1khz,但 16 位,而不是 8 位。即使问题要求 8 位,这可能读起来有点混乱。以上是关于如何计算音频文件大小?的主要内容,如果未能解决你的问题,请参考以下文章
怎样根据视频码率/音频码率/分辨率/时间长度/视频压缩格式/帧率,计算视频文件的大小?