ObjecTips

Swift & Objective-C で iOS とか macOS とか

Inter-device Audio Mode

Keynote その他で全然触れられてなかった Inter-device Audio Mode (IDAM) というおもしろい機能が WWDC2015 Session 507 What's New in Core Audio で紹介されていた。
https://developer.apple.com/videos/wwdc/2015/?id=507

この機能は
iOSデバイスをUSB接続してMacのオーディオ入力ソースとして使う事ができる
というもので、具体的にはiOSデバイスを USB 2.0 audio class-compliantオーディオインターフェースとしてMacに認識させる事ができる。
アプリ自体で何か実装が必要なわけではなくiOS 9とOS X El Capitanを使えばシステムレベルで対応してくれる。

対応機種
  • Lightningケーブル搭載のiPhone
  • Lightningケーブル搭載の初代iPad mini以外の全てのiPad
音声フォーマット
  • ステレオチャンネル
  • 24bit
  • 48kHz

でシステムサウンド以外の音がMacに入力される。
制限としてこの機能を使用中は写真の読み込み、テザリングQuickTimeでの画面録画ができないとの事。

設定方法

ユーティリティの Audio MIDI 設定.app でウィンドウメニューから「iOS デバイスブラウザを表示 ⌘4」(英語だと Shows iOS Device Browser ⌘4) を選択すると接続済みのiOSデバイス一覧が別ウィンドウに表示されるのでデバイス下の「使用」ボタンを選択。
後はDAW等のオーディオ入力ソースで有効にしたiOSデバイスを選択する。
これだけでOK

以下のスクリーンショットYosemite のもので El Capitan だとここに表示されるメニューが増える。
f:id:Koze:20150613224441p:plain


いくつか録音されるものされないものを試してみた。

録音されるもの

  • ゲームアプリの音全般
  • iTunesで購入した音楽(DRM付き)

録音されないもの

  • キーボードクリック音
  • Messageアプリのメッセージ送信音、受信の通知音
  • 電話

おそらく AudioServicesPlaySystemSound AudioServicesPlayAlertSound で再生したものと、通知音以外の音声は全部出力されるんじゃないかと思う。

この機能の用途としてはiOSデバイスをシンセとして使う事が考えられる。WWDCのセッションのデモでは Waldorf のiPadアプリを外部シンセとして Logic Pro X に手弾きで録音していた。
既にハードシンセやソフトシンセが充実していてデスクトップで作業している環境だとそこまで恩恵はないかも知れないけど、アプリでしか出ていないおもしろい音源を探して使ってみるのもいいかも知れない。
あとは人が集まった時にiOSデバイスでセッションしてMacでミキシング/録音するとか?
iOS 9がリリースされたらまたおもしろい利用方法が編み出されるかも。


その他WWDCでのオーディオ周りについては以下