【Claude AI】一瞬でMax for Live開発ができる時代になった!
今日、Delay & Reverb Time CalculatorというサイトをMax Audio Effectとして使えたら便利だなと考え、アイディアをClaudeに投げたら、まさかのmaxpatファイルとjsuiスクリプトファイルを勝手に生成してくれてしまった。1日かけて試行錯誤して作る予定が5分で終わったのです。
無料でダウンロードできます!ぜひお使いください。
作ったもの:Delay & Reverb Time Calculator
音楽制作をしている人ならご存知の「BPMに同期したディレイ・リバーブタイムの計算」。
今のBPMで1/4音符は何ms?
ホールリバーブのプリディレイは?
ドット音符やトリプレットは?
毎回計算サイトを開くのが面倒で、「これをAbleton Live上で常時表示できるM4Lデバイスにしたい」と思ったのが始まりでした。
目標スペック
Live の BPM を自動取得してリアルタイム更新
Reverb:Hall / Large Room / Small Room / Tight Ambience の4サイズから1つ選んで PRE-DELAY・DECAY TIME・TOTAL REVERB TIME を表示
Delay:1/1〜1/512の10種から1つ選んでNORMAL・DOTTED・TRIPLETのms&Hzを表示
Abletonのデバイスビューに収まるサイズで表示
開発の流れ
Step 1:参考画像を渡してお願いする
まず、ウェブで見つけた計算表のスクリーンショットをClaudeに貼り付け、「これと同じものをMax for Liveで作って」と伝えました。
するとClaudeは画像を読み取り、数値の法則性を自分で解析し始めました。
画像から数式を逆算して、コードに落とし込むロジックを自分で導き出したのです。これは正直、驚きました。
Step 2:2つのファイルが生成される
Claudeが出力したのは2つのファイル。
① DelayReverbCalc.js(jsuiスクリプト)
Max for Liveの jsuiオブジェクトで動くJavaScript。mgraphics APIを使って表をゼロから描画します。BPMはLiveの LiveAPI を通じて200msごとに自動ポーリングしようとしたそうですが、うまくいっていなかったのでMax for Liveの plugsync~ オブジェクトを通じてLiveのトランスポート情報を取得しました。
javascript(うまくいってない)
function loadbang() {
liveAPI = new LiveAPI("live_set");
pollTask = new Task(function () {
var t = parseFloat(liveAPI.get("tempo"));
if (!isNaN(t) && t > 0 && Math.abs(t - bpm) > 0.005) {
bpm = t;
mgraphics.redraw();
}
}, this);
pollTask.interval = 200;
pollTask.repeat();
}② DelayReverbCalc.maxpat(Maxパッチ)
Max独自のJSON形式のパッチファイル。
Step 3:「全部表示すると収まらない」→ UI設計を変更
最初のバージョンは全データを一覧表示するものだったが、「画面に収まらないかも」と気づき、方針を転換。
「1つ選んで表示する方式にして、インレットを2つ追加して選択できるようにしてほしい」
するとClaudeは inlets = 3 でインレット数を宣言し、inlet グローバル変数でどこから信号が来たかを振り分けるコードを書いてくれました。
javascript
inlets = 3; // BPM / Reverb選択 / Delay選択
function msg_float(v) {
if (inlet === 0) { bpm = v; }
else if (inlet === 1) { reverbIdx = Math.round(v); }
else if (inlet === 2) { delayIdx = Math.round(v); }
mgraphics.redraw();
}Step 4:169pxの壁
「Abletonのデバイスビューに収まる高さを調べて」と聞くと、Claudeは即座に公式ドキュメントを検索し、
「Live devices の高さは固定で 169px です」(Cycling '74 公式ドキュメント)
という答えを持ってきました。
現行デバイスは220px超。即座に全レイアウトを計算し直し、169px以内に収まるよう再設計してくれました。
まとめ
通常であれば、M4Lのドキュメントを読み漁り、mgraphics APIの使い方を調べ、JSONパッチ形式を理解し…と1日かかっても不思議ではない作業。
Claude AIは「アイデアを持つ人」と「それを実装できる環境」の間にある壁を、劇的に低くしてくれたように感じました。
Max for Liveに限らず、「こんなツールがあったらいいな」というアイデアを、今すぐ形にできる時代になったのだということを、今回の体験で強く実感しました。
あなたのアイデア、Claudeに話しかけてみては?
改めまして、ダウンロードはこちらから↓
