§ ガイド · 開発者向け

Control Logic ProとPython:実際に機能するもの

2026年8月発行

まず率直な答えから: Logic ProはPython APIがありません。 スクリプト機能も、プロジェクトレベルの自動化機能も、この構成を実現できるプラグインSDKもありません。「PythonでLogic制御する」とは、Seleniumでブラウザを操作するように、実行中のアプリケーションを操ることを意味するのであれば、そのようなオプションはどのベンダーからも提供されていません。

しかし、このクエリを入力するほとんどの人は、実際にはLogicの再生ヘッドをコードから移動させる必要はありません。彼らが必要とするのは、次の3つのプログラム的な操作のいずれかです。 読む Logicプロジェクトには何が含まれていますか、 作成する コードからのLogicプロジェクト、または 変身 1つ目、そして3つすべてが今日でも機能しているのは、プロジェクトで活動しているからだ。 ファイル 実行中のアプリの代わりに。

Apple提供するもの(そして、なぜこれがそうではないのか)

Logic 、スクリプト作成のためのサーフェスが1つだけ同梱されています。 スクリプターこれは、チャンネルストリップ内でJavaScriptを実行するMIDI FXプラグインです。リアルタイムでそのストリップを流れるMIDIイベントのみを認識し、それ以外の操作はできません。アレンジメントを読み取ったり、トラックを追加したり、別のリージョンを操作したりすることはできません。これはクリエイティブなMIDIプロセッサーであり、オートメーションAPIではありません。さらに、 LogicのAppleScript辞書はほとんど空っぽで、 macOS UIスクリプティング(メニュークリックのシミュレート)は、ポイントリリースごとに不具合が発生するものです。どちらも、ツール構築の基盤としては不適切です。

実際に存在する表面:プロジェクトファイル

A .logicx はmacOSパッケージ(フォルダ)であり、そのプロジェクトデータは文書化されていないバイナリ形式です(詳細は に記載されています)。 .logicxファイル形式の内部Doseedo 、このためのネイティブパーサーとライターをプレーンなHTTP API経由で公開しており、「Pythonによる制御Logic 」を通常のコードに変換します。 requests コード:

import requests, time

API = "https://api.doseedo.com"
H = {"X-API-Key": "dsk_live_..."}  # doseedo.com/settings/api-keys

# 1 — presign, then upload the zipped .logicx project folder
r = requests.post(f"{API}/api/upload/r2/signed-url",
                  params={"filename": "MySong.zip",
                          "content_type": "application/zip"},
                  headers=H).json()
with open("MySong.zip", "rb") as f:
    requests.put(r["upload_url"], data=f,
                 headers={"Content-Type": "application/zip"})

# 2 — convert it (12 directions: logic|ableton|fl|reaper, any pair)
task = requests.post(f"{API}/api/convert", headers=H,
                     json={"source_key": r.get("path") or r.get("key"),
                           "direction": "logic2reaper",
                           "async": True}).json()["task_id"]

# 3 — poll, then download the finished project
while True:
    s = requests.get(f"{API}/api/convert/status",
                     params={"task": task}, headers=H).json()
    if s["status"] in ("done", "error"): break
    time.sleep(5)
out = requests.get(f"{API}/api/convert/result",
                   params={"task": task}, headers=H)
open("MySong_reaper.zip", "wb").write(out.content)

この例では、意図的にLogic → REAPER に変換しています。 .rppプレーンテキスト変換が完了すると、Python (または AI エージェント) はセッションをテキストとして解析および編集できます (トラック名、リージョン位置、 MIDI 、テンポ)。次に逆方向を実行します。 reaper2logicネイティブを取得するには .logicx 戻る。構造的な編集はこのループで維持されます。オートメーション、センド、プラグインの状態は、 Logic ↔ Ableton直接方向でのみ完全な忠実度で移動するため、アレンジ作業にはテキストの往復を維持してください。

コードからLogicプロジェクトを作成する

逆方向の場合、ソースプロジェクトは一切必要ありません。 POST /api/audio-to-session アップロードされたミックスを受け取り、ネイティブ .logicx: 名前付きトラック上の分離されたstems 、検出されたテンポマップ、オプションのステムごとのMIDI 、およびコードガイドトラック。1回の呼び出しで約4分で、アーティファクトがLogicで開きます。 音声からセッションページへ 返ってくるものを示す。

生のHTTPよりもエージェントを希望しますか?

ホスト型MCPサーバーとして同じツールが提供され、Claude Code、Claude Desktop、Cursorは1つのコマンドで接続でき、エージェントがアップロード、ポーリング、ダウンロードを自動的に処理します。

Doseedo MCPサーバー →

正直な意思決定表

よくある質問

Logic ProはPython APIはありますか?

いいえLogic Pro Python API、プロジェクトレベルのスクリプト機能、オートメーションインターフェースを提供していません。内蔵のScripterプラグインはJavaScriptで、 Logic内でのみ動作し、1つのチャンネルストリップを通過するMIDIイベントしか処理できません。プロジェクトの読み取りや変更はできません。

Pythonは.logicxプロジェクトを読み書きできますか?

既製のライブラリではそうはいきません。プロジェクトデータは .logicx これは非公開のバイナリ形式です。現在有効な方法は、HTTP経由でパーサーを動作させることです。圧縮されたプロジェクトをアップロードし、別のDAWの形式に再構築したり、再生可能なブラウザセッションとして開いたり、REAPERのプレーンテキスト形式で編集して元の形式に戻したりします。

コードからLogicプロジェクトを作成することはできますか?

はい、プログラム的に、オーディオから:1回のAPI呼び出しでミックスをネイティブに変換します .logicx 名前付きトラックに分離されたstems 、テンポマップ、オプションのステムごとのMIDI 、およびコードガイドを備えています。 .als, .flp または .rpp.logicx これも一つの通話です。

AppleScriptやUIスクリプトはどうでしょうか?

LogicのAppleScript辞書は最小限しかなく、UIスクリプトはメニュークリックのシミュレートを意味するため、バージョン間で互換性が損なわれ、プロジェクトの内部構造に確実にアクセスすることはできません。開発の基盤としては不向きです。

関連している