Genのexportcodeを使ってAUプラグインをつくる

English version is ready: 英語

スクリーンショット 2014-04-01 16.31.42

Cycling74 Max6 のGen を使ってAudio Unit (AU)プラグインをつくります。

Max6 + Gen では信号処理を定義したgen~ オブジェクトにexportcode メッセージを送ることでC++コードを生成しVSTやAUプラグインの作成に利用することができます。作成したオリジナルプラグインは様々なDAWソフトで利用できます。今回はビルド環境の整備と簡単なパッチを利用したプラグインの作成から利用までの流れを試してみました。

 

 

準備
まずは準備から。以下のページからgen 用のAUテンプレートをダウンロードします。
Gen Code Export AU

スクリーンショット 2014-04-01 15.42.28

展開すると”MyAU”というプロジェクトフォルダがあります。
これを自分用に複製します。ターミナルで”duplicate.py”のある階層にいって

YourAU MyCompany にそれぞれプラグイン名とベンダー名を入れます。
今回は「TestAU」というプラグイン名にしました。

 

パッチの作成
Max + Gen でパッチを作成します。
今回はシンプルにこんなパッチにしてみました。

スクリーンショット 2014-04-01 15.21.32

片方のチャンネル(in 2) を逆相にして足し合わせることで両チャンネルに共通な音をキャンセルします。
これでボーカルがど真ん中にある曲ならばボーカルが消えてくれるはず。

スクリーンショット 2014-04-01 15.24.55

メインのパッチは確認含めてこんな感じで。
exportcodeメッセージを送って gen_exported.cppgen_exported.h を作成します。

 

Xcodeの設定
続いてXcode側の準備に入ります。
Apple Developer からビルドに必要なCoreAudio のユーティリティクラスをダウンロードしてきます。
Core Audio Utility Classes
例えば/Applications/Developer フォルダをつくり、ダウンロードした”CoreAudio”フォルダをそこに配置します。

場所は一例ですのでどこでもいいと思います。

先ほど複製したXcode プロジェクトのBuild Settings でCORE_AUDIO_LOCATION を検索。
上で配置した/Applications/Developer/CoreAudio であることを確かめます。

スクリーンショット 2014-04-01 15.49.25

ここで先ほどつくった gen_exported.cpp と gen_exported.h を既存のファイルに上書きします。

いよいよビルドします!これで出来た.component ファイルを配置します。Macであれば普通

 

これでひとまず完了です。
お手持ちのDAWなどでステレオのオーディオトラックにインサートします。
Studio One であれば画面左ブラウズのエフェクトの一覧に「TestAU」が現れると思います。
オンにして、トラックがモノラルに聞こえてボーカルの音量が下がっていたら成功です。

studio

 

信号処理をコードでゴリゴリかくのは大変ですが、Genのexportcodeを使うことで簡単にAUプラグインが作成できました。ビルド前のプロジェクトに機能を足していくことで音楽ソフトと他との連携の可能性が広がりそうです。

ちなみに、はじめはVSTのほうが汎用性が高いかなと思ったのですがSteinberg 社のVST SDK の2.x系は開発および配布が終了しているようで、Gen側は3.x系に対応していないようなのでAUに落ち着きました。いずれそちらもなんとか試してみたいところ。

 

Hiroki Sato

 

参考:

http://cycling74.com/wiki/index.php?title=Category:Gen_Code_Export