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.

145 lines (115 loc) 8.1 kB
--- name: fl-studio description: "Script FL Studio MIDI controls, configure Patcher and mixer workflows, and troubleshoot automated rendering." category: music risk: safe source: self source_type: self date_added: "2026-08-26" tags: ["fl-studio", "fl-midi-scripting", "fl-python", "flp-projects", "headless-rendering", "beat-making", "claude"] tools: ["claude", "cursor", "gemini", "codex"] --- # Image-Line FL Studio Beat Making & Production AI Skill Guide (Claude) ## Overview & Engine Architecture Image-Line FL Studio is a pattern-based digital audio workstation (DAW) renowned for its intuitive **Step Sequencer & Channel Rack**, advanced **Piano Roll (with slide/portamento notes, ghost channels, and micro-timing)**, modular **Patcher** routing environment, 125-insert **Mixer**, and native **Python MIDI Controller Scripting API**. FL Studio supports headless batch project rendering via the **`FL64.exe` CLI**, AI Stem Separation, and flexible audio warping. Claude operates as a Principal Audio Systems Architect and Beat Production Specialist, specializing in **FL Studio Python MIDI Scripting**, **headless command-line export pipelines**, **underrun & ASIO latency remediation**, and **Patcher signal routing**. ### FL Studio Core Architecture & Python Scripting Stack ``` ┌─────────────────────────────────────────────────────────────┐ FL Studio Engine Architecture Pattern Sequencing & Composition Tier ├── Channel Rack & Step Sequencer (64-Step Grid, Samples) ├── Piano Roll (Slide Notes, Strummer, Scale Highlighting) └── Playlist Timeline (Pattern Clips, Audio Tracks, Autom.)│ Mixing & Modular DSP Layer ├── 125 Insert Channel Mixer (Pre/Post FX, Sidechain Busses│ ├── Patcher Modular Environment (Custom Instrument/FX Chains│ └── 64-bit Native Synthesizers (Sytrus, Harmor, FLEX, GMS) Automation & Headless Execution Core ├── Python MIDI Scripting Engine (`device`, `mixer`, `transport`)│ └── Headless Command-Line Exporter (`FL64.exe /R /E...`) └─────────────────────────────────────────────────────────────┘ ``` --- ## Operational Capabilities & Agent Directives 1. **FL Studio Python MIDI Scripting**: Author modular hardware controller scripts using FL Studio's built-in Python API (`import transport`, `import mixer`, `import channels`, `import patterns`). 2. **Headless Batch Rendering Automation**: Construct automated command-line rendering batch scripts invoking `FL64.exe /R /E"output.wav" /F"WAV" "project.flp"`. 3. **Buffer Underrun & DSP Optimization**: Remediate audio crackles and CPU spikes by configuring "Smart Disable" for all plugins, enabling multithreaded generator/effect processing, and optimizing ASIO buffer sizes. 4. **Patcher Modular Routing**: Design custom Patcher presets implementing multi-band frequency splitting, mid-side equalization, and parallel saturation. --- ## Production Python Automation: FL Studio Custom MIDI Controller Script (`device_CustomController.py`) Save this file as `device_CustomController.py` inside `%USERPROFILE%\Documents\Image-Line\FL Studio\Settings\Hardware\CustomController\`: ```python # name=Custom Hardware Controller # url=https://github.com/developer/fl-custom-controller # ============================================================================== # FL Studio Python MIDI Script: Custom Hardware Controller Driver # Maps Hardware Transport CCs and Mixer Track 1 Volume/Mute to FL Studio APIs. # ============================================================================== import transport import mixer import general import device # MIDI CC Definitions CC_PLAY = 114 CC_STOP = 115 CC_RECORD = 116 CC_FADER_TRACK1 = 7 CC_MUTE_TRACK1 = 16 def OnInit(): print("--- [FL STUDIO CUSTOM MIDI SCRIPT INITIALIZED] ---") print(f"Device Name: {device.getName()}") print(f"Device Port: {device.getPortNumber()}") def OnDeInit(): print("Custom MIDI Script De-initialized.") def OnMidiMsg(event): event.handled = False # Process Control Change (CC) Messages (Status 0xB0 = Channel 1 CC) if event.status == 0xB0 or event.status == 176: # 1. Transport Controls if event.data1 == CC_PLAY and event.data2 > 0: transport.start() event.handled = True elif event.data1 == CC_STOP and event.data2 > 0: transport.stop() event.handled = True elif event.data1 == CC_RECORD and event.data2 > 0: transport.record() event.handled = True # 2. Track 1 Volume Control (Normalize MIDI 0-127 to 0.0-1.0) elif event.data1 == CC_FADER_TRACK1: vol_val = event.data2 / 127.0 mixer.setTrackVolume(1, vol_val) event.handled = True # 3. Track 1 Mute Toggle elif event.data1 == CC_MUTE_TRACK1 and event.data2 > 0: mixer.muteTrack(1) event.handled = True if event.handled: print(f"Handled CC {event.data1} with Value {event.data2}") ``` --- ## Technical Troubleshooting Matrix | Issue & Failure Signature | Root Cause Analysis | Diagnostic & Resolution Pathway | | :--- | :--- | :--- | | **Audio Underruns / Crackling During Playback** | Heavy VST3 plugins idling on CPU threads or ASIO buffer size configured $<128\text{ samples}$. | 1. In *Tools $\rightarrow$ Macros*, click **Switch smart disable for all plugins**.<br>2. In Audio Settings, enable **Multithreaded generator processing** and **Multithreaded mixer processing**.<br>3. Increase buffer to $256\text{ or }512\text{ samples}$. | | **Third-Party VST3 Window Blurry or Black** | Display scaling mismatch between FL Studio and plugin GUI framework. | In Wrapper Settings (gear icon on plugin) $\rightarrow$ **Processing**, enable **Make bridged** or set **DPI aware**. | | **Click / Pop at Beginning or End of Audio Clip** | Audio clip boundary cut at non-zero-crossing without crossfading. | Double-click audio clip in Channel Rack $\rightarrow$ In Time Stretching / Declicking menu, set declicking mode to **Transient (no bleeding)** or **Generic (bleeding)**. | | **Headless CLI Render Fails: `FL64.exe /R /E...`** | Output path enclosed in invalid quotes or FL Studio license not activated on the machine. | Verify output directory exists and command syntax: `FL64.exe /R /E"C:\Output\track.wav" /F"WAV" "C:\Projects\track.flp"`. | --- ## Command Line Syntax & Headless Export Recipes ```bash # 1. Headless Batch Export of FL Studio Project to 24-bit 44.1kHz WAV "C:\Program Files\Image-Line\FL Studio 2024\FL64.exe" /R /E"C:\Exports\BeatMaster.wav" /F"WAV" /b24 /r44100 "C:\Projects\BeatMaster.flp" # 2. Headless Export to MP3 (320kbps) "C:\Program Files\Image-Line\FL Studio 2024\FL64.exe" /R /E"C:\Exports\BeatMaster.mp3" /F"MP3" /b320 "C:\Projects\BeatMaster.flp" ``` ### Essential File Locations - **User Data Root**: `%USERPROFILE%\Documents\Image-Line\FL Studio\` (Windows) or `~/Documents/Image-Line/FL Studio/` (macOS) - **MIDI Controller Scripts**: `...\FL Studio\Settings\Hardware\` - **Project Files**: `*.flp` --- ## Agent Operational Directive > **MANDATORY**: When projects encounter audio underrun crackles during playback, always execute "Switch smart disable for all plugins" via Tools $\rightarrow$ Macros before increasing audio buffer latency.