0

私はsdlでいくつかのプログラミングを行っています。その前に、以下のプロパティを示す音楽ファイルを取得しました。

bit rate = 64kbps
audio sample rate = 8bit
channel = 1
audio sample rate = 8khz
audio format = pcm

長さは 26 秒ですが、8KHz * 8bit * 26 秒を使用すると 206Kb にならないため、206Kb になる方法を知りたいですか? それから私の音楽チャンク alen は私にこのサイズ 3435760 を与えますか?

4

1 に答える 1

1

サイズが KB (IE KiloBYTES、big B) ではありませんか? これは、使用されているサンプル レートとビット深度と密接に一致します。

(8 ビット/サンプル) * (8000 サンプル/秒) * (26 秒) * (1 バイト / 8 ビット) = 208 キロバイト

更新: コメントに返信して、質問に投稿された単位を式の単位に変換する方法の詳細を次に示します。

オーディオ サンプル レート = 8khz。これは、オーディオの 1 秒あたりのオーディオ サンプル数です。この場合、1 秒あたり 8000 サンプルなので、これは式の (8000 サンプル / 秒) の部分と同じです。

オーディオ ビット レート = 8 ビット: これはおそらくタイプミスです。代わりに、この値を「ビット深度」として意味していました。ビット深度は、オーディオの 1 つのサンプルのサイズです。これは、式の (8 ビット / サンプル ) 部分に相当します。

ビット レート 64 kbps : これは、オーディオ ファイルがオーディオの 1 秒ごとに 64000 ビットを消費することを意味します。これは、式の (8 ビット / サンプル) * (8000 サンプル / 秒) と同じです。したがって、ビット レートはビット深度 * サンプル レートから計算されることがわかります。

また、(1 バイト / 8 ビット) を明確にするために、これは単位をビットからバイトに変換するだけなので、結果を 8 で割るだけです。

于 2013-10-10T19:08:54.187 に答える