iOS 7の新機能「Inter-App Audio」は、アプリ間のユニバーサルオーディオルーティングを導入c

iOS 7の新機能「Inter-App Audio」は、アプリ間のユニバーサルオーディオルーティングを導入c
iOS 7の新機能「Inter-App Audio」は、アプリ間のユニバーサルオーディオルーティングを導入c

今週のWWDC以降、AppleによるiOS 7とMavericksの再設計は大きな注目を集めており、当然のことながら、iOS 7にはこれまで語られていない重要な新機能がいくつか搭載されています。今朝は、iOS 7でハードウェアゲームコントローラーをよりスムーズに使用できるようになる新しいMFiゲームコントローラーフレームワークについてお伝えしましたが、今回のアップデートでもう一つ重要な新機能がアプリ間オーディオです。

基本的なアイデアはシンプルです。アプリ間オーディオにより、開発者は自身のアプリを他のアプリとの間でオーディオを送受信するための出力または入力として機能させることができます。実際、サードパーティ製のiOSアプリAudiobusを通じて、この機能は既にある程度利用可能です。しかし、Appleが開発者向けに提供する新しいアプリ間オーディオ機能により、アプリはAudiobusのようなサードパーティ製アプリを使わずにオーディオを送受信できるようになります。一見すると、Audiobusは時代遅れになるように見えますが、Appleが最近、自社のGarageBandアプリでサードパーティ製サービスのサポートを実装したばかりであることを考えると、これは興味深い動きです。いずれにせよ、今秋のiOS 7へのアップデートにより、iPhoneやiPadで音楽を作成したりオーディオを共有したりするための新たな可能性が数多く提供されることを意味します。

Inter-App Audio がどのように機能するかを調べるために Apple のドキュメントを調べ、また Audiobus にこれが彼らにとって何を意味するかについて話を聞きました。

たとえば、Apple のアプリ間オーディオの説明 (下記) では、GarageBand は「ホスト」アプリケーションとして機能し、出力「ノード」として有効になっている任意のオーディオ アプリからオーディオを受信できるようになります。

Inter-App-Audioは、リモート楽器、エフェクト、またはジェネレーターなどのiOSオーディオアプリケーションが、他のオーディオアプリケーションで使用できる出力を公開することを可能にします。出力を公開するこれらのアプリケーションはノードと呼ばれます。これらのノードアプリケーションに接続して利用するアプリケーションはホストと呼ばれます。

Apple の iOS 7 プレリリース開発者ドキュメントでは、「InterAppAudioDelay」と「InterAppAudioSampler」を含むアプリ間オーディオの 2 つの実装についても概説されています。

一例として、InterAppAudioDelay は遅延などのエフェクト用です。

InterAppAudioDelayを使用すると、アプリはオーディオ機能を公開し、iOS上の他のオーディオアプリと連携して使用できるようになります。この例では、他のアプリで使用できるディレイエフェクトを公開および制御する方法を示します。このアプリケーション単体では音は出ませんので、InterAppAudioHostアプリおよびInterAppAudioSamplerアプリと連携して使用する必要があります。

もう 1 つの例は、サンプラーとして使用されるノード アプリケーションです。

InterAppAudioSampler は、サンプラーとして機能するノードアプリケーションの一例です。このデモでは、リモートインストゥルメントおよびジェネレーターとして自身を公開するサンプラーを紹介します。InterAppAudioSampler をリモートインストゥルメントとして接続すると、ホストアプリケーションから MIDI イベントを受信して​​オーディオを再生できます。

Audiobusは、Appleの取り組みを称賛するブログ記事から、Inter-App Audioについてそれほど懸念していないようだ。しかし、Inter-App Audioは「システムレベルのアクセス権を持つAppleのチームだけが実現できる素晴らしい機能を備えた新しい機能」をもたらすと認めている。これはおそらく、Inter-App Audioの「オーディオレンダリングのMIDIコントロール」と、「登録済みの他のInter-App Audioアプリなど」をリモートで起動する機能を指しているのだろう。

Audiobus が提供する機能のうち、Inter-App Audio には含まれていないと思われるものがいくつかあります。標準化されたインターフェース、トリガーのコントロール パネル (Inter-App には、各アプリ内のボタンにマップする必要がある基本的なトランスポート コントロールがあります)、そして Audiobus はブログ投稿でデバイス間の接続についても示唆していますが、これは Inter-App Audio には含まれていないもう 1 つの機能です。

これが Audiobus にとって何を意味するのかを問い合わせたところ、Audiobus は今後も Inter-App Audio だけでは提供されない、開発者やミュージシャン向けの素晴らしい新機能を提供し続けるとのことでした。

AppleのCoreAudioチームは素晴らしい仕事をしてきました。しかし、AudiobusにはInter-App Audioにはない機能があり、その逆も同様です。iOS 7がリリースされるまでは秘密保持契約を結んでいるため、それらを公開できるかどうかは分かりません。ユーザーの観点から見ても、全く異なるアーキテクチャです。一部のユーザーは、Inter-App Audioでは再現できない特定のAudiobusワークフローに依存している可能性があります。

iOS 7の新機能と、それらを活用してミュージシャン向けの素晴らしいツールを開発できることに、私たちは非常に期待しています。Audiobus固有の機能にアクセスしながらInter-App Audioの統合を開発者に支援できる可能性もありますが、まだ具体的な計画や確実なことは言えません。

この機能を実装することに関心のある開発者は、ノードとして機能するために「AURemoteIO インスタンスを他のプロセスから参照できるオーディオ コンポーネントとして公開する」か、「別のアプリのオーディオ機能を使用するには、iOS 7 のオーディオ コンポーネント検出インターフェイスを使用する」必要があります。

Apple は、iOS 開発者ライブラリで例を公開しています。

havebin.com を Google ニュース フィードに追加します。 

FTC: 収益を生み出す自動アフィリエイトリンクを使用しています。詳細はこちら。