デジタルオーディオは、音のレベルを毎秒数千回も繰り返し計測した長い測定値の一覧です。これら一つひとつの測定値をサンプルと呼びます。Sample Format は、1 つのサンプルがどのように記録されるか、つまり何ビットを使うか、どのような種類の数値かを表します。
どのファイルがそれを保持しているかと、その値の由来
このフィールドはオーディオデータに属するため、WAV、FLAC、MP3、AAC、OGG といったオーディオファイルや、MP4、MOV、MKV などの動画ファイル内のオーディオトラックに含まれます。多くのメタデータレポートでは、この名前を sample_fmt と短縮しており、fmt は format(フォーマット)の略です。
WAV のような非圧縮フォーマットでは、この値は録音機器や保存に使われたソフトウェアが選んだ、そのファイル固有の属性です。圧縮フォーマットの場合は、ファイルを再生するときにデコーダーが生成するサンプルを表します。そのため、中身自体はそう見えなくても、一般的な MP3 ファイルが浮動小数点フォーマットとして報告されることがあります。
値の見え方
値は、文字と数字、場合によっては末尾の p から成る短いコードです。
u8- 符号なし 8 ビットs16- 符号付き 16 ビットs32- 符号付き 32 ビットflt- 32 ビット浮動小数点dbl- 64 ビット浮動小数点s16p,s32p,fltp,dblp- 同じフォーマットをプレーナー形式で格納
コード中の文字は数値の種類を表します。s は 0 より小さい値と大きい値を扱える符号付き整数、u は符号なし整数、flt と dbl は非常に小さい音から非常に大きい音までクリッピングなしで扱える浮動小数点数で、オーディオエディタが扱う形式です。数字はサンプルあたりのビット数です。sample_fmt: s16 と表示されていれば、各サンプルがオーディオ CD と同じ符号付き 16 ビットであることを意味します。24 ビットで録音された音声は、通常 32 ビットフォーマットで保持されるため、s32 はよく見かける値です。
末尾の p はプレーナー (planar) を意味します。これが付かない場合、チャンネルは「左サンプル、右サンプル、左サンプル」というようにインターリーブされています。付いている場合は、各チャンネルがそれぞれ独立したブロックに分かれて格納されます。どちらでも聞こえる音は同じであり、違いがあるのはデータを読むソフトウェア側だけです。
それが重要な理由
サンプルあたりのビット数が多いほど、そのファイルが表現できる最も小さい音から最も大きい音までの段階が細かくなり、小さな音のディテールが残りやすくなり、丸めによるかすかなザラついたノイズも少なくなります。このため、スタジオでは 24 ビットで録音し、浮動小数点でミックスし、その後 16 ビットで納品します。
この値はファイルサイズにも影響します。非圧縮ファイルでは、16 ビットから 24 ビットに増やすと、長さやサンプルレートを変えなくてもオーディオデータのサイズは 1.5 倍になります。また互換性にも影響します。多くのハードウェアプレーヤー、CD ライター、古いプログラムは 16 ビット整数にしか対応していないため、浮動小数点のマスターは、どこでも再生できるように変換する必要がある場合がよくあります。このフィールドには、ユーザーや所在地、使用機器に関する情報は含まれません。