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では外部APIからの操作は不可能です。( Abletonは異なります - 参照) PythonでAbleton制御する.)
- プロジェクトの内容を読んでみましょう。 アップロードすると、再生可能なブラウザセッションとして開くか、解析可能な形式に変換されます。
- コードからプロジェクトを編集する: 構造変更のため、上記のREAPERテキストの往復を行います。
- コードからプロジェクトを生成する: 音声データをセッションデータに変換するか、コードが書き込める形式から変換します。
- Logic内でリアルタイムMIDIを処理する: スクリプター ― JavaScriptのみ使用可能。Pythonは不可。
よくある質問
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スクリプトはメニュークリックのシミュレートを意味するため、バージョン間で互換性が損なわれ、プロジェクトの内部構造に確実にアクセスすることはできません。開発の基盤としては不向きです。