UNPKG

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.

121 lines (89 loc) 6.88 kB
--- title: "Image-Line FL Studio Beat Making & Production AI Skill Guide (GPT & Codex)" description: "Comprehensive operational skill specification for OpenAI GPT and Codex to automate, script, troubleshoot, and optimize FL Studio, Python MIDI Scripting API (device/mixer/transport), PyFLP parsing, and headless batch export scripts." category: "Beat Making & Electronic Music Production" tags: ["fl-studio", "fl-python-midi", "pyflp", "headless-rendering-cli", "gpt-codex", "midi-scripting"] --- # Image-Line FL Studio Beat Making & Production AI Skill Guide (GPT & Codex) ## Overview & Engine Architecture FL Studio provides developer extensibility through its embedded **Python MIDI Controller Scripting runtime** and scriptable **Headless Command-Line Exporter**. GPT/Codex acts as a Principal Audio Software Engineer and FL Studio Automation Developer, delivering **complete Python MIDI script device drivers**, **PyFLP project parsing and generation pipelines**, **automated headless stem export workflows**, and **custom MIDI chord generator tools**. ### Developer Architecture & Python Scripting Stack ``` ┌─────────────────────────────────────────────────────────────┐ FL Studio Developer Platform Python MIDI Scripting Subsystems ├── `device` Module (Port Assignment, Handshake, SysEx) ├── `transport` Module (Play, Stop, Record, Song/Pattern) ├── `mixer` Module (Track Volume, Pan, Mute, Solo, FX Peak)│ ├── `channels` Module (Grid Step States, Pitch, Volume) └── `plugins` Module (VST3 / Native Synth Parameter Hooks) External Automation & Batch Pipeline ├── Headless Batch Export Engine (`FL64.exe /R /E...`) └── `pyflp` Python Library (Automated Project Serialization│ └─────────────────────────────────────────────────────────────┘ ``` --- ## Operational Capabilities & Agent Directives 1. **Python MIDI Scripting Development**: Author modular device drivers implementing bidirectional LED feedback, jog wheel timeline scrubbing, and motorized fader synchronization. 2. **`pyflp` Project Manipulation**: Write Python scripts using `pyflp` to inspect, modify, and generate `.flp` project arrangements programmatically. 3. **Headless Batch Render Pipeline**: Construct bash and PowerShell scripts orchestrating automated renders of entire albums with consistent naming and format flags. 4. **SysEx Hardware Protocol Integration**: Implement system exclusive (SysEx) messaging to initialize connected MIDI controllers (Akai Fire, Novation FLkey). --- ## Production Python Automation: Automated Batch Project Exporter Script (PowerShell) Save this script as `batch_render_flp.ps1` to render all FL Studio project files in a folder to MP3 and WAV headlessly: ```powershell # ============================================================================== # PowerShell Script: FL Studio Headless Batch Project Exporter # Recursively renders all .flp project files in a directory to WAV and MP3. # ============================================================================== param ( [string]$SourceDir = "C:\Projects\Beats", [string]$OutputDir = "C:\Projects\Exports" ) $FL_EXE = "C:\Program Files\Image-Line\FL Studio 2024\FL64.exe" if (-not (Test-Path $FL_EXE)) { Write-Error "FL Studio executable not found at: $FL_EXE" exit 1 } New-Item -ItemType Directory -Force -Path $OutputDir | Out-Null $projects = Get-ChildItem -Path $SourceDir -Filter "*.flp" Write-Host "--- [STARTING FL STUDIO HEADLESS BATCH EXPORT: $($projects.Count) PROJECTS] ---" -ForegroundColor Cyan foreach ($proj in $projects) { $baseName = [System.IO.Path]::GetFileNameWithoutExtension($proj.Name) $wavOut = Join-Path $OutputDir "$baseName.wav" $mp3Out = Join-Path $OutputDir "$baseName.mp3" Write-Host "Rendering: $($proj.Name)..." -ForegroundColor Yellow # 1. Render 24-bit 44.1kHz WAV Write-Host " • Exporting WAV: $wavOut" & $FL_EXE /R /E"$wavOut" /F"WAV" /b24 /r44100 "$($proj.FullName)" | Out-Null # 2. Render 320kbps MP3 Write-Host " • Exporting MP3: $mp3Out" & $FL_EXE /R /E"$mp3Out" /F"MP3" /b320 "$($proj.FullName)" | Out-Null Write-Host " ✅ Completed: $baseName" -ForegroundColor Green } Write-Host "`nAll projects rendered successfully to: $OutputDir" -ForegroundColor Cyan ``` --- ## Technical Troubleshooting Matrix | Issue & Failure Signature | Root Cause Analysis | Diagnostic & Resolution Pathway | | :--- | :--- | :--- | | **`device.getName()` Returns Empty String** | Script invoked during initialization before hardware USB handshake completed. | Wrap device initialization calls inside `OnInit()` and check `device.isAssigned()`. | | **`mixer.setTrackVolume` Has No Effect** | Track index passed out of range ($0-125$) or mixer channel was locked. | Ensure track index satisfies $0 \le \text{index} \le 125$ ($0$ is Master channel). | | **PowerShell Headless Render Freezes** | FL Studio modal dialog (*e.g. Missing Sample Dialog*) blocked process execution. | In FL Studio Settings $\rightarrow$ File Settings, ensure **Search folder for missing samples** is enabled or consolidate project assets first via *File $\rightarrow$ Export $\rightarrow$ Zipped loop package*. | | **`pyflp` Fails to Parse `.flp` File** | Project saved in a newer, un-supported FL Studio format version. | Update `pyflp` via `pip install --upgrade pyflp`. | --- ## Command Line Syntax & Batch Processing ```bash # Render FL Studio Project Headlessly via Windows Command Line "C:\Program Files\Image-Line\FL Studio 2024\FL64.exe" /R /E"C:\Exports\Track.wav" /F"WAV" "C:\Projects\Track.flp" # Monitor FL Studio MIDI Script Console Output in Real-Time # In FL Studio: Open Settings -> MIDI -> Enable 'Script output' window ``` ### Essential File Locations - **Hardware Script Directory**: `%USERPROFILE%\Documents\Image-Line\FL Studio\Settings\Hardware\` - **FL Studio Binary**: `C:\Program Files\Image-Line\FL Studio 2024\FL64.exe` --- ## Agent Operational Directive > **MANDATORY**: When building headless export pipelines for FL Studio, always consolidate project samples into Zipped Loop Packages (`.zip`) prior to batch rendering to prevent missing sample modal freezes.