Core Audio (Apple)
Core Audio(コア オーディオ)は、AppleのOS(macOSおよびiOS・iPadOS・tvOS・watchOS・audioOS)で、音声を扱うフレームワークである。Windowsにも同名のライブラリ(Core Audio (Windows))があるが、これとは異なる。
特徴
[編集]OSに組み込まれているフレームワークで、Classic Mac OS 9以前の標準オーディオ機能Sound Managerとは機能・構造がまったく異なる。このためレイテンシ(発音の遅延)が少なく、ASIOと同水準になっている。また、Mac OS 9以前では純正のMIDI Managerでは機能が不十分で、もっぱらサードパーティ製のMIDIドライバ(オプコードのOpen Music Systemなど)が使用されていたが、Core Audioではインスツルメントユニットとして設計されている。
デジタル・オーディオ・ワークステーション(DAW)のVirtual Studio Technology(VST)プラグインに似た、Audio Units (AU) と呼ばれる音声信号処理ユニットが用意されている。標準のエフェクトユニット、インスツルメントユニット・ミキサーユニット・コンバータユニット・ジェネレータユニットと、外部のユニットを組み合わせる(AU Graph)ことにより 、音声の加工・出力を簡単に行うことができる。
WAVやAIFFなどの主要な音声フォーマットはもちろんのこと、新たに開発されたファイルコンテナ CAF(Core Audio Format)も正式にサポートしている。
提供されるサービス
[編集]Core Audioは、複数のサービスから成り立っている。
基礎的な部分(下層)
[編集]- ハードウェア抽象レイヤ (Hardware Abstraction Layer, HAL)
- オーディオハードウェアを抽象化し、共通のインタフェースで扱える様にする。
- Core MIDI
- MIDI機器の管理や、MIDI信号の送受信を行う。
応用的な部分(上層)
[編集]- Audio Toolbox
- アプリケーション向けのAPI群。一般的な音声ファイルやMIDI (SMF) 楽曲の再生や録音、データフォーマットの変換、Audio Unitの取り扱いやDSPルーティングの管理、同期クロックの管理等を含む。
- OpenAL
- macOS/iOS版のOpenAL。主にゲーム開発に使用されるクロスプラットフォーム・オープンソースのAPI。OpenAL 1.1をベースとしているが、macOSには独自拡張も含まれる。
CAF
[編集]CAF(Core Audio Format)は、Mac OS X v10.4で登場した音声用のコンテナフォーマット。macOSをはじめiOS・iPadOS・tvOSのシステム音・内蔵の着信音や、アプリの音声ファイルでも使用されている。ファイルサイズは最大16EBで、メタデータや、リトルエンディアンにもビッグエンディアンにも対応しており、圧縮音源(AAC・MP3など)もエンコード無しで直接格納することが可能な、柔軟性の高い音声ファイルフォーマットである。
対応形式
[編集]- リニアPCM
- G.711 μ-law
- G.711 A-law
- IMA ADPCM (IMA 4:1)
- MPEG4 AAC
- MACE 3:1 (Macintosh Audio Compression and Expansion)
- MACE 6:1
- MPEG1/2 Audio Layer-1 (MP1)
- MPEG1/2 Audio Layer-2 (MP2)
- MPEG1/2/2.5 audio Layer3 (MP3)
- Apple Lossless
- Opus