A Python MIDI script for FL Studio that captures 8 eighth notes from user input and displays a pattern definition with those notes.
- Automatically captures 8 consecutive MIDI note inputs
- Displays a formatted pattern definition with the 8 notes as eighth notes (spanning one measure in 4/4 time)
- Each note retains its original pitch and velocity
- Shows note positions in both ticks and beats for easy manual entry
- Ready for next recording immediately after pattern creation
-
Locate your FL Studio MIDI Scripts folder:
- Windows:
C:\Users\<YourUsername>\Documents\Image-Line\FL Studio\Settings\Hardware - macOS:
~/Documents/Image-Line/FL Studio/Settings/Hardware
- Windows:
-
Copy
device_Leet_Controller.pyto the MIDI Scripts folder -
Restart FL Studio
-
Enable the controller:
- Go to Options → MIDI Settings
- Find "Leet Controller" in the controller list
- Enable it and select your MIDI input device
-
Once enabled, the controller will automatically start listening for MIDI input
-
Play any 8 notes on your MIDI keyboard or controller
-
After the 8th note is received, the controller will:
- Capture those 8 notes with their velocities
- Display a formatted pattern definition in the console
- Show note positions in ticks and beats for manual entry into the piano roll
-
To add the pattern to FL Studio:
- Open the piano roll for your desired channel
- Manually add the notes at the positions shown in the console
- Each note's MIDI number, velocity, and position (in ticks or beats) is displayed
-
The controller will reset and be ready for the next 8 notes
- Each note is spaced 48 ticks apart (1 eighth note at 96 PPQ)
- 8 eighth notes = 1 measure in 4/4 time
- Notes preserve their original pitch and velocity
- Follows the FL Studio MIDI Scripting API
- Each eighth note is 48 ticks (assuming standard 96 PPQ)
- 8 eighth notes span one complete measure in 4/4 time
- Notes preserve their original velocity values
- Pattern information is displayed in a formatted table for easy manual entry
The FL Studio MIDI Scripting API has limitations on direct pattern manipulation. This script uses a capture-and-display approach:
- Capture Phase: Records 8 MIDI notes with their properties (pitch, velocity)
- Display Phase: Outputs formatted pattern information to the console with precise positioning
- Manual Entry: User manually adds notes to the piano roll using the displayed information
This approach avoids using FL Studio's recording system and provides a clean pattern definition for manual implementation.
This script implements the following FL Studio MIDI script callbacks:
OnInit()- Initialization and state setupOnDeInit()- Cleanup when script is unloadedOnMidiIn(event)- MIDI input processing and event routingOnNoteOn(event)- Note capture logic- Additional callbacks (OnRefresh, OnUpdateBeatIndicator, etc.) for FL Studio compatibility
Open source - feel free to modify and distribute