音声の形式は、場面によって使い分けます。編集ソフトに取り込むときは、WAV が必要になることがあります。配信には AAC や MP3、保存用には FLAC がよく使われます。
1. 主要音声フォーマットの概要
| フォーマット | 種類 | 特徴 |
|---|---|---|
| WAV | 非圧縮 / ロスレス | 最高品質・大容量。編集用途に適する |
| FLAC | ロスレス圧縮 | WAV と同品質・ファイルサイズは小さい |
| MP3 | 非可逆圧縮 | 高い互換性・ファイルサイズが小さい |
| AAC | 非可逆圧縮 | MP3 より効率的・MP4/M4A に広く使用 |
MP3 と AAC は非可逆(ロッシー)の形式です。圧縮のときに音の一部を捨てるので、一度変換すると元の音質には戻りません。WAV と FLAC はロスレスの形式で、エンコードとデコードを繰り返しても音質は落ちません。
2. WAV から MP3 に変換
ffmpeg -i input.wav -c:a libmp3lame -q:a 2 output.mp3
-c:a libmp3lame:MP3 エンコーダの LAME を使う-q:a 2:VBR(可変ビットレート)の品質。0〜9 で指定し、小さいほど高品質
固定ビットレートにするなら -b:a を使います。
ffmpeg -i input.wav -c:a libmp3lame -b:a 192k output.mp3
3. WAV から AAC に変換
ffmpeg -i input.wav -c:a aac -b:a 192k output.aac
-c:a aac:FFmpeg 内蔵の AAC エンコーダ-b:a 192k:ビットレートを 192 kbps にする(CBR=固定ビットレートのモードになる)
iTunes や Apple 製品と互換性のある M4A にするなら、拡張子を .m4a にします。
ffmpeg -i input.wav -c:a aac -b:a 192k output.m4a
4. MP3 から FLAC に変換(ロッシー→ロスレスの注意点)
ffmpeg -i input.mp3 -c:a flac output.flac
このコマンドは動きますが、MP3(非可逆)を FLAC(ロスレス)にしても音質は戻りません。FLAC は受け取ったデータを忠実に保存するだけで、MP3 の圧縮で失われた情報は復元できないからです。ファイルは FLAC の大きさになるのに、音質は MP3 のままです。
FLAC にして意味があるのは、WAV → FLAC のように元もロスレスの場合だけです。MP3 や AAC を保存するために FLAC へ変換するのは、ふつうはおすすめしません。
5. FLAC から AAC に変換
ffmpeg -i input.flac -c:a aac -b:a 256k output.aac
ロスレスから非可逆への変換は、よくある使い方です。高音質の元データを圧縮して、配信や共有に使います。
6. MP3 から WAV に変換
ffmpeg -i input.mp3 -c:a pcm_s16le output.wav
pcm_s16le は 16bit リトルエンディアン PCM で、標準的な WAV の形式です。編集ソフトや DAW(音楽制作ソフト)に、そのまま読み込めます。ただし、MP3 の圧縮で失われた音質は戻りません。
7. -b:a(CBR/ABR)と -q:a(VBR)の違い
-b:a:ビットレート指定
ffmpeg -i input.wav -c:a libmp3lame -b:a 128k output.mp3
-b:a は、ビットレート(1秒あたりのデータ量)を bits/s 単位で指定するオプションです。AAC エンコーダでは、-b:a を付けると自動的に CBR(固定ビットレート)モードになります。出力ファイルのサイズを前もって見積もりたいときに使います。
-q:a:VBR 品質指定
ffmpeg -i input.wav -c:a libmp3lame -q:a 2 output.mp3
-q:a は、VBR(可変ビットレート)モードの品質を指定します。音の複雑さに合わせてビットレートが変わるので、同じ聞こえ方でもファイルが小さく済むことがあります。libmp3lame では 0〜9 で指定し、0 が最高品質です。
出力サイズをきっちり決めたいなら -b:a、音質を優先するなら -q:a を選びます。
8. サンプリングレート変換:-ar
サンプリングレート(1秒間に音を記録する回数)を変えるには、-ar を使います。
ffmpeg -i input.wav -ar 44100 -c:a libmp3lame -q:a 2 output.mp3
-ar 44100:出力を 44.1 kHz にする
よく使われる値は次のとおりです。
| レート | 用途 |
|---|---|
| 44100 | CD品質・一般音楽 |
| 48000 | 動画・放送標準 |
| 22050 | 低品質・モバイル向け |
| 16000 | 音声認識・VoIP |
-ar を付けなければ、出力は入力と同じサンプリングレートになります(公式ドキュメント:“For output streams it is set by default to the frequency of the corresponding input stream”)。ただし、エンコーダが入力のレートに対応していないときは、対応するレートに自動で変換されます(例:96 kHz の WAV を MP3 にすると 48 kHz)。変える必要がなければ省略してかまいません。
9. 変換前のフォーマット確認
変換の前に、入力ファイルの音声を確認しておくと安心です。次のコマンドで、コーデック・サンプリングレート・ビットレート・チャンネル数が表示されます。
ffprobe -v error -select_streams a -show_entries stream=codec_name,sample_rate,bit_rate,channels -of default=noprint_wrappers=1 input.mp3
変換パターン早見表
| 変換元 | 変換先 | コマンド例(主要オプション) |
|---|---|---|
| WAV | MP3 | -c:a libmp3lame -q:a 2 |
| WAV | AAC | -c:a aac -b:a 192k |
| WAV | FLAC | -c:a flac |
| FLAC | AAC | -c:a aac -b:a 256k |
| MP3 | WAV | -c:a pcm_s16le |
| AAC | MP3 | -c:a libmp3lame -q:a 2 |
関連記事
よくある質問
MP3, AAC, WAV のどれを選ぶべき?
Web や SNS で共有するなら、MP3(互換性がいちばん高い)か AAC(同じサイズなら MP3 より高音質)です。元の音源の保存や編集には、ロスレスの WAV か FLAC を使います。スマホなどの携帯端末で聴くなら、AAC が実用的です。
ロスレスとロッシー、どちらに変換すべき?
変換で、元の素材の品質を超えることはありません。元が MP3 なら、WAV にしても音質は元の MP3 と同じです。元が WAV や FLAC なら、どちらにも変換できます。
M4A と AAC は同じ?
ほぼ同じです。M4A は MPEG-4 のコンテナ(入れ物)で、AAC はその中身のコーデックです。M4A の中身は、通常は AAC です。拡張子が .aac のファイルは、MP4 のような入れ物を使わない AAC のデータです(FFmpeg は、フレームごとに小さなヘッダーを付けた ADTS 形式で書き出します)。一部のプレーヤーは認識しにくいです。保存は M4A がおすすめです。
OGG Vorbis はまだ使う価値ある?
以前は、MP3 のロイヤリティ(特許料)を避けるために使われていました。今は AAC と Opus が主流です。ゲーム開発や Linux の環境では、今も使われています。一般的な用途なら、AAC か Opus を選んでください。
FLAC と WAV、どっちでアーカイブ?
FLAC がおすすめです。音質は WAV と同じロスレスで、ファイルは WAV より小さくなります(どのくらい小さくなるかは音源によります)。タイトルやアーティストなどのメタデータも、無理なく埋め込めます。WAV はメタデータの機能が弱く、保存用には向きません。