藤本健のDigital Audio Laboratory
第706回
iOSのDTM連携「Audio Units」対応アプリが増加。曲作りも進化する?
2016年12月26日 12:38
今年1月に、「第664回:GarageBandが他アプリと連携強化。新機能Audio Units Extentionで何が変わる?」という記事を書いた。iOSでもAudio Unitsが使えるようになるという話だったが、それから1年で、OSもiOS 10になるとともに、DTM環境も大きく進化してきている。いまどのようなことができるようになったのか、macOSとの関係がどうなっているのかなどについてまとめた。
Audio Units対応によるユーザーのメリット
まず、以前の記事について最初に訂正しておいたほうがよさそうなのが、その名称。「Audio Units Extention」ではなく「Audio Unit Extentions」が正しいようだ。ただ一般的には「Audio Unit Extentions」とも表現はせず、iOS上で普通に「Audio Units」と呼んでいるし、iOS版のGarageBandの画面でもAudio Unitsとあるので、ここではAudio Unitsと記載することにする。
改めて整理すると、Audio UnitsとはもともとMac OS Xで誕生したオーディオのプラグインフォーマットであり、AU Effectsと呼ばれるエフェクトとAU Instrumentsと呼ばれる音源が存在する。正確にはこの2つのほかに、MIDIコントロールが効かず音だけを発生させるAU Generator、MIDIをやり取りするAU MIDI Processorsといったものもあるそうだが、一般的にはほとんど見かけないので、AU EffectsとAU Instrumentsを知っておけばよさそうだ。似たものとしてはSteinbergが規格したVSTがあり、これはWindowsでもMacでも使えるものとなっているが、Audio UnitsのほうはMac専用であり、かつOSレベルで組み込まれたシステムとなっている。
そのAudio Unitsも歴史的に見ると2001年のMac OS 10.0のときから存在しているので、もう16年もの歴史を持つことになる(WWDC 2015のビデオ)。
システム的にはiOS 2.0から組み込まれていたそうで、内部的なI/Oやミキサーなどがこれによって実現していたようだ。そのAudio Units、開発用ツールであるSDKやアクセス先であるAPIについては2002年にAU v2というバージョンになり、そのまま長年これが使われてきた。そのため、Mac用に存在するほとんどすべてのAudio UnitsのプラグインはAU v2準拠ものと考えていいだろう。一方、Appleでは2015年にAU v3を発表し、開発者にはAU v3への移行を促しているのだ。そしてAU v3の最大のメリットがMac OSXとiOSとのクロスプラットフォームになっているという点。つまり1つプラグインを作れば、Mac OSXでもiOSでも使えるというのである。よく、Mac OS XとiOSのシステム統合という話題が登場するが、オーディオプラグインの世界においても、そこがじわじわと現実化してきているようだ。
では、実際ユーザーにとって、どのような恩恵があるのだろうか? 1月の時点で、Audio Unitsが利用可能なiOSアプリはAppleのGarageBandのみだったが、今は数多くのアプリで使えるようになってきた。具体的に挙げると、下の表のようなアプリが対応してきている。
たとえばSteinbergのCubasisの場合、9月にCubasis 2.0(Cubasis 2)へとバージョンアップし、UIが改良されたり、リアルタイムストレッチ機能が搭載されるなどしていたが、このタイミングでAudio Unitsに対応し、Auriaも先日Audio Units対応を果たしている。
また、波形編集アプリであるTwistedWave Audio EditorもAudio Units対応したことでAudio Unitsのエフェクトを利用したオフラインでの編集が可能になっているし、MIDIシーケンサのmidiSTEPSもAudio Units対応したことで利用可能な音源の幅が広がった。
もちろん、Audio Unitsのホストになるアプリばかりが増えても使い道はない。プラグインであるクライアント側のアプリが増えないことには意味がないのだが、こちらも徐々に増えてきている。AU Instrumentsについていうと、やはり1月時点ではArturiaのiSEMのみが対応していて、ほかは皆無だった。しかし、現時点で把握できているものとしては、上の表のとおりで、いろいろと出てきている。さらにAU Effectsとなると、Blamsoftが6種類をリリースしているほか、数多くのものが登場している。
実際、GarageBandやCubasisなど、各ホストアプリからはインストールされているAU InstsやAU Effectsにアクセスでき、PCのDAWにプラグインを組み込む感覚で使える。もっともホストアプリの中には、AU Instrumentsのみ対応だったり、AU Effectsのみ対応というものも少なくない。たとえば、GarageBandの場合は、AU Effectsには対応していないので、あくまでもAU Instrumentsを音源として使うのみだが、ではAudio Unitsを使うメリットいうというのはどこにあるのだろうか?
iOSにはすでにInter-App AudioというAudio Unitsに限りなく近いシステムが存在していた。また、近いシステムとして、AudioBusというものもあったので、「いまさらAudio Unitsが出てきてもあまり意味がないのでは? 」と思う方もいるかもしれない。まあ、AudioBusはそもそもサードパーティーによる仕組みなので、別物だとしてもInter-App AudioはAppleが用意したシステムであり、考え方としてもそっくりだ。実際Inter-App Audioにも楽器として鳴らすためのInstrumentsとエフェクトとして使うためのEffects、さらに音を流すのみのGeneratorが存在してて、こちらのほうは、もう数えきれないほどのアプリが存在している。その点では、確かにInter-App Audioのほうが有利だが、どうやらAppleとしては開発者側に対し、Inter-App AudioからAudio Unitsへの転換を促しているようだ。
では利用者にとって、Inter-App AudioとAudio Unitsの違いはどこにあるのだろうか? 実は1点、決定的な差がある。それはInter-App Audioでは同じプラグインは1つしか組み込めないが、Audio UnitsならCPUパワーの許す限り自由に増やすことができるというメリットがある。つまりPCのプラグインと同様の使い方ができるわけだ。
たとえば、Cubasisでヤマハのフリーの音源、FM Essentialを使うという場合、Inter-App Audioならトラック1でベース用に使ったら、ほかのトラックでは利用できないが、Audio Unitsならトラック1でベース、トラック2でブラス、トラック3でエレピ、トラック4でベル……というように複数使えるようになる。
このことはエフェクトについても同様であり、トラック1に刺したコンプやEQをトラック2、3、4……と追加できるというのは、かなり大きなメリットといえるだろう。今後、iPadやiPhoneのCPUパワーがますます強化されていくと、各Audio Unitsの消費パワーも相対的に小さくなるので、自由度が増してくるはずだ。
macOSとiOSのAudio Unitsの連携は?
ここで期待したくなるのは、macOSとiOSにおけるAudio Unitsの互換性についてだ。同じ名前のシステムなのだから、Mac用に作られたものが、そのままiOSで使えるようになる日がくるのではないか……ということについてだが、その点について、先日、KQ Mini Synthを開発しているフリーのエンジニア、雲英亮太氏に話をうかがってみた。結論からいうと、そう簡単にはいかないようだ。「iOSで動作するAudio UnitsはAudio Units v3のSDKで開発するため、iOSでも動作する一方で、Mac環境でも動作します。ただし、ここで動作するというのはエンジン部分の話であってGUIは別。やはりMacとiOSではかなりGUIが異なるため、それぞれ用に作る必要があって、簡単ではありません。コマンドラインレベルであれば、Macでも動作することは確認できましたが、Macに移植するとなると、一筋縄ではいかなそうですね」とのこと。
さらに、現在、Mac用にリリースされているほとんどのAudio UnitsのプラグインはAudio Units v2のSDKで開発されているとのことで、このv2とv3はまったく別モノといっていいほど異なる仕組みなので、簡単に移植できるものではないようだ。もっとも、macOS側にv2で作ったAudio Unitsとv3で作ったAudio UnitsのアプリやAPIのブリッジ機能は用意されている。そのため、ユーザーはどちらで作ったかを知る必要はなく、とくに混乱することもなく使うことはできるが、v2で作ったものをiOSで動かすという手段はないので、やはりiOSで使えるようにするには、v3で作り直さなくてはならない。そう考えると、やはり簡単にいくものではなさそうだ。
とはいえ、1年でこれだけの対応アプリが増えてきたことを考えれば、今後はどんどんAudio Units v3対応のものが増え、開発当初から2種類のGUIを意識しておけば、それぞれの環境で動くAudio Unitsのプラグインを作ることは可能になってきそうだ。現時点はまだ移行の過渡期といえそうだが、2017年には、もっと多くのアプリが対応してくるのではないだろうか?