Ableton Mcp Lofifren について
Ableton Mcp Lofifrenは、Claude AIとAbleton Liveを接続するMCPサーバーのフォークで、会話を通じた音楽制作やセッション編集に使えます。Liveの操作を拡張し、バッチ処理やルールベースの人格システムによるMIDIパート生成を備えています。
主な機能
- 01トラックとMIDIクリップの一括作成
- 02ミキサー、デバイス、シーンの操作
- 03コード、スケール、ドラムパターンの生成
- 0433種類のスタイル人格によるパート生成
- 05アレンジメントビュー用ツール(ベータ)
活用シーン
- 01会話で曲のセッションを組み立てる
- 02コード進行からMIDIパートを生成する
- 03Liveのトラック、デバイス、ミックスを調整する
MCP 対応
Ableton Liveのセッション、トラック、クリップ、デバイス、アレンジメント操作を、Claude AIなどのクライアント向けMCPツールとして公開します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
AbletonMCP - Ableton Live Model Context Protocol 統合
フォークに関するお知らせ: このプロジェクトは
ahujasid/ableton-mcpのフォークで、33 種類のパーソナリティスタイルシステムと約 35 個の追加 MCP ツールを搭載しています。元のプロジェクトは Siddharth Ahuja によるもので、引き続き MIT ライセンスで提供されています。このフォークはableton-mcp-lofifrenとして PyPI で公開されています。
AbletonMCP は Model Context Protocol(MCP)を通じて Ableton Live を Claude AI に接続し、Claude が Ableton Live を直接操作・制御できるようにします。この統合により、プロンプトを活用した音楽制作、トラック作成、Live セッションの操作が可能になります。
コミュニティに参加する
フィードバックを共有し、インスピレーションを得て、MCP を活用して開発しましょう:Discord。Siddharth が制作しました。
このフォークの新機能
このフォークは上流の ahujasid/ableton-mcp を大幅に拡張しており、目標は 1 つのプロンプトで楽曲全体を作ること です。元の PR #84 の変更(クリップ編集、ミキサー制御、シーンの再生、オーディオトラック作成、取り消し)は引き続き含まれており、上流には ahujasid/ableton-mcp#84 として提案されています。さらに、このフォークでは 6 つの階層にわたる約 35 個の追加 MCP ツールに加え、Coltrane や Bill Evans から Timbaland、Metro Boomin まで、ジャズ、フュージョン、R&B、ヒップホップ、モダントラップを網羅する 33 種類のパーソナリティを備えたルールベースのスタイルシステム が追加されています。
階層 1 — 複合的な「楽曲の骨組み」ツール(1 回の呼び出しで複数の手順を実行)
setup_session(tempo, time_signature, tracks=[…])— 1 回の往復でセッション全体を準備します。テンポ、拍子に加え、名前、楽器、音量、パンを任意で指定できる N 個のトラックを設定します。create_clip_with_notes(track, clip, length, notes, name?)—create_clip、add_notes_to_clip、set_clip_nameをまとめて実行します。create_clips_with_notes(clips=[…])—create_clip_with_notesの一括実行版です。複数パートの楽曲スケッチ用に、1 回のリモートバッチで複数の MIDI クリップを作成し、名前を付けます。generate_personality_clip(track, clip, personality, chord_progression, ...)— パーソナリティを使ったワークフローを一括実行します。クリップを作成し、パートを生成して、ノートを書き込み、必要に応じてクリップに名前を付けます。create_track(type, name?, instrument_uri?, volume?, pan?, index?)— 作成 → 名前付け → 読み込みの一連の処理を 1 回の呼び出しで実行します。duplicate_clip(src_track, src_slot, dst_track, dst_slot)— トラックをまたいでクリップを複製します。(上流のduplicate_clip_toは同じトラック内でのみ動作します。)
階層 2 — 不足していた基本機能
- 拍子 —
set_time_signature(numerator, denominator) - クリップ編集 —
set_clip_loop、set_clip_length - ミキサーの状態 —
set_track_arm、set_track_mute、set_track_solo、set_master_volume - トラックのライフサイクル —
delete_track - デバイス —
set_device_parameter(Live の生の値を使用し、パラメーターの最小値・最大値の範囲内に制限します) - シーン —
create_scene、set_scene_name、set_scene_tempo
Tier 3 — ブラウザーの改善
search_browser(query, category?)— 名前でAbletonのブラウザーツリーを検索します(大文字と小文字は区別されません)。読み込みに使用できるURI付きで、最大50件の一致項目を返します。load_instrument_by_name(track_index, name, category?)— サーバー側で検索と読み込みを1回の呼び出しにまとめて実行します。URIを探し回る必要はありません。get_track_devices(track_index)— トラック上のデバイスと、各デバイスのパラメーターおよび値、最小値、最大値を一覧表示します。set_device_parameterを呼び出す前に必要です。get_parameter_display_value(track, device, parameter)/get_device_displayed_parameters(track, device)— 生の値とともに、Live上の表示形式(dB、Hz、ms、比率)でパラメーターを読み取ります。set_parameter_by_display_value(track, device, parameter, target)—"-9 dB"、"120 Hz"、"4:1"などの表示文字列でパラメーターを設定します。利用可能な場合はLiveのstr_to_valueを使用し、それ以外の場合はstr_for_valueを使った範囲制限付きの二分探索を行います。set_track_volume_db(track, db_value)— 生の0~1の浮動小数点数ではなく、dBでトラックフェーダーを設定します。
Tier 4 — 音楽向けヘルパー(サーバー側だけで処理し、音符の計算にリモートとの往復通信は不要)
add_chord_progression(track, clip, chords, rhythm?, octave?)—["Cm","Fm","G7","Cm"]のようなコード進行をクリップに直接書き込みます。トライアド、7th、sus、dim、aug、9th、11th、13thに対応しています。add_scale_run(track, clip, scale, start_beat, end_beat, direction?)— メジャー/マイナー/ハーモニックマイナー/ドリアン/フリジアン/リディアン/ミクソリディアン/ロクリアン/ペンタトニック/ブルース/クロマチックの任意の音階で、音階に沿ったフレーズを生成します。add_drum_pattern(track, clip, pattern, length, kit_map?)— プリセットパターン:four_on_floor、trap、breakbeat、boom_bap。デフォルトではGMドラムマッピングを使用します。quantize_clip(track, clip, grid?)— 音符を1/4、1/8、1/16、1/32のグリッドに揃えます。transpose_clip(track, clip, semitones)— すべての音符を一定の音程で移調します。
Tier 4 Plus — パーソナリティシステム(27人の名前付きプレイヤー、4つの役割、BPM対応)
パーソナリティとは、実在する演奏者の表面的なスタイル上の特徴(音符の密度、スウィング、音域、音階の種類、クロマチックの使用、ダイナミクス、アーティキュレーション)を捉えた、ルールベースのプロファイルです。ジェネレーターはこれらのルールをコード進行と組み合わせ、特定の演奏者の「スタイルを思わせる」一貫性のあるMIDIパートを生成します。機械学習ではなく、決定論的なルールベースで高速かつ拡張可能です(新しいパーソナリティは辞書エントリー1つで追加できます)。
各パーソナリティには、tempo_sweet_spotと、無理なく演奏できるtempo_min/tempo_maxの範囲が設定されています。ジェネレーターは現在のセッションテンポを自動取得し、曲のテンポがパーソナリティの範囲外の場合は密度/スウィングを調整して補正します。また、確認できるよう警告も出力します。
ツール
add_personality(track, clip, personality, chord_progression, bars_per_chord?, tempo?, octave_offset?, seed?)— 指定したパーソナリティのスタイルでパートを生成し、既存のMIDIクリップに書き込みます。役割(ソロ/コンピング/ベース/ドラム)に応じて自動的に処理を振り分けます。テンポを省略した場合は、現在のライブセッションのテンポを使用します。add_blended_personality_solo(track, clip, personality_a, personality_b, ratio, chord_progression, ...)— 2つのパーソナリティを補間したプロファイルからソロを生成します(例:コルトレーン70%+ケニー・G30%)。数値フィールドは線形にブレンドされ、カテゴリ別の選択肢はratio<0.5ならA、それ以外ならBから取得されます。list_personalities()— すべてのパーソナリティを役割別に分類し、名前、得意なテンポ、1行の説明とともに返します。add_personality_solo(...)—soloパーソナリティに限定した、add_personalityの旧式の別名です。
パーソナリティ一覧(全33種)
ソロ(9) — メロディック/リードライン
| キー | プレイヤー | 最適なテンポ | 表面的なスタイル |
|---|---|---|---|
coltrane | John Coltrane | 200 BPM | サウンドの奔流、半音階的なアプローチを交えたモーダルな音階フレーズ |
kenny_g | Kenny G | 95 BPM | 高音域のコードトーンをまばらに持続させ、余白をたっぷり取ります |
oscar_peterson | Oscar Peterson | 160 BPM | オクターブの重複、ブルース風の展開、劇的なダイナミクスを伴うスウィングしたビバップ |
miles_davis | Miles Davis | 120 BPM | クール/モーダル――小節の半分は休符で、目標となるコードトーンを狙います |
charlie_parker | Charlie Parker | 230 BPM | 密度の高いビバップ――すべてのコードトーンに半音階的にアプローチします |
wayne_shorter | Wayne Shorter | 140 BPM | モダンで角張ったスタイル――広い音程の跳躍、モーダル/オルタード |
pat_metheny | Pat Metheny | 130 BPM | リリカルなギター――リディアン/ドリアンの上で長いフレーズを奏で、ほぼストレートです |
stan_getz | Stan Getz | 100 BPM | クール/ボサノバ――滑らかな長いメロディーフレーズで、ほぼコードトーンを使います |
dizzy_gillespie | Dizzy Gillespie | 240 BPM | ビバップ・トランペット――超高音域で速い半音階的なフレーズを奏でます |
コンピング(6) — コードボイシング/コンピング
| キー | プレイヤー | 最適なテンポ | 表面的なスタイル |
|---|---|---|---|
bill_evans | Bill Evans | 110 BPM | ルートを省いた3度・7度のボイシングを持続させ、2分音符のパルスで柔らかくロマンティックに演奏します |
mccoy_tyner | McCoy Tyner | 180 BPM | 4度堆積(4度音程のコード)に、パーカッシブな16分音符のアクセントを加えます |
herbie_hancock | Herbie Hancock | 140 BPM | すべての裏拍でルートを省いたボイシングを奏でる、60年代Milesのポリリズミックなスタイル |
red_garland | Red Garland | 130 BPM | 4/4拍子の4分音符で、両手をそろえたブロックコードを奏でるハードバップ |
chick_corea | Chick Corea | 150 BPM | モダンなフュージョン――密度の高い5声のルートレス・ポリコードをシンコペーションさせます |
wynton_kelly | Wynton Kelly | 140 BPM | 先取りしたコンピングを伴う、ブルージーなハードバップのシェルボイシング |
ベース(6) — ベースライン
| キー | プレイヤー | 最適なテンポ | 表面的なスタイル |
|---|---|---|---|
james_jamerson | James Jamerson | 105 BPM | モータウン風の忙しいシンコペーションした8分音符、ゴーストノート、中音域のPベース |
jaco_pastorius | Jaco Pastorius | 120 BPM | 高音域のメロディックなフレットレス――コードトーン、大きな跳躍、スライド |
pino_palladino | Pino Palladino | 90 BPM | 滑らかなR&B――最低音域でルートと5度を奏でる、ゆったりしたグルーヴ |
marcus_miller | Marcus Miller | 100 BPM | スラップ・ファンク――親指とプルのダイナミクスが際立つ、非常にパーカッシブな16分音符 |
ray_brown | Ray Brown | 140 BPM | 低音域で安定した、ストレートな4分音符のジャズ・ウォーキング |
charles_mingus | Charles Mingus | 130 BPM | 表情豊かなウッドベースのウォーキング――劇的なダイナミクス、半音階、スライド |
house | ハウス(ジャンルプロファイル) | 124 BPM | 低音域の単音シンセベースで、各拍の「アンド」に裏拍のルート中心の音を奏でます |
ドラム(12) — ドラムキットのパターン
アコースティック/ライブドラマー
| キー | プレイヤー | 最適なテンポ | 表面的なスタイル |
|---|---|---|---|
questlove | Questlove | 88 BPM | ビートより大きく後ろに置いた深いグルーヴ、バックビートの間にゴーストノートを入れます |
tony_williams | Tony Williams | 220 BPM | 典型的なジャズのライドパターン、軽く鳴らすキック、強いスウィング、ビートより前に出ます |
vinnie_colaiuta | Vinnie Colaiuta | 130 BPM | ポリリズミックな16分音符のハイハット、シンコペーションしたキック、ゴーストノートの連なり、フィル |
j_dilla | J Dilla | 85 BPM | よれたヒップホップ――ビートより大きく後ろに置き、不規則なキックを意図的にルーズに演奏します |
elvin_jones | Elvin Jones | 220 BPM | 3連符のフィールによるポリリズミックなライドパターン、密度の高い3連符のゴーストノート、ビートより前に出ます |
stewart_copeland | Stewart Copeland | 130 BPM | レゲエロック――キックはまばらで、頻繁にオープンハイハットを交えた忙しい16分音符のハイハット |
ヒップホップ・プロデューサーのキット(MPC/サンプラー)
| Key | プレイヤー | 得意なテンポ | サウンドの特徴 |
|---|---|---|---|
timbaland | Timbaland | 96 BPM | グリッドから外れたシンコペーションキック、16分音符のスタッタリングハイハット、ボーカルパーカッションのゴーストノート |
dr_dre | Dr. Dre | 94 BPM | Gファンクのタイトでライブ感のあるグルーヴ、1拍目と「3拍目の裏」に控えめなキック、力強いサウンド |
dj_premier | DJ Premier | 92 BPM | クラシックなブーンバップ — 1拍目と3拍目に力強いキック、2拍目と4拍目に力強いスネア、フィルなし |
pete_rock | Pete Rock | 88 BPM | ゴーストスネアのロールを取り入れたジャジーなブーンバップ、わずかにビートより後ろに置く感覚 |
metro_boomin | Metro Boomin | 75 BPM | モダンなハーフタイムトラップ — 1拍目と「3拍目の裏」にキック、3拍目のみスネア、密度の高いハイハットロール |
madlib | Madlib | 92 BPM | ダスティーなMPCのよれたグルーヴ — 不規則なキック、ビートより後ろのタイミング、ローファイなゆるさ |
例
"Replace the lead in clip 0 of track 7 with a Coltrane solo over Cm Ab Eb Bb"
"Write a Bill Evans rootless comp into the chord track for the chorus"
"Generate a Jaco-style bassline for Cm Fm G7 Cm"
"Add a Questlove drum pattern to track 4, scene 3"
"Blend Coltrane and Kenny G 70/30 into a lead solo over the bridge"
"Write a Charles Mingus walking bass at the current session tempo"
Tier 5 — アレンジメントビュー(BETA)
get_arrangement_info— 機能の検出結果、曲の長さ、ループ範囲、ロケーター、トラックごとのアレンジメントクリップを報告します。add_clip_to_arrangement(track, slot, time)— BETA。セッションクリップをアレンジメントのタイムラインに配置します。機能の有無を事前に確認し、Track.duplicate_clip_to_arrangementを公開していないLiveバージョンでは、構造化された「未サポート」エラーを返します。Live 12.2.7で動作確認済みです。arrange_clips(placements=[…], loop_start?, loop_end?, loop_on?)—add_clip_to_arrangementの一括版です。1回のリモート呼び出しでセクション全体のマップを配置できるよう、オプションでアレンジメントのループを設定できます。set_arrangement_loop(start, end, on)— Live 11以降で安定して動作します。add_arrangement_locator(time, name)— ヴァース/コーラス/ブリッジのマーカーです。コミットと再試行のガードを使ってプレイヘッドをtimeに移動し(実際のコントロールサーフェスのティックを待ち、Liveが位置の書き込みを確定するまで再適用します)、その後キューを切り替えます。**Live 12.2.7で確認済み:**連続して呼び出しても、初回で指定どおりの位置に正確に設定されます。delete_arrangement_locator(time, tolerance=0.05)—timeからtolerance拍以内にある最も近いロケーターを削除します。範囲内にロケーターがない場合はエラーになります。clear_all_arrangement_locators— すべてのキューポイントを1つずつ削除し、実際に削除した件数を報告します。bounce_session_to_arrangement(scene_order, bar_length?)— BETA。シーンのシーケンスをアレンジメントのタイムラインにレンダリングし、セッションのスケッチからアレンジメントまでを1回の呼び出しで行うワークフローです。get_arrangement_infoのcan_duplicate_to_arrangement: trueが必要です。render_arrangement_to_wav(track_index, start_beat, end_beat, out_path?, tail_seconds?)— ヘッドレスでディスクにバウンスします。手動のオーディオ/ビデオ書き出し操作を行わずに、アレンジメントの範囲を.wavに直接レンダリングします。LiveのLOMにはファイルへの書き出し呼び出しがないため、内蔵のリサンプリング入力(マスターバス、フェーダー後、フィードバックループなし)を使ってオーディオトラックをアームし、アレンジメントをリアルタイムで録音します。その後、生成されたクリップのファイルパスを読み取り、トラックの入力とアームの状態を元に戻します。範囲のリアルタイム再生時間にtail_secondsを加えた時間ほど、サーバー側で処理がブロックされます。
Tier 6 — インフラストラクチャと使い勝手
batch_commands(commands)— N 個のリモートプリミティブコマンドを、1 回のソケット往復で送信します。バッチ全体は Live 側の単一のメインスレッドクロージャ内で実行されるため、Live から見るとアトミックであり、その後にundoを 1 回実行すればシーケンス全体を元に戻せます。最初の失敗で停止し、部分的な結果を返します。create_clip_with_notesやgenerate_personality_clipなど、サーバー側の複合ツールはbatch_commands内では使用できません。代わりに、それぞれの一括処理形式を使用してください。- ウォームパスの自動再接続 —
send_commandはBrokenPipeError/ConnectionResetErrorが発生すると 1 回再試行するため、Ableton の短時間の再起動でセッションが切断されなくなりました。 - クリップの自動延長 —
add_notes_to_clipは、指定されたノートがクリップの終端で途切れる場合、クリップのend_markerを延長するようになりました。これは上流版からの動作変更です。上流版ではクリップの終端を超えるノートが通知なく破棄されていました。 - 拡張された
get_session_info—scene_count、scene_names、is_playing、current_song_time、arrangement_lengthも報告するようになりました。 - 内部ディスパッチのリファクタリング — リモートスクリプトのコマンド用 if/elif チェーンを 2 つのディスパッチ辞書に置き換え、今後ツールを追加する際の変更が 30 行の編集ではなく 1 行で済むようになりました。また、存在しないメソッドを参照していた 3 つの不要なコード分岐も削除しました。
安定性の修正(PR #84 から引き続き含まれています)
- 破壊的なコマンドに影響する可能性があったタイムアウトの競合を修正しました。
get_clip_notesは直接実行されます。 load_browser_itemが変更を伴うコマンドとして正しく認識されるようになりました。_find_browser_item_by_uriでプラグイン/Max for Live/ユーザーライブラリ/パック/サンプルを順にたどることで、load_browser_itemがプラグイン URI を正しく解決するようになりました。そのため、get_browser_items_at_pathが返した URI から実際に読み込めます。- ブラウザー URI キャッシュでは、エントリーごとに 5 分間のソフト TTL を保持し、キャッシュ済みアイテムを返す前に検証するようになりました。そのため、ブラウザーの再スキャン後に古くなった参照は破棄され、
load_itemが通知なく失敗することはありません。
機能
- 双方向通信:ソケットベースのサーバーを介して Claude AI を Ableton Live に接続します
- 1 回の呼び出しでセッションを初期化:
setup_sessionで、プロジェクト全体(テンポ、拍子、トラック、楽器、ミックス)を 1 回の往復で作成します - 楽曲の一括スケッチ:
create_clips_with_notes、generate_personality_clip、arrange_clipsにより、複数トラックの楽曲制作を数回の呼び出しに減らせます - コマンドの一括処理:
batch_commandsで N 個のコマンドを一度に送信し、アトミックに取り消せます - 33 種類のパーソナリティ、4 つの役割:Coltrane、Bill Evans、Jaco、Questlove、Timbaland、Dr. Dre、Metro Boomin などのスタイルによるソロ/コンピング/ベース/ドラムに対応し、BPM に応じて調整でき、ブレンドも可能です
- トラック操作:MIDI/オーディオトラックの作成、名前変更、ミュート、ソロ、録音待機、削除、ミックス
- デバイス:すべてのデバイスのパラメーター一覧を最小値・最大値とともに読み取り、Live の生の値でパラメーターを設定
- 楽器とエフェクトの選択:名前でブラウザーを検索するか、単一の複合呼び出しで読み込みます
- クリップの作成と編集:MIDI クリップとノートの作成、編集、読み取り、複製(別トラックへの複製)、サイズ変更、ループ設定、削除(クリップ長の自動延長付き)
- 音楽理論のプリミティブ:コード進行、スケールラン、ドラムパターン、クオンタイズ、移調
- ミキサーの制御:トラックとマスターの音量、パン、リターントラックへのセンド
- セッションの制御:再生の開始/停止、個別のクリップやシーン全体の再生、シーンの作成
- アレンジメントビュー(ベータ版):機能検出を通じて、タイムラインへのクリップ配置、アレンジメントのループ設定、ロケーターの追加、シーン順序からアレンジメント全体への展開に対応します
- ヘッドレスのディスクバウンス:手動で「Export Audio/Video」を実行することなく、アレンジメントの範囲を
.wavファイルに直接レンダリングします - 取り消しのサポート:バッチ全体も 1 ステップとして、直前の操作を元に戻します
コンポーネント
システムは、次の2つの主要コンポーネントで構成されています。
- Ableton Remote Script(
Ableton_Remote_Script/__init__.py):コマンドを受信して実行するソケットサーバーを作成する、Ableton Live 用の MIDI Remote Script です - MCP Server(
server.py):Model Context Protocol を実装し、Ableton Remote Script に接続する Python サーバーです
インストール
注: 上流の
ableton-mcpPyPI パッケージと@ahujasid/ableton-mcpSmithery の掲載版をインストールすると、オリジナルのプロジェクトがインストールされます。このフォークに含まれるパーソナリティシステムや約35個の追加ツールは含まれません。このフォークを入手するには、以下の手順に従って PyPI からableton-mcp-lofifrenをインストールしてください。
前提条件
- Ableton Live 10 以降
- Python 3.8 以降
- uv パッケージマネージャー
Mac をお使いの場合は、以下の方法で uv をインストールしてください:
brew install uv
それ以外の場合は、[uv の公式ウェブサイト][https://docs.astral.sh/uv/getting-started/installation/]からインストールしてください。
⚠️ UV をインストールする前に先へ進まないでください
Claude for Desktop との連携
- Claude > Settings > Developer > Edit Config > claude_desktop_config.json に移動し、以下を追加します。
{
"mcpServers": {
"ableton-mcp-lofifren": {
"command": "uvx",
"args": ["ableton-mcp-lofifren"]
}
}
}
初回起動時に uvx が PyPI から ableton-mcp-lofifren を取得してキャッシュします。代わりに開発ブランチからインストールするには、args を ["--from", "git+https://github.com/LofiFren/ableton-mcp-lofifren.git", "ableton-mcp-lofifren"] に置き換えてください。
Cursor との連携
ワンクリック: この README の上部にある Add MCP server to Cursor バッジを使用します。設定が自動入力され、Cursor が開きます。
手動: Cursor Settings → MCP に移動し、次のコマンドを貼り付けます。
uvx ableton-mcp-lofifren
VS Code との連携
ワンクリック: この README の上部にある Install in VS Code バッジを使用します。VS Code 用 MCP 拡張機能が必要です。
手動: コマンドパレットを開き → MCP: Add Server → Stdio → コマンド uvx、引数 ableton-mcp-lofifren を選択します。
⚠️ MCP サーバーは1つだけ実行してください(Cursor または Claude Desktop のどちらか一方で実行し、両方では実行しないでください)。
Ableton Remote Script のインストール
-
このリポジトリから
AbletonMCP_Remote_Script/__init__.pyファイルをダウンロードします -
Ableton の MIDI Remote Scripts ディレクトリにフォルダーをコピーします。場所は OS とバージョンによって異なります。以下のいずれかで見つかるはずですが、探す必要がある場合があります。
macOS の場合:
- 方法1:Applications に移動し、Ableton Live アプリを右クリック → Show Package Contents → 次の場所に移動します。
Contents/App-Resources/MIDI Remote Scripts/ - 方法2:方法1で見つからない場合は、直接パスを使用します(XX はお使いのバージョン番号に置き換えてください)。
/Users/[Username]/Library/Preferences/Ableton/Live XX/User Remote Scripts
Windows の場合:
- 方法1: C:\Users[Username]\AppData\Roaming\Ableton\Live x.x.x\Preferences\User Remote Scripts
- 方法2:
C:\ProgramData\Ableton\Live XX\Resources\MIDI Remote Scripts\ - 方法3:
C:\Program Files\Ableton\Live XX\Resources\MIDI Remote Scripts\注:XX は Ableton のバージョン番号(例:10、11、12)に置き換えてください。
- 方法1:Applications に移動し、Ableton Live アプリを右クリック → Show Package Contents → 次の場所に移動します。
-
Remote Scripts ディレクトリに「AbletonMCP」という名前のフォルダーを作成し、ダウンロードした「__init__.py」ファイルを貼り付けます
-
Ableton Live を起動します
-
Settings/Preferences → Link, Tempo & MIDI に移動します
-
Control Surface ドロップダウンから「AbletonMCP」を選択します
-
Input と Output を「None」に設定します
使い方
接続の開始
- Ableton Remote Script が Ableton Live に読み込まれていることを確認します
- MCP サーバーが Claude Desktop または Cursor で設定されていることを確認します
- Claude を操作すると、自動的に接続が確立されます
Claude での使用
Claude の設定ファイルを設定し、Ableton でリモートスクリプトを実行すると、Ableton MCP のツールを示すハンマーアイコンが表示されます。
機能
- セッション、トラック、アレンジメントの情報を取得
- 1 回の呼び出しでセッション全体を初期設定(
setup_session) - 任意のコマンド列を単一のアトミックな取り消し可能操作として一括実行
- MIDI トラックとオーディオトラックの作成/名前設定/録音アーム/ミュート/ソロ/削除
- クリップの作成、編集、読み取り、複製(別トラック間)、サイズ変更、ループ
- MIDI ノートの追加、削除、移調、クオンタイズ
- ノートが現在の長さを超えたときにクリップを自動延長
- すべてのデバイスのパラメーター(最小値/最大値を含む)を読み取り、Live の生値で設定
- Ableton ブラウザーを名前で検索し、URI または名前で読み込み
- トラックの音量/パン/リターントラックへのセンド、マスター音量を設定
- テンポ、拍子、再生、個々のクリップ、シーン全体を操作
- シーンを作成し、シーンごとの名前/テンポを設定
- コード進行、スケールのフレーズ、プリセットドラムパターンを生成
- 著名なプレイヤーのスタイルでパートを生成 — ソロの個性 9 種(Coltrane、Kenny G、Oscar Peterson、Miles、Parker、Wayne Shorter、Metheny、Getz、Dizzy)、コンピング 6 種(Bill Evans、McCoy Tyner、Hancock、Red Garland、Chick Corea、Wynton Kelly)、ベース 6 種(Jamerson、Jaco、Pino、Marcus Miller、Ray Brown、Mingus)、ドラム 12 種(Questlove、Tony Williams、Vinnie、J Dilla、Elvin Jones、Stewart Copeland、Timbaland、Dr. Dre、DJ Premier、Pete Rock、Metro Boomin、Madlib)— すべて BPM に対応
- 2 つのソロの個性をブレンド(例:Coltrane 70% + Kenny G 30%)して、合成プロファイルを作成
- セッションのクリップをアレンジメントのタイムラインに配置(BETA)、アレンジメントのループを設定し、シーンの順序を完全なアレンジメントにバウンス(BETA)
- 直前の操作を取り消し — 一括操作全体も 1 ステップとして取り消し可能
コマンド例
Claude に依頼できる内容の例を紹介します。
- 「80 年代風のシンセウェーブトラックを作成して」デモ
- 「Metro Boomin 風のヒップホップビートを作成して」
- 「シンセベース音源を使った新しい MIDI トラックを作成して」
- 「ドラムにリバーブを追加して」
- 「シンプルなメロディーの 4 小節の MIDI クリップを作成して」
- 「現在の Ableton セッションの情報を取得して」
- 「選択中のトラックに 808 ドラムラックを読み込んで」
- 「トラック 1 のクリップにジャズのコード進行を追加して」
- 「テンポを 120 BPM に設定して」
- 「トラック 2 のクリップを再生して」
- 「トラック 3 のクリップ 1 のノートを読み取って、3 度上でハーモナイズして」
- 「ベースクリップのノートをすべて消去して、新しいパターンを書いて」
- 「スロット 1 のドラムクリップをスロット 2 に複製して」
- 「オーディオトラックを追加して、音量を -6 dB に設定して」
- 「ハイハットを少し右にパンして」
- 「リードボーカルの 30% を Return A に送って」
- 「シーン 2 を再生して」
- 「今の操作を取り消して」
- 「90 BPM、6/8 拍子で、Drums、Bass、Lead、Pad の 4 つの MIDI トラックがあるセッションをセットアップして」(
setup_session) - 「ブラウザーで Operator を検索して、トラック 0 に読み込んで」(
load_instrument_by_name) - 「コードトラックのクリップ 0 に Cm-Fm-G7-Cm の進行を書き込んで」(
add_chord_progression) - 「トラック 0 にフォー・オン・ザ・フロアのビートを追加して」(
add_drum_pattern) - 「リードクリップを 1/16 にクオンタイズして」(
quantize_clip) - 「ベースクリップを 7 半音上に移調して」(
transpose_clip) - 「トラック 1 をミュートして、トラック 2 を録音用にアームして」
- 「トラック 3 のデバイスのパラメーターを表示して」(
get_track_devices) - 「トラック 3 の最初のデバイスのパラメーター 4 を 8000 に設定して」(
set_device_parameter) - 「拍子を 3/4 に設定して」
- 「Bridge という名前の新しいシーンを作成して」
- 「シーン [0, 0, 1, 2, 1, 3] をアレンジメントにバウンスして」(
bounce_session_to_arrangement、BETA) - 「32 拍目に Drop という名前のロケーターを追加して」(
add_arrangement_locator) - 「リードを、Cm Ab Eb Bb に合わせた Coltrane のソロに置き換えて」(
add_personality) - 「コーラスのコードに Bill Evans 風のルートレスコンピングを書いて」(
add_personality) - 「ベースを James Jamerson 風に演奏させて」(
add_personality) - 「ヴァースに Questlove のドラムパターンを使って」(
add_personality) - 「Coltrane と Kenny G を 70/30 でブレンドして、リードに使って」(
add_blended_personality_solo) - 「利用できる個性の一覧を表示して」(
list_personalities)
トラブルシューティング
- 接続の問題:Ableton Remote Script が読み込まれていること、および MCP サーバーが Claude で設定されていることを確認してください
- タイムアウトエラー:リクエストを簡単にするか、小さなステップに分けてみてください
- 電源を切ってから入れ直してみましたか?:まだ接続エラーが発生する場合は、Claude と Ableton Live の両方を再起動してみてください
技術詳細
通信プロトコル
システムは、TCP ソケット上でシンプルな JSON ベースのプロトコルを使用します:
- コマンドは、
typeと任意のparamsを含む JSON オブジェクトとして送信されます - 応答は、
statusとresultまたはmessageを含む JSON オブジェクトです
制限事項とセキュリティ上の考慮事項
- 複雑な音楽アレンジの作成は、小さなステップに分ける必要がある場合があります
- このツールは、Ableton のデフォルトデバイスとブラウザー項目で動作するように設計されています
- 大規模な実験を行う前に、必ず作業を保存してください
貢献
貢献を歓迎します!お気軽に Pull Request を送信してください。
免責事項
これはサードパーティ製の連携機能であり、Ableton が開発したものではありません。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。