Maxでvstプラグインを書く

どうやら、Max6.1で、Genに(Vstプラグインとかを書くときに使える)Cのコードを吐き出す機能が追加されたようです。

僕の記憶では、確かMaxの4(Max/MSPと呼ばれてた時代)のときには、vstを吐き出す機能があったと思うのだけれど、5,6でなくなっていました。それが復活したと。

なお、この記事は既にC++でvstプラグインを書いたことがある人を対象にしています。あんまりイメージがつかめていないひとは、こことかを読むと良いと思います。

 

手順は、Cycling’74のwikiに乗っている通りですが、解説します。僕はwinユーザーなので、VisualStudioを使ってコンパイルする場合で書きます。

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

 

①Maxを6.1にアップグレードする

上にもかきましたが、Max6.1じゃないとこの機能は使えません。あと当たり前ですが、Genも買ってないとだめ。

 

②コンパイル環境を入手する

vstプラグインを書く人なら大丈夫だとは思いますが、XcodeもしくはVisualStudioの2010以降が必要。(僕はVS2012で試しました。)

 

③SteinbergからVST2.4のSDKを落とす

http://www.steinberg.net/en/company/developer.html

から3rd Party Developer登録をして、SDKを入手します。Genのexportcode機能はVST2.4までしか対応してなくて3.x以降は未対応なので注意。

 

④Max上で,gen~の中にvstプラグインに吐き出したい処理を書く

 

⑤作ったgen~オブジェクトにexportcodeメッセージを送る

この辺はMax上でgen~のヘルプを読んでも良いかもですね。

メッセージを送ると、gen_exported.cppとgen_exported.hというファイルが生成されます。

 

⑥wikiからサンプルコードを落とす

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

からMyVSTPlugin.zipをダウンロードします。

 

⑦落としたサンプルコードのプロジェクトを開く

winの場合はVS2010用のプロジェクトが用意されてますが、VS2012で開いて、それ用にコンバートしてしまっても大丈夫みたいです。

開いたらリソースに、先程落としたVST2.4のSDK内のvstsdk2.4\public.sdk\source\vst2.xの中身を加えます。ここは普通にC++で直接vstプラグインを書く時と同じですね。

さらに、さっきgenでexportした2つのファイルを、サンプルコードのフォルダにある同名ファイルに上書きします。

 

⑧コンパイル

コンパイルします。するとdllが吐き出されます。

動きます。ヽ(‘ω’)ノ三ヽ(‘ω’)ノ

普通にVS2012でvstプラグインを書くときは、プロジェクトの設定とかdll吐き出すときの設定をしないといけないですが、今回はサンプルコードを改造する形で作るのでそのへんは必要ないです。すばらしい└( ‘ω’)┘

 

 

まとめ

音声処理を行う部分を、genで吐き出すことができる感じです。いきなりdllが吐き出されるわけではない。
ただそれでも十分有用なので、max6.1+genを持っているvstプラグイン開発者の人は、使ってみると面白いと思います。

とにかく、Maxでvstプラグイン書けるって、すごいことです。
実際にどんな音がでるのか確かめながらパッチを作っていって、完成したらそれがそのままCのコードになるんだからすごい。

手で書くときは、いちいちコードを書き換えて→コンパイルして→聴いて確かめて→ってことを繰り返さないといけないわけですからめっちゃめんどいわけです。

 

まだこの機能はベータ版らしいですが、十分使えます。僕も折角持っているので、使っていこうと思います。

 

だいぶ雑な感じでしたが、おしまい。

 

※余談ですが、Max6.1の日本語化パッチが出てるっぽいです。
https://www.mi7.co.jp/products/cycling74/downloads/
6.0は日本語から英語にもどすのがファイル操作とかしなくちゃいけなくてちょっと面倒でしたが、6.1では楽になってます。

0 Comments

Leave a Reply

Your email address will not be published.