Uploaded June 2025 | Updated September 2026, 2 hours ago
download, forum.image-line.com/viewtopic.php?p=2009208#p2009208
and now where is BWS 6? :D
Overview
This script provides advanced block-based manipulation of notes within the Piano Roll using Python scripting in FL Studio. It is designed to support chord-aware selection, transformation, and intelligent note generation based on a user-defined chord track.
Features
1. Chord Track Support
Define a sequence of chords and their durations in bars.
Supports standard triads (major, minor, diminished), suspended chords (sus2, sus4), seventh chords (maj7, min7, dom7), and extended chords (add6, add9, add11). Chords are expanded across multiple octaves to allow full-range recognition and snapping.
2. Block-Based Note Processing
Notes are split into time blocks based on the defined chord lengths.
Within each block, a configurable number of notes are selected from a starting index.
Notes can be selected with optional skipping of intervening notes for sparse selection.
3. Pitch Transformation
Apply a global semitone shift to selected notes.
Optionally snap shifted notes to the closest pitch from the active chord tones.
Additional option to blend the next chord into the tonal reference for smoother transitions.
4. Note Insertion Engine
Insert new notes after the selected group within each block.
Configurable number of notes, semitone shift, time shift (ticks), and MIDI channel for inserted notes.
Inserted notes match the same pitch logic and can be snapped to chord tones across octaves.
5. Transformations and Editing Tools
Flip selected notes vertically (Y-axis): inverts pitch within a block.
Flip selected notes horizontally (X-axis): reverses timing within a block.
Option to delete all unselected notes after processing to clean up the pattern.
6. User Interface Controls
Chord input (comma-separated): e.g. Amin, Asus2, F, Dmin7, Cadd9
Length input (comma-separated float values): e.g. 1, 0.5, 2
Toggle switches for:
Snap to chord tones
Use next chord as tonal reference
Flip pitch
Flip time
Delete unselected notes
Insert new notes after selected
Knobs for:
Semitone shift
Inserted note pitch/time offset
Note count per block
Channel assignment
Starting index and selection interval
Requirements
FL Studio 21 or higher
Python scripting support enabled
Script placed in the appropriate Scripts/Tools or Patcher directory
Example Use Case
Suppose you want to harmonize a MIDI phrase to match a chord progression:
Enter Amin, Dsus4, Fadd9, G as your chords.
Set lengths to 1, 1, 1, 1.
Enable "Snap shift to chord tones".
Optionally enable "Insert new notes after group" to enrich with voicings.
Run the script and review the changes in Piano Roll.
download, forum.image-line.com/viewtopic.php?p=2009208#p2009208
and now where is BWS 6? :D
Overview
This script provides advanced block-based manipulation of notes within the Piano Roll using Python scripting in FL Studio. It is designed to support chord-aware selection, transformation, and intelligent note generation based on a user-defined chord track.
Features
1. Chord Track Support
Define a sequence of chords and their durations in bars.
Supports standard triads (major, minor, diminished), suspended chords (sus2, sus4), seventh chords (maj7, min7, dom7), and extended chords (add6, add9, add11). Chords are expanded across multiple octaves to allow full-range recognition and snapping.
2. Block-Based Note Processing
Notes are split into time blocks based on the defined chord lengths.
Within each block, a configurable number of notes are selected from a starting index.
Notes can be selected with optional skipping of intervening notes for sparse selection.
3. Pitch Transformation
Apply a global semitone shift to selected notes.
Optionally snap shifted notes to the closest pitch from the active chord tones.
Additional option to blend the next chord into the tonal reference for smoother transitions.
4. Note Insertion Engine
Insert new notes after the selected group within each block.
Configurable number of notes, semitone shift, time shift (ticks), and MIDI channel for inserted notes.
Inserted notes match the same pitch logic and can be snapped to chord tones across octaves.
5. Transformations and Editing Tools
Flip selected notes vertically (Y-axis): inverts pitch within a block.
Flip selected notes horizontally (X-axis): reverses timing within a block.
Option to delete all unselected notes after processing to clean up the pattern.
6. User Interface Controls
Chord input (comma-separated): e.g. Amin, Asus2, F, Dmin7, Cadd9
Length input (comma-separated float values): e.g. 1, 0.5, 2
Toggle switches for:
Snap to chord tones
Use next chord as tonal reference
Flip pitch
Flip time
Delete unselected notes
Insert new notes after selected
Knobs for:
Semitone shift
Inserted note pitch/time offset
Note count per block
Channel assignment
Starting index and selection interval
Requirements
FL Studio 21 or higher
Python scripting support enabled
Script placed in the appropriate Scripts/Tools or Patcher directory
Example Use Case
Suppose you want to harmonize a MIDI phrase to match a chord progression:
Enter Amin, Dsus4, Fadd9, G as your chords.
Set lengths to 1, 1, 1, 1.
Enable "Snap shift to chord tones".
Optionally enable "Insert new notes after group" to enrich with voicings.
Run the script and review the changes in Piano Roll.










