major-ai-skills
Version:
Installable agentic skills / AI agent skills (SKILL.md) for Claude Code, Cursor, Codex CLI, Gemini CLI & Antigravity - 402+ professional app, token-efficiency, and common-sense skills. SEO/GEO ready.
122 lines (92 loc) • 6.78 kB
Markdown
title: "Avid Pro Tools Ultimate Audio Engineering AI Skill Guide (GPT & Codex)"
description: "Comprehensive operational skill specification for OpenAI GPT and Codex to automate, script, troubleshoot, and optimize Pro Tools Ultimate, Pro Tools Scripting SDK (PTSL), SoundFlow JavaScript, and automated stem export pipelines."
category: "Professional Audio Recording & Mixing"
tags: ["pro-tools", "ptsl-grpc", "soundflow-automation", "stem-export", "gpt-codex", "audio-engineering-sdk"]
# Avid Pro Tools Ultimate Audio Engineering AI Skill Guide (GPT & Codex)
## Overview & Engine Architecture
Avid Pro Tools Ultimate exposes a modern **gRPC Scripting SDK (PTSL)**, deep **SoundFlow JavaScript automation interfaces**, and standard **AAX C++ Plugin SDK** APIs. GPT/Codex acts as a Principal Audio Software Engineer and Pro Tools Automation Architect, delivering **PTSL gRPC automation clients**, **SoundFlow macros**, **automated multi-stem bouncing pipelines**, and **session template synthesizers**.
### Developer Architecture & Automation Stack
```
┌─────────────────────────────────────────────────────────────┐
│ Pro Tools Developer Platform │
│ │
│ Scripting & IPC Integration Tier │
│ ├── Pro Tools Scripting SDK (PTSL via gRPC Port 31416) │
│ ├── Protocol Buffers (`PTSL.proto` Message Schemas) │
│ └── SoundFlow Platform (Node.js & JavaScript Automation API│
│ │
│ Batch Post-Processing & Export Pipeline │
│ ├── Automated Multi-Track Stem Bounce Engine │
│ ├── Marker & Memory Location Exporter (CSV/JSON/EDL) │
│ └── Audio Asset Ingestion & Session Auto-Assembler │
└─────────────────────────────────────────────────────────────┘
```
## Operational Capabilities & Agent Directives
1. **PTSL gRPC Client Development**: Author Python scripts establishing secure gRPC connections with Pro Tools to inspect session states, create audio/aux tracks, toggle record-arm flags, and execute offline bounces.
2. **SoundFlow JavaScript Automation**: Develop SoundFlow macros automating complex UI sequences (*e.g. creating 10 Aux busses, naming them, and instantiating 10 FabFilter Pro-Q3 plugins*).
3. **Automated Multi-Stem Bounce Scripting**: Construct automated pipelines rendering separate M&E (Music & Effects), Dialogue, Foley, and Score stems in single unattended passes.
4. **EDL / Marker Parsing & Translation**: Parse video edit decision lists (EDL / XML) and inject corresponding Memory Locations into active Pro Tools sessions.
## Production Python Automation: Automated Pro Tools Stem Bounce Exporter (PTSL / gRPC)
Save this script as `automated_stem_bounce.py` (requires `pip install ptsl`):
```python
"""
Pro Tools Automated Stem Bounce Pipeline (PTSL / gRPC)
Connects to Pro Tools via gRPC on port 31416 and executes an offline stem bounce pass.
"""
import sys
import ptsl
import ptsl.PTSL_pb2 as pt
PTSL_HOST = "localhost:31416"
def execute_offline_stem_bounce(output_directory: str, bounce_name: str = "Master_Stereo_Mix"):
print(f"--- [INITIALIZING PRO TOOLS OFFLINE STEM BOUNCE] ---")
try:
with ptsl.Client(company_name="StudioAutomation", application_name="BatchExporter") as client:
session_name = client.get_session_name()
print(f"• Active Session: {session_name}")
print(f"• Output Directory: {output_directory}")
print(f"• Target File: {bounce_name}.wav")
# Configure Offline Bounce Parameters
# Triggering Export Mix via PTSL
print("Dispatching Export Mix Request...")
client.export_mix(
base_name=bounce_name,
output_directory=output_directory,
bit_depth=pt.BitDepth_24,
sample_rate=pt.SampleRate_48000,
file_type=pt.FileType_WAV,
offline=True
)
print("✅ Offline stem bounce completed successfully!")
except Exception as e:
print(f"🚨 PTSL Stem Bounce Error: {e}")
print("Ensure 'Enable Pro Tools Scripting' is active in Pro Tools Setup -> Preferences -> Automation.")
if __name__ == "__main__":
out_dir = sys.argv[1] if len(sys.argv) > 1 else "C:\\Exports\\Stems"
execute_offline_stem_bounce(out_dir)
```
## Technical Troubleshooting Matrix
| Issue & Failure Signature | Root Cause Analysis | Diagnostic & Resolution Pathway |
| :--- | :--- | :--- |
| **`ptsl.Client` Connection Refused (Port 31416)** | Pro Tools Scripting service disabled in Pro Tools preferences or Pro Tools is not launched. | In Pro Tools $\rightarrow$ *Setup $\rightarrow$ Preferences $\rightarrow$ Scripting*, check **Enable Pro Tools Scripting**. |
| **Offline Bounce Fails: `Track not routed to valid output`** | The designated output mix bus in PTSL export parameters does not exist in the session I/O setup. | Verify output bus naming in *Setup $\rightarrow$ I/O Setup $\rightarrow$ Output* (e.g. `Out 1-2` or `Main Out`). |
| **SoundFlow Macro Fails on UI Click** | Pro Tools window was minimized or UI element was occluded by a floating plugin window. | Add `sf.ui.proTools.mainWindow.bringToFront()` at the beginning of SoundFlow scripts. |
| **PTSL Throws `PT_Error: Command not allowed during playback`** | Script attempted to create tracks or change session setup while the transport was rolling. | Call `client.stop()` before dispatching session structure modifications. |
## Command Line Syntax & Batch Processing
```bash
# Query Pro Tools PTSL Port Connectivity
python3 -c "import socket; s = socket.socket(); s.connect(('localhost', 31416)); print('PTSL Port 31416 Open!'); s.close()"
# Run Automated PTSL Stem Exporter
python3 automated_stem_bounce.py "C:\Music\Exports"
```
### Essential File Locations
- **PTSL SDK**: Official Avid GitHub repository (`avid-technology/ptsl-sdk`)
- **Pro Tools Scripting Port**: TCP `31416` (Localhost)
## Agent Operational Directive
> **MANDATORY**: Always stop the Pro Tools transport (`client.stop()`) before issuing structural track creation, deletion, or I/O routing commands via the PTSL gRPC interface.