ビジュアル・プログラミング・ソフトのMaxは、Ver.8.0において複雑な並列処理を簡易化できるMCやMIDIコントローラーから即座にマッピングできる機能、さらにVisualize Moduleを包括したVizze 2などが実装されましたが、昨年11月にVer.8.5へとアップデートされ、新たにRNBO(レインボー)に対応しました。そこで本稿ではRNBOを中心に紹介していきます。
Maxのパッチを多彩なターゲットへワンクリックでエクスポートできる
RNBOとは新しいパッチング環境で、“1つのパッチからさまざまなフォーマットへ”をテーマにしています。具体的には、VST3/AU、MaxのExternalオブジェクト、WebAudio、C++などのフォーマットへエクスポートすることが可能です。これらはペダル・エフェクターやEurorackモジュラー・シンセ、そしてDAWにおいてはプラグインとして使用できます。Maxの一ユーザーとして、私もこのリリースをうれしく思っております。
Max内で公式認可された機能をインストールするPackage ManagerからRNBOをインストール後、rnbo~オブジェクトを作成しクリックすると、別ウィンドウでパッチ画面が開きます。
UIオブジェクトを除く、大多数のオブジェクトはMaxと同様です。しかしMaxには存在し、RNBO内にはないオブジェクトや、RNBO内のみに存在するオブジェクトもあるため、パッチングには多少の慣れが必要でしょう。
RNBO内でのパッチング後に、右のサイド・メニューにあるexport sidebarからターゲットを指定してエクスポートできます。Maxと同じく、各オブジェクトのHelp画面へ簡単に飛べるので安心です(右クリック・メニューからOpen Helpを選択)。それでは、エクスポートのターゲットごとに詳細を解説していきましょう。
■VST3/AUへのエクスポート
Maxには、ABLETON Live内でプラグインのように扱えるMax for Liveというフォーマットが存在し、Maxのみでオーディオ・エフェクト、MIDIエフェクト、インストゥルメントを簡単に作ることができます。Max for Liveはプログラマーだけでなく、アーティストにも広く使われていますが、Liveでしか扱えないため、APPLE LogicやSTEINBERG Cubaseなど、ほかのDAWユーザーには共有、販売することができませんでした。
しかし、RNBOのVST3/AUへのエクスポート機能によって、それらのフォーマットに対応するDAWすべてにおいて使えるプラグインを“ワンクリック”で書き出すことができます。
複雑にレイヤーが分かれる処理やGUIのカスタムなどは不可能ですが、サクッとRNBOでパッチを作り、即座に書き出してプラグインとして共有できます。プラグインを作る際、C++やRustなどコード・ベースのプログラム言語が必須の現状では、驚くべき機能です。
なお、RNBOにはC++コードでのエクスポート機能もあるので、信号処理部分はそのコードを使用し、GUI部分はJUCE(C++のフレームワーク)と組み合わせて作成するなど柔軟に使用できる点も魅力的です。
■Max Externalオブジェクトへのエクスポート
Maxで作ったプログラムはその仕組み上、Maxで開くため中身を隠すことができません。そこで、コアの隠したい処理部分をRNBOのExternalオブジェクトとしてエクスポートすることで、Maxからは見えない状態にできます。
これはMax for Liveを販売している人にとって役に立つ一方、使用されるOSや環境に合わせてExternalオブジェクトもアップデートする必要が出てきてしまいます(Max内製のオブジェクトのみで作っていれば、こうしたアップデートは必要ありません)。
2023年1月31日現在、Liveの最新版にバンドルされているMax for LiveにはまだRNBOが含まれていません。Maxの最新バージョンをローカルで指定して使うことも可能ですが、シェア等を考えている場合はRNBOが搭載されるまで待ったほうがよいかもしれません。
Web上でのオーディオ・アプリやハードウェアのエフェクターへも展開可能
■WebAudioへのエクスポート
センサーやDMXなどさまざまな分野でも“接着剤”として活躍するMaxですが、ついにRNBOの登場でWebAudioとも結び付けられる時代がきました。
RNBOは、ブラウザー内にて動くWebAssembly(WASM)のフォーマットへのエクスポートも可能です。ABLETONが自社のWebサイトにて公開しているLearning Synthsのオーディオ部分の実装も、RNBOで行われています。今後、RNBOで作ったパッチをLearning Synths内のモジュラー・システムへエクスポートできる未来もそう遠くないかもしれません!
私も所属しているAbleton and Max Community Japan(AMCJ)では毎月、リットーミュージックが運営するイベント・スペースの御茶ノ水RITTOR BASEから、サウンドハッカーに向けた学習エンタメイベントを配信しています。2023年2月25日開催の回では、WebエンジニアのYOGOさん(Twitter:@yogo_yuichi)とコラボレートし、2Dパッド(XYパッド)を備えたシングル・モーション・グラニュラー・エフェクトをWebへ実装するワークショップを行う予定です。シンプルなグラニュラーではなく、スマートフォンから操作することを想定し、フリックの速さやタップしている時間から直感的に複雑な音を作れる仕組みとなっています。
イベント当日のリアルタイム配信のほかに、アーカイブ動画も一定期間視聴できるので、ぜひチェックしてみてください(チケットの詳細に関してはRITTOR BASEのWebサイトをご覧ください。アーカイブ動画の視聴期間は3月11日までを予定しています)。
■Raspberry Piへのエクスポート
RNBOは、Raspberry Pi 3/4へのエクスポートにも対応しています。RNBOにPythonスクリプトを組み合わせて、センサーやディスプレイ、LEDと統合させているユーザーもいます。MaxからエクスポートできるハードウェアとしてELECTROSMITHのDaisyが挙げられますが、Genオブジェクトのみのエクスポートになります。したがってモジュラー・シンセやペダル・エフェクターなど、シンプルなオーディオ・エフェクトと相性が良いでしょう。
一方、オーディオ・インスタレーションなど複数のセンサーなどと組み合わせる場合は、MIDIやOSCにも対応もしているRNBOのRaspberry Piへのエクスポートの方が適しているかもしれません。
今後、より安価でサイズの小さいRaspberry Pi Zeroへのエクスポートも可能になれば、RNBOがより盛り上がっていく一つの要素になると感じています。
■RNBOとGen
Max/Mspオブジェクトで実装しているMaxパッチをRNBOへ移植する場合、RNBO内に存在しないオブジェクトをほかのオブジェクトで補完する必要があります。しかし、RNBOはGenをサポートしているので、Genで元のMaxパッチを実装すれば、信号処理部分をコピー&ペーストで完了させることができます。Genを利用することにより、条件文やfor文、関数などのノード・ベースでは難しい処理を、コードでシンプルに書くことも可能です。コンパイル時間も非常に短いため、音を聴きながらコードをスピーディに書いていくことができるでしょう。AMCJでは、Genの信号処理の解説も頻繁に行なっております! Twitter(@AMCJ_Official)をチェックしてみてください。
RNBO内のCodeboxオブジェクトには、GenのほかにJavascriptのような記法でコードを書ける仕組みがあります。
この記法では、なんとリスト処理もサポートされています。JSオブジェクトを利用しなければ難しかった処理も、RNBOのCodeboxで実装できるかもしれません。
RNBOと共に、さらに多くのプラットフォームとMaxを結び付けていきましょう。Happy Patching!!
kentaro
【Profile】twitter: @kentaro_tools
CYCLING '74 Max 8.5 + RNBO
Max 8(レギュラー版):48,400円|RNBO:40,150円|Max 8 + RNBOバンドル:88,550円
REQUIREMENTS
▪Mac:macOS X 10.11.6以降(INTEL Core 2 Duo以上、またはAPPLEシリコン)
▪Windows:Windows 8以降(64ビットのINTEL、またはAMDマルチコア・プロセッサー)
▪共通項目:4GB RAM(8GB以上推奨)、インターネット接続環境(インストール、オーソライズ時)