音声ファイルフォーマット
音声の符号化には、大別してパルス符号変調(PCM)方式に基づくものと、パルス密度変調(PDM)方式に基づくものとがある。CD-DAやDVD-Audioに使用される方式は前者であり、Super Audio CDに使用される方式は後者である。リニアPCMは音声信号の強度を特定の量子化ビット数(ビット深度)の数値として表現し、一定の時間間隔(サンプリング周波数)で標本化する。音声信号の強さの代わりに、音声信号の強さの(時間)差分を符号化する方式として差分パルス符号変調(DPCM)や適応的差分パルス符号変調(ADPCM)がある。一方でPDMは音声の波の疎密を1bitで表現して一定の間隔で標本化する。
これらのデータは圧縮されずに格納されるか、ファイルサイズを削減するために圧縮して格納される。その際に、どのような構造で格納されるかを規定するものがファイルフォーマットである。例えば、生のPCMデータは 量子化ビット数[bit/sample]×サンプリング周波数[sample/sec]×時間[sec] で定まる長さのビット列として表されるが、これを音声データとして解釈する場合、それがPCMで符号化された音声であること、量子化ビット数、サンプリングレートなどの情報(メタデータ)が必要である。
可逆圧縮の為、元データと同一のデータを保持したままサイズを削減することができる。全てのフォーマットの音質は同一の為、圧縮率、エンコード・デコードの計算リソース、付加機能、再生環境等を比較する事により有用性を判断することができる。
TAK - 圧縮率、エンコード・デコード速度、機能面共にバランスの取れた総合的に高い性能を誇る。フリーウェアだがオープンソースではない。
FLAC - エンコード・デコード速度、機能面に高い性能を誇る。圧縮率は低いが最もメジャーなコーデックのひとつ。ファイルフォーマットも兼ねている。
Monkey's Audio(ape) - 可逆圧縮コーデックでありフォーマット。OSSで圧縮率、エンコード速度に高い性能を誇るが、Windows以外のOSに公式非対応という欠点がある。デコード速度は遅い。
TTA - 平均的にバランスの取れた性能。
WavPack - 平均的にバランスの取れた性能。非可逆ファイルと差分ファイルを生成することで、非可逆音声と可逆音声の両方として扱うことのできる、ハイブリッドモードがある。
WAV、FLAC、AIFF、ALAC
Matroska Audio - フリーでオープンソースな汎用コンテナフォーマットであり、各種コーデックをサポートしている。
Ogg - フリーでオープンソースな汎用コンテナフォーマットであり、各種コーデックをサポートしている。最も一般に使われるコーデックは Vorbis である。
Opus - Vorbisと同等にパテントフリーなコーデックである。
AU - サン・マイクロシステムズの標準音声ファイルフォーマット。Javaでも使われている。PCM そのまま以外に、μ-law、A-law、G.729 といった可逆・非可逆コーデックを格納できる。
EBU Technical document 3285, July 1997 を参照。このフォーマットは録音時のフォーマットとして、テレビや映画業界で使われる多くのオーディオワークステーションで採用されている。SMPTEタイムコードをファイルに含めることができるため、別に録画された画像と同期をとるのが容易である。
可逆圧縮を伴うフォーマットでは、録音や再生の際に余分な処理が必要となるが、大量の録音をする場合にはストレージ容量の節約という点で効率的と言える。WAV(正確にはリニアPCM)などの非圧縮形式は、録音対象が複雑な音楽でも全くの静寂であっても、単位時間当たりに同じ量のビットを記録する。例えば、オーケストラの演奏のような複数の音が混じる場合でも、全く音がしない状況でも、非圧縮の場合、単位時間当たりのファイルサイズは同じである。同じものを可逆圧縮方式であるTTAで符号化した場合、前者のファイルはある程度小さくなり、後者のファイルはほとんどゼロに近いサイズになるだろう。しかし、音声データをTTAで符号化するには、非圧縮(何も処理をしない)よりも処理時間がかかる。