音声ファイル: Difference between revisions
音声ファイルの構造、codec、container、拡張子、圧縮方式の分類を詳説 |
NekoDensen (talk | contribs) Marked this version for translation |
||
| Line 2: | Line 2: | ||
<translate> | <translate> | ||
<!--T:1--> | |||
'''音声ファイル'''(audio file)は、音声信号または音声に関係するデータをコンピューター上のファイルとして保存したものである。録音、音楽制作、配信、放送、映像制作、ゲーム、音声認識、アーカイブなどで広く用いられる。 | '''音声ファイル'''(audio file)は、音声信号または音声に関係するデータをコンピューター上のファイルとして保存したものである。録音、音楽制作、配信、放送、映像制作、ゲーム、音声認識、アーカイブなどで広く用いられる。 | ||
<!--T:2--> | |||
音声ファイルを理解する際には、'''ファイル形式、コンテナ、コーデック、圧縮方式、ファイル拡張子'''を区別することが重要である。日常的にはこれらがまとめて「フォーマット」と呼ばれることも多いが、技術的には異なる概念である。 | 音声ファイルを理解する際には、'''ファイル形式、コンテナ、コーデック、圧縮方式、ファイル拡張子'''を区別することが重要である。日常的にはこれらがまとめて「フォーマット」と呼ばれることも多いが、技術的には異なる概念である。 | ||
<!--T:3--> | |||
== 基本構造 == | == 基本構造 == | ||
デジタル音声は、[[<tvar name=1>Special:MyLanguage/Sample rate</tvar>|サンプルレート]]、[[<tvar name=2>Special:MyLanguage/Bit depth</tvar>|ビット深度]]、チャンネル数などを持つサンプル列として表現できる。 | デジタル音声は、[[<tvar name=1>Special:MyLanguage/Sample rate</tvar>|サンプルレート]]、[[<tvar name=2>Special:MyLanguage/Bit depth</tvar>|ビット深度]]、チャンネル数などを持つサンプル列として表現できる。 | ||
<!--T:4--> | |||
ファイルへ保存する際には、 | ファイルへ保存する際には、 | ||
<!--T:5--> | |||
* 音声サンプルそのもの | * 音声サンプルそのもの | ||
* 圧縮された音声ビットストリーム | * 圧縮された音声ビットストリーム | ||
| Line 17: | Line 22: | ||
* チャンク、フレーム、インデックス等の構造情報 | * チャンク、フレーム、インデックス等の構造情報 | ||
<!--T:6--> | |||
を一定の規則に従って格納する。 | を一定の規則に従って格納する。 | ||
<!--T:7--> | |||
== ファイル形式、コーデック、コンテナ == | == ファイル形式、コーデック、コンテナ == | ||
=== コーデック === | === コーデック === | ||
[[<tvar name=3>Special:MyLanguage/Codec</tvar>|コーデック]]は、音声データを特定の符号化方式へ変換し、また復号する方法を指す。 | [[<tvar name=3>Special:MyLanguage/Codec</tvar>|コーデック]]は、音声データを特定の符号化方式へ変換し、また復号する方法を指す。 | ||
<!--T:8--> | |||
代表例には、 | 代表例には、 | ||
<!--T:9--> | |||
* [[<tvar name=4>Special:MyLanguage/MP3</tvar>|MP3]] | * [[<tvar name=4>Special:MyLanguage/MP3</tvar>|MP3]] | ||
* [[<tvar name=5>Special:MyLanguage/AAC</tvar>|AAC]] | * [[<tvar name=5>Special:MyLanguage/AAC</tvar>|AAC]] | ||
| Line 32: | Line 41: | ||
* Vorbis | * Vorbis | ||
<!--T:10--> | |||
などがある。 | などがある。 | ||
<!--T:11--> | |||
=== コンテナ / wrapper === | === コンテナ / wrapper === | ||
[[<tvar name=7>Special:MyLanguage/Container format</tvar>|コンテナ形式]]は、音声ビットストリームやメタデータを一つのファイル構造へ格納する枠組みである。 | [[<tvar name=7>Special:MyLanguage/Container format</tvar>|コンテナ形式]]は、音声ビットストリームやメタデータを一つのファイル構造へ格納する枠組みである。 | ||
<!--T:12--> | |||
代表例には、 | 代表例には、 | ||
<!--T:13--> | |||
* [[<tvar name=8>Special:MyLanguage/WAV</tvar>|WAV]] | * [[<tvar name=8>Special:MyLanguage/WAV</tvar>|WAV]] | ||
* [[<tvar name=9>Special:MyLanguage/AIFF</tvar>|AIFF]] | * [[<tvar name=9>Special:MyLanguage/AIFF</tvar>|AIFF]] | ||
| Line 45: | Line 58: | ||
* CAF | * CAF | ||
<!--T:14--> | |||
などがある。 | などがある。 | ||
<!--T:15--> | |||
WAVやAIFFはLPCMを格納する用途で特に有名だが、形式そのものとPCM符号化は同一ではない。 | WAVやAIFFはLPCMを格納する用途で特に有名だが、形式そのものとPCM符号化は同一ではない。 | ||
<!--T:16--> | |||
Library of CongressはWAVEを、audio bitstreamと各種data chunkを格納できるwrapper file formatとして整理している。<ref name="loc-wave">[https://www.loc.gov/preservation/digital/formats/fdd/fdd000001.shtml Library of Congress, ''WAVE Audio File Format'']</ref> | Library of CongressはWAVEを、audio bitstreamと各種data chunkを格納できるwrapper file formatとして整理している。<ref name="loc-wave">[https://www.loc.gov/preservation/digital/formats/fdd/fdd000001.shtml Library of Congress, ''WAVE Audio File Format'']</ref> | ||
<!--T:17--> | |||
=== ファイル拡張子 === | === ファイル拡張子 === | ||
<code>.wav</code>、<code>.mp3</code>、<code>.flac</code>、<code>.m4a</code>、<code>.aif</code>などは、OSやアプリケーションがファイル種別を識別するために使う名称である。 | <code>.wav</code>、<code>.mp3</code>、<code>.flac</code>、<code>.m4a</code>、<code>.aif</code>などは、OSやアプリケーションがファイル種別を識別するために使う名称である。 | ||
<!--T:18--> | |||
拡張子だけで内部コーデックが一意に決まらない形式もある。 | 拡張子だけで内部コーデックが一意に決まらない形式もある。 | ||
<!--T:19--> | |||
たとえば[[<tvar name=10>Special:MyLanguage/M4A</tvar>|M4A]]はAACを格納することも、ALACを格納することもできる。AppleのLogic ProはM4AのencodingとしてAACまたはApple Lossless(ALAC)を選択できる。<ref name="apple-m4a">[https://support.apple.com/ja-jp/guide/logicpro-ipad/lpipaf481b01/ipados Apple, ''M4Aファイルのオプション'']</ref> | たとえば[[<tvar name=10>Special:MyLanguage/M4A</tvar>|M4A]]はAACを格納することも、ALACを格納することもできる。AppleのLogic ProはM4AのencodingとしてAACまたはApple Lossless(ALAC)を選択できる。<ref name="apple-m4a">[https://support.apple.com/ja-jp/guide/logicpro-ipad/lpipaf481b01/ipados Apple, ''M4Aファイルのオプション'']</ref> | ||
<!--T:20--> | |||
== 圧縮による分類 == | == 圧縮による分類 == | ||
音声ファイルはデータ量の扱いから大きく、 | 音声ファイルはデータ量の扱いから大きく、 | ||
<!--T:21--> | |||
* [[<tvar name=11>Special:MyLanguage/非圧縮音声ファイル</tvar>|非圧縮]] | * [[<tvar name=11>Special:MyLanguage/非圧縮音声ファイル</tvar>|非圧縮]] | ||
* [[<tvar name=12>Special:MyLanguage/可逆圧縮音声ファイル</tvar>|可逆圧縮]] | * [[<tvar name=12>Special:MyLanguage/可逆圧縮音声ファイル</tvar>|可逆圧縮]] | ||
* [[<tvar name=13>Special:MyLanguage/非可逆圧縮音声ファイル</tvar>|非可逆圧縮]] | * [[<tvar name=13>Special:MyLanguage/非可逆圧縮音声ファイル</tvar>|非可逆圧縮]] | ||
<!--T:22--> | |||
へ分類できる。 | へ分類できる。 | ||
<!--T:23--> | |||
{| class="wikitable" | {| class="wikitable" | ||
! 分類 !! 復号後 !! 代表例 | ! 分類 !! 復号後 !! 代表例 | ||
| Line 77: | Line 100: | ||
|} | |} | ||
<!--T:24--> | |||
== 非圧縮 == | == 非圧縮 == | ||
非圧縮音声では、LPCMなどのサンプル値を圧縮せず保存する。 | 非圧縮音声では、LPCMなどのサンプル値を圧縮せず保存する。 | ||
<!--T:25--> | |||
編集や録音の中間形式として扱いやすく、エンコード/デコード負荷も小さい一方、ファイルサイズは大きくなる。 | 編集や録音の中間形式として扱いやすく、エンコード/デコード負荷も小さい一方、ファイルサイズは大きくなる。 | ||
<!--T:26--> | |||
DAWではWAVまたはAIFFのPCMが代表的である。 | DAWではWAVまたはAIFFのPCMが代表的である。 | ||
<!--T:27--> | |||
== 可逆圧縮 == | == 可逆圧縮 == | ||
[[<tvar name=14>Special:MyLanguage/Lossless compression</tvar>|可逆圧縮]]では、統計的冗長性などを利用してデータ量を減らすが、復号すると元のサンプル列を完全に復元できる。 | [[<tvar name=14>Special:MyLanguage/Lossless compression</tvar>|可逆圧縮]]では、統計的冗長性などを利用してデータ量を減らすが、復号すると元のサンプル列を完全に復元できる。 | ||
<!--T:28--> | |||
FLACやALACが代表的である。 | FLACやALACが代表的である。 | ||
<!--T:29--> | |||
Xiph.OrgのFLACはSTREAMINFOにサンプルレート、チャンネル数、ビット深度、元PCMのMD5 signatureなどを保持できる。<ref name="xiph-flac">[https://xiph.org/flac/documentation_format_overview.html Xiph.Org, ''FLAC Format overview'']</ref> | Xiph.OrgのFLACはSTREAMINFOにサンプルレート、チャンネル数、ビット深度、元PCMのMD5 signatureなどを保持できる。<ref name="xiph-flac">[https://xiph.org/flac/documentation_format_overview.html Xiph.Org, ''FLAC Format overview'']</ref> | ||
<!--T:30--> | |||
== 非可逆圧縮 == | == 非可逆圧縮 == | ||
[[<tvar name=15>Special:MyLanguage/Lossy compression</tvar>|非可逆圧縮]]では、知覚上重要度の低い情報を除去したり、量子化精度を削減したりして高い圧縮率を得る。 | [[<tvar name=15>Special:MyLanguage/Lossy compression</tvar>|非可逆圧縮]]では、知覚上重要度の低い情報を除去したり、量子化精度を削減したりして高い圧縮率を得る。 | ||
<!--T:31--> | |||
MP3やAACは代表的な知覚符号化方式である。 | MP3やAACは代表的な知覚符号化方式である。 | ||
<!--T:32--> | |||
Library of CongressはMP3をpsychoacoustic modelに基づくperceptual codingとして説明している。<ref name="loc-mp3">[https://www.loc.gov/preservation/digital/formats/fdd/fdd000012.shtml Library of Congress, ''MP3 (MPEG Layer III Audio Encoding)'']</ref> | Library of CongressはMP3をpsychoacoustic modelに基づくperceptual codingとして説明している。<ref name="loc-mp3">[https://www.loc.gov/preservation/digital/formats/fdd/fdd000012.shtml Library of Congress, ''MP3 (MPEG Layer III Audio Encoding)'']</ref> | ||
<!--T:33--> | |||
== サンプルレート == | == サンプルレート == | ||
[[<tvar name=16>Special:MyLanguage/Sample rate</tvar>|サンプルレート]]は1秒間に保存される標本数で、44.1 kHz、48 kHz、96 kHzなどが代表的である。 | [[<tvar name=16>Special:MyLanguage/Sample rate</tvar>|サンプルレート]]は1秒間に保存される標本数で、44.1 kHz、48 kHz、96 kHzなどが代表的である。 | ||
<!--T:34--> | |||
サンプルレートはファイル形式そのものとは別の属性である。同じWAVでも44.1 kHzにも96 kHzにもできる。 | サンプルレートはファイル形式そのものとは別の属性である。同じWAVでも44.1 kHzにも96 kHzにもできる。 | ||
<!--T:35--> | |||
== ビット深度 == | == ビット深度 == | ||
PCMでは[[<tvar name=17>Special:MyLanguage/Bit depth</tvar>|ビット深度]]が1サンプル当たりの量子化精度を表す。 | PCMでは[[<tvar name=17>Special:MyLanguage/Bit depth</tvar>|ビット深度]]が1サンプル当たりの量子化精度を表す。 | ||
<!--T:36--> | |||
16-bit、24-bit、32-bit integerや32-bit floatなどが使用される。 | 16-bit、24-bit、32-bit integerや32-bit floatなどが使用される。 | ||
<!--T:37--> | |||
圧縮音声では「bit depth」がそのまま保存ビット数を意味しない場合があるため、PCMと圧縮コーデックを同じ尺度で比較しない。 | 圧縮音声では「bit depth」がそのまま保存ビット数を意味しない場合があるため、PCMと圧縮コーデックを同じ尺度で比較しない。 | ||
<!--T:38--> | |||
== ビットレート == | == ビットレート == | ||
[[<tvar name=18>Special:MyLanguage/Bitrate</tvar>|ビットレート]]は単位時間当たりのデータ量で、kbps、Mbpsなどで表す。 | [[<tvar name=18>Special:MyLanguage/Bitrate</tvar>|ビットレート]]は単位時間当たりのデータ量で、kbps、Mbpsなどで表す。 | ||
<!--T:39--> | |||
非圧縮PCMでは概算として、 | 非圧縮PCMでは概算として、 | ||
<code>bitrate = sample rate × bit depth × channels</code> | <!--T:40--> | ||
<code>bitrate = sample rate × bit depth × channels</code> | |||
<!--T:41--> | |||
で求められる。 | で求められる。 | ||
<!--T:42--> | |||
44.1 kHz / 16-bit / stereo PCMなら約1411.2 kbpsである。 | 44.1 kHz / 16-bit / stereo PCMなら約1411.2 kbpsである。 | ||
<!--T:43--> | |||
圧縮音声では、同じサンプルレートでもcodecや設定によりbitrateが大きく変わる。 | 圧縮音声では、同じサンプルレートでもcodecや設定によりbitrateが大きく変わる。 | ||
<!--T:44--> | |||
== CBR と VBR == | == CBR と VBR == | ||
圧縮形式では、 | 圧縮形式では、 | ||
<!--T:45--> | |||
* CBR(Constant Bit Rate) | * CBR(Constant Bit Rate) | ||
* VBR(Variable Bit Rate) | * VBR(Variable Bit Rate) | ||
<!--T:46--> | |||
が使われる。 | が使われる。 | ||
<!--T:47--> | |||
VBRでは複雑な区間へ多く、単純な区間へ少ないデータを割り当て、平均データ量と品質のバランスを取る。 | VBRでは複雑な区間へ多く、単純な区間へ少ないデータを割り当て、平均データ量と品質のバランスを取る。 | ||
<!--T:48--> | |||
== メタデータ == | == メタデータ == | ||
音声ファイルには音声そのもの以外にメタデータを保存できる場合がある。 | 音声ファイルには音声そのもの以外にメタデータを保存できる場合がある。 | ||
<!--T:49--> | |||
代表例は、 | 代表例は、 | ||
<!--T:50--> | |||
* 曲名 | * 曲名 | ||
* アーティスト | * アーティスト | ||
| Line 149: | Line 199: | ||
* loop point | * loop point | ||
<!--T:51--> | |||
など。 | など。 | ||
<!--T:52--> | |||
使用できるメタデータ方式は形式ごとに異なる。 | 使用できるメタデータ方式は形式ごとに異なる。 | ||
<!--T:53--> | |||
== DAWにおける用途 == | == DAWにおける用途 == | ||
DAWでは、録音・編集・ミックス・書き出しで求められる性質が異なる。 | DAWでは、録音・編集・ミックス・書き出しで求められる性質が異なる。 | ||
<!--T:54--> | |||
制作中はWAV/AIFFなど非圧縮PCMが扱いやすい。 | 制作中はWAV/AIFFなど非圧縮PCMが扱いやすい。 | ||
<!--T:55--> | |||
アーカイブや容量削減ではFLACなど可逆圧縮が有用である。 | アーカイブや容量削減ではFLACなど可逆圧縮が有用である。 | ||
<!--T:56--> | |||
配信や試聴ではMP3、AACなど非可逆圧縮が使われることが多い。 | 配信や試聴ではMP3、AACなど非可逆圧縮が使われることが多い。 | ||
<!--T:57--> | |||
== 変換とトランスコード == | == 変換とトランスコード == | ||
ある音声形式から別形式へ変換することを[[<tvar name=19>Special:MyLanguage/Transcoding</tvar>|トランスコード]]と呼ぶ。 | ある音声形式から別形式へ変換することを[[<tvar name=19>Special:MyLanguage/Transcoding</tvar>|トランスコード]]と呼ぶ。 | ||
<!--T:58--> | |||
非圧縮または可逆形式から非可逆形式への変換では情報が失われる。 | 非圧縮または可逆形式から非可逆形式への変換では情報が失われる。 | ||
<!--T:59--> | |||
非可逆形式を別の非可逆形式へ再エンコードすると、元の圧縮で失われた情報は戻らず、さらに新たな損失が加わる可能性がある。 | 非可逆形式を別の非可逆形式へ再エンコードすると、元の圧縮で失われた情報は戻らず、さらに新たな損失が加わる可能性がある。 | ||
<!--T:60--> | |||
そのため制作・保存用の元データには非圧縮または可逆形式を保持することが一般的である。 | そのため制作・保存用の元データには非圧縮または可逆形式を保持することが一般的である。 | ||
<!--T:61--> | |||
== 関連項目 == | == 関連項目 == | ||
* [[<tvar name=20>Special:MyLanguage/Digital audio</tvar>|デジタルオーディオ]] | * [[<tvar name=20>Special:MyLanguage/Digital audio</tvar>|デジタルオーディオ]] | ||
| Line 183: | Line 244: | ||
* [[<tvar name=29>Special:MyLanguage/非可逆圧縮音声ファイル</tvar>|非可逆圧縮音声ファイル]] | * [[<tvar name=29>Special:MyLanguage/非可逆圧縮音声ファイル</tvar>|非可逆圧縮音声ファイル]] | ||
<!--T:62--> | |||
== 参考資料 == | == 参考資料 == | ||
<references /> | <references /> | ||
</translate> | </translate> | ||
Latest revision as of 06:39, 9 October 2026
音声ファイル(audio file)は、音声信号または音声に関係するデータをコンピューター上のファイルとして保存したものである。録音、音楽制作、配信、放送、映像制作、ゲーム、音声認識、アーカイブなどで広く用いられる。
音声ファイルを理解する際には、ファイル形式、コンテナ、コーデック、圧縮方式、ファイル拡張子を区別することが重要である。日常的にはこれらがまとめて「フォーマット」と呼ばれることも多いが、技術的には異なる概念である。
基本構造
デジタル音声は、サンプルレート、ビット深度、チャンネル数などを持つサンプル列として表現できる。
ファイルへ保存する際には、
- 音声サンプルそのもの
- 圧縮された音声ビットストリーム
- サンプルレートやチャンネル数などの技術情報
- 曲名、アーティスト名、ジャケット画像などのメタデータ
- チャンク、フレーム、インデックス等の構造情報
を一定の規則に従って格納する。
ファイル形式、コーデック、コンテナ
コーデック
コーデックは、音声データを特定の符号化方式へ変換し、また復号する方法を指す。
代表例には、
などがある。
コンテナ / wrapper
コンテナ形式は、音声ビットストリームやメタデータを一つのファイル構造へ格納する枠組みである。
代表例には、
などがある。
WAVやAIFFはLPCMを格納する用途で特に有名だが、形式そのものとPCM符号化は同一ではない。
Library of CongressはWAVEを、audio bitstreamと各種data chunkを格納できるwrapper file formatとして整理している。[1]
ファイル拡張子
.wav、.mp3、.flac、.m4a、.aifなどは、OSやアプリケーションがファイル種別を識別するために使う名称である。
拡張子だけで内部コーデックが一意に決まらない形式もある。
たとえばM4AはAACを格納することも、ALACを格納することもできる。AppleのLogic ProはM4AのencodingとしてAACまたはApple Lossless(ALAC)を選択できる。[2]
圧縮による分類
音声ファイルはデータ量の扱いから大きく、
へ分類できる。
| 分類 | 復号後 | 代表例 |
|---|---|---|
| 非圧縮 | 元のサンプルをそのまま保持 | WAV/PCM、AIFF/PCM |
| 可逆圧縮 | 元データを完全復元可能 | FLAC、ALAC |
| 非可逆圧縮 | 一部情報を不可逆に除去 | MP3、AAC、Opus、Vorbis |
非圧縮
非圧縮音声では、LPCMなどのサンプル値を圧縮せず保存する。
編集や録音の中間形式として扱いやすく、エンコード/デコード負荷も小さい一方、ファイルサイズは大きくなる。
DAWではWAVまたはAIFFのPCMが代表的である。
可逆圧縮
可逆圧縮では、統計的冗長性などを利用してデータ量を減らすが、復号すると元のサンプル列を完全に復元できる。
FLACやALACが代表的である。
Xiph.OrgのFLACはSTREAMINFOにサンプルレート、チャンネル数、ビット深度、元PCMのMD5 signatureなどを保持できる。[3]
非可逆圧縮
非可逆圧縮では、知覚上重要度の低い情報を除去したり、量子化精度を削減したりして高い圧縮率を得る。
MP3やAACは代表的な知覚符号化方式である。
Library of CongressはMP3をpsychoacoustic modelに基づくperceptual codingとして説明している。[4]
サンプルレート
サンプルレートは1秒間に保存される標本数で、44.1 kHz、48 kHz、96 kHzなどが代表的である。
サンプルレートはファイル形式そのものとは別の属性である。同じWAVでも44.1 kHzにも96 kHzにもできる。
ビット深度
PCMではビット深度が1サンプル当たりの量子化精度を表す。
16-bit、24-bit、32-bit integerや32-bit floatなどが使用される。
圧縮音声では「bit depth」がそのまま保存ビット数を意味しない場合があるため、PCMと圧縮コーデックを同じ尺度で比較しない。
ビットレート
ビットレートは単位時間当たりのデータ量で、kbps、Mbpsなどで表す。
非圧縮PCMでは概算として、
bitrate = sample rate × bit depth × channels
で求められる。
44.1 kHz / 16-bit / stereo PCMなら約1411.2 kbpsである。
圧縮音声では、同じサンプルレートでもcodecや設定によりbitrateが大きく変わる。
CBR と VBR
圧縮形式では、
- CBR(Constant Bit Rate)
- VBR(Variable Bit Rate)
が使われる。
VBRでは複雑な区間へ多く、単純な区間へ少ないデータを割り当て、平均データ量と品質のバランスを取る。
メタデータ
音声ファイルには音声そのもの以外にメタデータを保存できる場合がある。
代表例は、
- 曲名
- アーティスト
- アルバム
- ISRC
- BPM
- ジャンル
- ジャケット画像
- BWF metadata
- cue情報
- loop point
など。
使用できるメタデータ方式は形式ごとに異なる。
DAWにおける用途
DAWでは、録音・編集・ミックス・書き出しで求められる性質が異なる。
制作中はWAV/AIFFなど非圧縮PCMが扱いやすい。
アーカイブや容量削減ではFLACなど可逆圧縮が有用である。
配信や試聴ではMP3、AACなど非可逆圧縮が使われることが多い。
変換とトランスコード
ある音声形式から別形式へ変換することをトランスコードと呼ぶ。
非圧縮または可逆形式から非可逆形式への変換では情報が失われる。
非可逆形式を別の非可逆形式へ再エンコードすると、元の圧縮で失われた情報は戻らず、さらに新たな損失が加わる可能性がある。
そのため制作・保存用の元データには非圧縮または可逆形式を保持することが一般的である。