目次

Getting Started with Audio

原文 Getting Started with Audio http://developer.apple.com/referencelibrary/GettingStarted/GS_MusicAudio/index.html

技術概要

オーディオ技術は、多くの Mac OS X アプリケーションの成功に、必要不可欠な技術です。 基本的な音声再生には、全ての開発者は Quick Time を使うことが出来ます。また、Cocoa 開発者ならば NSSound クラスを使用することも出来ます。 簡単な音声再生を越えた操作には Core Audio を用います。 Core Audio を使うことで、音声やMIDIファイルの録音、編集、フィルタリング、変換、生成、そして再生を行うことが可能です。 ゲームやその他のアプリケーションに、あたかも実体験しているかのような音声効果を加えるには OpenAL を用います。 音声やデータを CD/DVD に焼くには Disc Recording API を使います。

Core Audio は Audio Unit として知られる、柔軟性に富み、応用範囲の広いプラグインアーキテクチャを提供します。 Audio Unit を使用することで、Logic Pro や GarageBand といったデジタルオーディオアプリケーションに、機能を追加(enhance)する事が出来ます。 同様に、自分で開発するアプリケーションに、オーディオ的な特徴を付加することも出来ます。 Audio Unit により、アプリケーションはフィルタリングやリバーブといったエフェクト、MIDI ベースの音楽の統合(synthesis)、音声データ形式の変換、ミキシング、定位変更、音声生成、再生などの機能を提供することが出来ます。

ハードウェアベンダならば、その製品と Mac OS X がやり取り出来るようにするために、ドライバを提供する必要があるかもしれません。 Core Audio はドライバ開発を援助します。

開発者は、必要とする Core Audio の部品のみを、選択して使うことができます。 例えば、ゲームプログラマならば、MIDI データの再生とサンプリング音声を組み合わせたいかもしれません。また、ひょっとしたら Audio Unit によるエフェクトを、この2つの音源をミックスしたものに適用するかもしれません。 そして、リアルなユーザー体験を提供するために、処理した音声データを OpenAL に渡す事も出来るでしょう。

ここからはじめましょう

音声技術を使用したアプリケーションの開発に取り組む前に、以下の文章を読むべきでしょう:

学習課程の選択

アプリケーションの開発に用いる言語や複雑さに基づいて、Mac OS X の様々なオーディオ API の中から、実際に使用する物を選択します。 基本的な音声再生には、次に述べる Cocoa や Carbon の組み込みサービスを用います。 音声データや MIDI データの操作、Audio Unit や Audio Codec の作成には、Cocoa/Carbon アプリケーションの中で Core Audio を使用します。

音声再生

音声データの単純な再生を必要とする Cocoa アプリケーションを作成する場合は、Sound Programming Topics for Cocoa for Cocoa をご参照下さい。

Carbon アプリケーションを作成する場合は、Quick Time を用いて基本的な音声再生を行います。 Quick Time については Quick Time Audio をご参照下さい。

高度な音声データ再生と操作

自身の Mac OS X アプリケーションに、以下のいずれかの特徴を加えたい場合は、Core Audio 概要 を読み、適切な Core Audio や OpenAL の API の使用を決めて下さい:

Audio Unit を開発するならば、その概念とチュートリアルを提供する Audio Unit Programming Guide をお読み下さい。 Core Audio SDK は Audio Unit の参考文献と、開始点となる様々な Xcode プロジェクトを含んでいます。 開発する Audio Unit が、Logic Pro といった Apple Pro アプリケーションでの使用も視野に入れるならば、Audio Unit Developer Guidelines (PDF) を精読下さい。

Technical Q&A QA1318 How to Handle Audio Data With Magic Cookie Information は、Magic Cookie を要求する圧縮形式でメタ情報を使う方法を解説します(#原文:describes how to use metainformation with compression formats that require it.)。 Core Audio SDK の Services フォルダにある AudioFileTools という Xcode プロジェクトは、音声の録音と再生、形式変換、インターリーブなどの動作例を提供します。

アプリケーションで音声の空間的な操作を扱いたい場合、特にゲーム開発者ならば、OpenAL について OpenAL のウェブサイトでより深く学びましょう。

Audio Codec を開発する場合は、Core AudioAudio Codec をお読み下さい。 Core Audio SDK は、独自のコーデックの土台として使えるサンプルコーデックが含まれています。

アプリケーションで MIDI を使う

シンセサイザで MIDI データの演奏を行ったり、入ってくる MIDI データを記録したりするつもりならば、Core Audio 概要Core MIDI Services and MIDI Server Services をお読みください。 Quick Time での MIDI データの使い方を学ぶには MIDI File Format をご覧ください。

オーディオデバイスへの対応

オーディオデバイスのドライバを書く必要があるのならば、Audio Device Driver Programming Guide をご参照下さい。 Getting Started with Hardware and Drivers も読むとよいかもしれません。

ディスクへの書き込み

アプリケーションがディスクへの書き込み機能を提供する予定ならば、Disc Recording リリースノートを精読下さい。 Disc Recording APIDisc Recording Framework Reference で、Disc Recoding UI の APIDisc Recording UI Framework Reference に文章化されています。

次なる高みへ

Audio Reference Library 以下の資料を含みます。それらページへ簡単にアクセス出来るように、リンクしておきます: