translation:adc:audio:core_audio_technologies

Core Audioの技術

既にCarbon Soundに精通しているなら、それを利用する事がOS 9アプリケーションをOS Xへ移植する最も容易な方法です。 一旦、アプリケーションを完全にCarbon化してしまえば、OS Xによってもたらされる主要な追加性能を手に入れることができます。仮想メモリをオフにすることなくです! OS Xでは、性能低下を完全に廃した全自動の仮想メモリシステムを提供します。 Carbon Sound Managerについての詳細は、TechnoteSound and Carbon日本語版)をご覧下さい。

効率が良く、柔軟性のあるオーディオアプリケーションを作成したいと仮定しましょう。 Audio Toolboxは、様々な種類の信号処理を行う基本単位Audio Unitを使用し、アプリケーションの安全な構築を可能とする、牢固な土台を提供します。 Audio Toolboxは、Audio Unitの構成と組織化を行うグラフサービスは元より、時間進行を完全に制御するシーケンス/タイミングサービスも提供します。

MIDIの機能もMac OS Xの音楽とオーディオアーキテクチャの核にあり、MIDI機器の複雑な表現をアプリケーションに提供し、高精度かつ低遅延のMIDI I/Oサービスです。

CoreMIDIフレームワークは仮想的なソースとデスティネーションを提供し、アプリケーション間のMIDIデータの筋道立てを可能にします。この全てはCoreMIDIServerシステムによって扱われ、開発者しなければならないのは、そのAPIを使う事だけです!

AppleはUSB MIDIクラス仕様に準拠したドライバを提供しています。 USB機器ベンダ固有のドライバを作成するためのサンプルコードもまた同様です。

MIDIを統合する必要がありますか? あなたがすべき全ての事は、単純にMusicPlayerオブジェクトにトラックを追加する事です。 MIDI機器をお持ちでないのですか? システム提供のソフトウェアシンセを使えますし、独自のDLSないしSoundFontの音色集合を使えます。 信号処理をしたいのですか? Appleが提供するAudio Unit(リバーブ、サンプリング周波数変換、イコライザ、etc)を使いましょう。 最後に、複雑なオーディオハードウェアを扱うための開発スケジュールが無いならば、標準出力Audio Unitが、アプリケーションにAudio HALの機能を簡単に統合する素敵で柔軟な方法を提供します。

Audio HALは、Mac OS XのCore Audioシステムの心臓と見なす事が出来ます。 Audio HALはアプリケーション開発者とハードウェアの接点となり、入力/出力両方のストリーミング手法を通した装置の容易な操作と、プロパティ機構による制御を可能とします。 Audio HALを使う事で、実時間性能、遅延、複数チェンネルのアクセス、カーネル/ユーザーランド間の高コストな遷移について心配する必要がなくなりなります。HALがこれら作業を引き受け、そしてタイミング情報を発行するので、オーディオの現在の位置を知る事が出来ます。 加えてAudio HALは音声サンプルを浮動小数点データで表します。従って、高分解能音声処理が出来るとともに、明らかにPowerPCアーキテクチャの能力と適合します。もしプロフェッショナルオーディオを扱い、また既にパワフルなオーディオエンジンの開発を始めているならば、Audio HALはエンジンを最高に活気づかせるミッシングピースとなるでしょう。

あなたがデバイスドライバ作者、ないし特定のハードウェアの要素をAudio HALに接続したいなら、IOAudio一族が工具箱です。 IOKitのオブジェクト指向の枠組みは、高水準オーディオスタックへの接続忘れを防止し、あなたが最も知っていること-ハードウェア装置に注力する手助けをします。 どうぞあなたの装置をIOAudioDeviceの子供にして、初期化し、オーディオデータエンジンを設定(これはAudio HALに装置が有効になったことを適切に報告するに過ぎません)して下さい。 加えて、あなたの装置固有の機能へのアクセスを可能にする、独自のAudio HALプラグインを定義することも出来ます。

ハードウェアへの完全アクセスを実現するAudio HALプラグインを作ることも可能ではありますが、実際はそのようにする必要はありません。

AppleはヤマハのmLan接続管理-FireWireの61883-6転送層を用いて音声とMIDI機器の接続を管理する方法-のライセンスも提供します。

これでも不十分で、大変特別なハードウェアをお持ちならば、いつでもDarwinウェブサイトを探索し、我々の仕事からヒントを得ることや、ハードウェアをサブクラス化出来ます。

加えて、Core AudioはJavaプラットフォームによるどんな種類の開発に対しても、完全な調和を提供します。 全ての高水準機能は、相当するJava APIを通じてアクセス可能です。 オンラインJavaドキュメントをクリックし、その機能に関する情報にアクセスして下さい。

  • translation/adc/audio/core_audio_technologies.txt
  • 最終更新: 2015-01-06 11:51
  • (外部編集)