Appleロスレス (.alac)
Appleオープンソース 標準Apple Lossless Audio Codec(ALAC)はAppleが開発した可逆圧縮音声形式です。
ALAC を FLAC に変換
無料のブラウザ内 ALAC から FLAC へのコンバーター。お使いのデバイスでファイルを即座に変換します。
調査とメタデータ
オペレーティングシステムやファイル解析ツールは、先頭のバイナリ列を検査してALACファイルを識別します:
バイトレベルのヘッダーシグネチャ (マジックバイト)
オペレーティングシステムやファイル解析ツールは、先頭のバイナリ列を検査してALACファイルを識別します:
16進数シグネチャ(オフセット0):
?? ?? ?? ?? 66 74 79 70ASCII表現: ????ftyp
標準化: Appleオープンソース / ISO 14496-12
技術仕様
| コンテナアーキテクチャ | 'alac'アトムを含むISO Base Media File Format(MPEG-4 Part 14)コンテナ |
| 圧縮 | 適応型線形予測符号化(LPC)とRice-Golombエントロピー符号化 |
| バイトエンディアン | ビッグエンディアンのコンテナアトム構造。フレームのペイロードはビット単位でパック |
| 色空間 | 該当なし(可逆音声ストリーム) |
| チャンネルと構造 | 最大8チャンネル(ステレオ、5.1chサラウンド、7.1chサラウンド) |
| 最大寸法 | サンプリング周波数44.1~192 kHz、量子化16、24、32ビット |
| 透過性 | 非圧縮PCMデータを数学的に完全復元できる可逆圧縮 |
| ストリーミングとプログレッシブ | QuickTimeの「moov」アトムをファイル先頭に置くことで、バイト範囲指定ストリーミングをすぐに開始可能 |
技術比較表:ALACと競合製品
| 技術属性 | ALAC (現在) | FLAC | WAV | APE |
|---|---|---|---|---|
| 圧縮品質 | 100% 数学的に可逆(ロスレス) | 100% 数学的に可逆(ロスレス) | 非圧縮ロスレス | 100% 数学的に可逆(ロスレス) |
| Appleエコシステムのサポート | すべてのAppleデバイスで100%ネイティブ対応 | サードパーティ製プレーヤーまたはQuickLookプラグインが必要 | ネイティブ非圧縮 | サードパーティ製ツールなしではサポート外 |
| デコードの複雑さ | 極めて軽量で、CPU負荷が小さくバッテリーにやさしい | 非常に軽量で高速 | CPUの伸長(デコード)オーバーヘッドがゼロ | 高:重いCPU要件 |
| コンテナラッパー | MPEG-4 Part 14コンテナ(.m4a) | ネイティブOgg/FLACビットストリーム(.flac) | RIFFコンテナ(.wav) | カスタムMonkeys Audioコンテナ(.ape) |
一般的な破損モードと16進数リカバリガイド
音声ファイルが数秒間再生された後に突然停止するか、プレーヤーの再生時間が 0:00 と表示される。
根本原因: ダウンロードの不完全、またはファイルを閉じる前にオーディオレコーダーがクラッシュしたことが原因で、'moov'アトムが欠落しているか切り捨てられている。
復旧: untruncまたはMP4Boxを使用して、同じ設定で作成された別の録音から有効なmoovアトムを修復・移植する。
セキュリティ分析とパーサー攻撃ベクトル
ALACデコーダーは、複雑なMPEG-4アトムツリーや適応型LPC予測係数を解析するため、境界が検証されていない場合にメモリ破損を引き起こす恐れがあります。
既知の攻撃ベクター
- 次数が32を超える係数を受け取った際のLPC予測子次数の解析におけるバッファオーバーフロー。
- レガシーなQuickTimeコンポーネント内でのマルチチャンネル・ダウンミックス中の境界外フレーム書き込み(CVE-2011-3258)。
- アトムサイズの整数オーバーフローにより、デコード時にヒープバッファの割り当てが不十分になる。
防御的ベストプラクティス: 割り当ての前に、厳格なアトムサイズ制限を適用し、最大許容ビット深度に対して予測子係数を検証します。
歴史的背景とマイルストーン
主なメリット
- 可逆デコードでは符号化された元のサンプルを復元できますが、元データにない情報は復元できません。
- Apple製デバイスはALAC再生に対応しています。利用可否はデバイス、ソフトウェア、アプリ、再生経路によって異なります。
- 高解像度アートワーク、チャプターマーカー、および詳細なiTunes形式のメタデータの完全サポート。
技術的な制限とデメリット
- ALACは、幅広く対応するオープン形式のFLACに比べ、Apple以外のハードウェアでの対応が限られています。
- 保守的なライス・ゴロム符号化のチューニングのため、通常はFLACよりも2%〜5%ファイルサイズが大きくなる。
- 非可逆のAACと同一の .m4a ファイル拡張子を共有しているため、ユーザーがファイル圧縮の種類について混乱する原因となる。
興味深い技術トリビア
- Apple AirPlayは、16-bit/44.1 kHzのALACでエンコードされたリアルタイム音声をローカルWi-Fiストリーム経由で伝送する。
- Appleが2011年にALACをオープンソース化する前、リバースエンジニアのDavid Hammerton氏がiTunesの逆アセンブルを研究して最初のオープンデコーダーを書いた。
- MP4ファイル内のALACストリームは、「stsd」サンプル記述アトム内にある4文字コード「alac」によって識別される。
よくある技術的な質問
自分の .m4a ファイルがロッシーな AAC なのか、ロスレスな ALAC なのかを見分けるにはどうすればよいですか?
Apple はどちらの形式にも .m4a を使用するため、プレーヤーやコンバーターでファイルを確認してください。ALAC ファイルのビットレートは通常 700 から 1100 kbps の間ですが、AAC ファイルは 128 から 320 kbps の範囲です。
音質を落とさずに FLAC を ALAC に変換できますか?
はい。両方のフォーマットは数学的にロスレス(可逆)です。FLAC から ALAC への変換はビット同一であり、世代損失はゼロになります。
なぜ Apple は FLAC を採用せず、独自に ALAC を作成したのですか?
2004 年当時、Apple は QuickTime および iPod のハードウェアアーキテクチャと直接統合し、MP4 コンテナ内でシームレスな DRM およびメタデータ管理を保証するオーディオコーデックを必要としていたためです。