FL Studio Pro
Plugins

FL Studio Chord Progression Tool: Chords That Fit Your Track

By Eric Norris Published Sep 20, 2026 13 min read

Quick answer

To open the FL Studio Chord Progression Tool, press Alt+P on Windows or Option+P on macOS in the Piano Roll, or choose Tools > Generate chord progression. Lock the chords that work, fix voicing and bass, and decide what happens to existing notes before Accept.

Producer building a chord progression in FL Studio on a large studio monitor

To open the FL Studio Chord Progression Tool, click into the Piano Roll of the instrument that should play the chords and press Alt+P on Windows or Option+P on macOS, or choose Tools > Generate chord progression. It needs Pattern mode and a polyphonic instrument, and every edition from FL Studio 24.1 includes it. I prefer to treat it as an editor, not a song button, because the useful work happens when you lock good chords, fix the voicing and decide what happens to existing notes before Accept.

The short version: choose the right Pattern and Channel → set Scale, Root, Count and Length → Generate or Analyze → Lock good chords → refine individual chords → decide what happens to existing notes → add performance → Accept. Working in that order heads off the two usual failures: losing a good idea when you regenerate, and polishing rhythm before the harmony is settled.

Open the tool on the correct Pattern and instrument

The Chord Progression Tool works in Pattern mode. Select the Pattern that should receive the chords, then open the Piano Roll for the instrument that will play them. If you’re not sure which Channel is active, stop and check the instrument name in the Piano Roll title. Our FL Studio Piano Roll guide explains how Patterns and Channels relate in detail.

In the Piano Roll, open the Tools menu, the spanner icon, and pick Generate chord progression; the official Chord Progression Tool manual lists every control and mode. The shortcut depends on focus: in the Playlist, Alt+P or Option+P opens the Picker Panel, so click inside the Piano Roll first. FL Studio switches to Pattern mode when it has to, because the tool depends on a selected Pattern. This matters more than it seems: Accept writes the finished notes into that Pattern. Starting from the wrong Channel can leave a perfectly good progression on the wrong sound.

When the tool opens, it starts with four chords. Treat them as a suggestion. Before you chase alternatives, set the broad musical shape: Scale, Root, chord Count, octave and Length. The tool also updates the Piano Roll’s Scale and Root context. If Snap to scale is on, notes you add later will follow it; the scale highlighting guide explains where visual highlighting ends and pitch constraint begins.

FL Studio Chord Progression Tool with Scale and Root selectors, chord timeline, Performance panel and Accept button
Set the key and timing at the top, edit the chord blocks in the timeline, then use Performance and Accept only after the progression itself works.

Make the first progression easy to judge

Start with four chords of equal length on a sustained piano or pad preset. The instrument must be polyphonic, set to play more than one note at a time, or each chord comes out as a single note. Pick a scale you recognize, press Play to hear the loop, or Alt+right-click (Option+right-click on macOS) a chord to preview it on its own. I'd stay with that sustained sound until the chords are settled, because a held chord keeps every clashing note audible; Arp, Chop and Humanize come later.

The Conventional - Adventurous slider sets the character of the next progression. Toward Conventional you get the changes common in popular music, with fewer added or altered notes, more on-scale notes and more consonance. Toward Adventurous the odds rise for jazz-style chords, added and out-of-scale notes and less expected transitions. My pick for the first pass is the Conventional side, because a plain progression makes a weak transition easy to hear.

Chord names can show as standard letter names or as Roman numerals relative to the scale. Letter names tell you which notes are there. Roman numerals tell you what job the chord does in the key. Switch between them when a progression sounds good and you want to understand or reuse its harmonic shape.

Don’t judge the chords one by one. Listen to the move from chord two to three, the bass movement across the loop, and whether the last chord makes the first one feel intentional when playback repeats. A progression can have four perfectly fine chords and still loop clumsily.

Know when to use Generate, Rework and Start over

Generate (Ctrl+G) creates another progression from the tool's settings. Every chord without a padlock is regenerated, and the model weighs overall coherence, chord-to-chord movement, position in the bar, extensions and bass lines. Use it when the direction is close but one or more open positions need fresh ideas.

Rework stays closer to what’s already there. It considers earlier chord suggestions, notes that were already in the Piano Roll when the tool opened, and the key signature. Use it when the progression has a character worth keeping but needs a more coherent pass.

Start over, the dice control, breaks away from the current chord direction. It keeps global settings such as chord Count, octave, Length and generation parameters, but builds a fresh progression and can change the scale between generations. Use it when repeated Generate passes keep giving you variations on the same bad answer.

Chord Progression Tool controls for Generate, Rework and Start over with two useful chord blocks locked
Lock the chords that define the idea, use Generate for the remaining positions, Rework for a related pass, and Start over when the whole direction is wrong.

Lock the musical decisions you want to keep

A useful chord should survive the next experiment. Click its padlock before you Generate or Analyze. Locked chords stay put, and every chord without a padlock stays open for the model to change.

Lock chords for what they do, not out of nervousness. Keep the opening chord when it sets the right key center. Keep a strong final chord when it turns back into the loop cleanly. Leave a weak transition in the middle open. That shrinks the problem from "find four new chords" to "find one chord that links these two decisions."

Lock every chord and generation has nothing useful left to change. Lock none, and a good cadence can disappear while you're fixing some other position. My rule is two anchors and two open slots, because judging one new chord between two fixed ones is easier than judging another brand-new set of four.

Replace one weak chord without rebuilding the loop

When one position is the problem, open that chord’s options. Show alternatives gives you choices meant to fit the surrounding progression; preview them before committing. Regenerate asks for another answer at that position while taking the neighboring chords into account. Select chord lets you pick one yourself or type a chord name.

Add passing chord splits the selected chord block: the new first part becomes a short lead-in, while the original chord remains in the second part. Use it when the jump between two chords feels empty or sudden. It helps less when the original progression already changes quickly, because another harmonic event can make the loop feel crowded.

Chord nudge sets how blocks behave when you reorder them. Swap trades positions. Slide moves a chord along the timeline and pushes the rest of the sequence. Choose on purpose so a timing edit doesn’t quietly change the order.

Chord timeline showing an alternatives menu, a short passing chord and chord blocks being reordered
Use alternatives for one weak position, add a passing chord only when the transition needs motion, and confirm whether a drag should Swap or Slide the sequence.

Start from a preset or chords you already know

The Progression list holds presets curated from popular progressions. Its dice icon applies a random preset, and the disk icon saves your own chord sequence as a User preset. A 4-chord preset repeats in blocks of 4 x Length when the tool holds more or fewer than four chords.

Type in progression takes chords separated by commas, dashes or spaces, either as names with capital root letters, such as C, G, Am, F, or as Roman numerals, such as I, V, vi, IV, built on the root note you set. An equals sign keeps the chord already at that position, a dot repeats the previous chord in the text, and a question mark regenerates that position. The in-arrow icon fills the box with the progression on screen, and the tick icon renders what you typed. My pick for chords you already hear in your head is Roman numerals, because the same numerals rebuild the progression on any root you set.

Learn from MIDI input swaps one chord from a keyboard: select the chord, click the MIDI icon and, once the chord turns red, play the replacement on your controller. If FL Studio doesn't receive the keys, the MIDI keyboard connection guide walks through the fixes.

Fix inversion, voicing and bass before replacing the harmony

Sometimes the chord is fine and the register is the problem. An inversion moves chord tones between octaves, which changes the bottom note and how far each voice travels from the previous chord. Try an inversion before you throw out a chord that sounds too heavy, too high or awkward next to its neighbor.

The voicing modes change how the notes are spread:

  • Block keeps the notes compact.
  • Open spreads notes so neighboring tones are farther apart.
  • Octave repeats the lowest chord note one octave higher.
  • Stacked repeats the chord notes over 2 octaves; with the extensions turned down, it makes power chords.

Fixed bass holds a chosen bass note when that chord is regenerated. Use it when the low movement is the reason the progression works. Extra notes and extensions add color, but every added tone is another note that can crowd a melody. Add them once the basic triads and bass line are clear.

Chord editor comparing inversion, Block and Open voicing, a fixed bass note and added chord extensions
Keep the harmony, then improve how it is played: reduce voice jumps with inversion, choose the note spread, protect the bass note and add extensions sparingly.

Use Analyze when the melody already exists

Analyze is available when there were already notes in the Piano Roll before the tool opened. It looks for a chord sequence that fits those notes and can give different answers each time, because the process isn’t deterministic.

This is the mode to use when the melody is the idea you’re keeping. Pick a believable Scale and Root, then Analyze with the melody visible. The resulting chords should support the important notes on strong beats. A passing melody note doesn’t have to appear in every chord, but a long note that clashes for a whole bar deserves a closer look.

Use Ghost Notes when the melody or bass lives on another Channel. They help you check the surrounding material, but Analyze only uses the notes that were already in the active Piano Roll when the tool opened. Put the real analysis source on the intended Channel and Pattern instead of assuming grey references count as input.

Existing Piano Roll melody above an analyzed four-chord progression with sustained melody notes aligned to compatible chords
Analyze starts from notes already in the active Piano Roll. Check sustained and accented melody notes against each suggested chord before accepting the accompaniment.

The Notes option decides which parts of each chord get notes. With only Bass selected, Analyze writes a bass line that matches the notes already in the Piano Roll. With Main and Bass both off, the chords show without notes, so you can analyze the harmony on one Channel and write it for a different instrument on another. I'd run Analyze with only Bass selected when the chords and melody already exist, because with Non chord notes on Keep the tool adds a matching bass line and leaves the written parts in place.

Every change made inside the tool lands in the Progression history, which carries a change from one Channel to another. With the same progression on two Channels, Accept the change on the first, open the tool on the second, go back one position in Progression history and Accept there.

Choose what happens to existing Piano Roll notes

The Non chord notes setting decides what happens to notes that were there before the tool opened. Pick it carelessly and a creative experiment can turn destructive.

  • Replace all: removes the pre-existing notes, although Analyze can still use them as input before replacement.
  • Replace clashing: removes notes inside the regions used by generated Main or Bass notes.
  • Keep: preserves the notes and asks for chords that accompany them.
  • Snap: preserves the notes but moves out-of-chord pitches to the nearest chord tone.

For a melody you want to keep, start with Keep. Use Snap as a deliberate transformation, especially on a static arpeggio or a repeated melodic figure that should follow changing chords. Replace all is for a rebuild. Replace clashing helps when the generated chords or bass should own a particular register, but check every removed note before you Accept.

Non chord notes options comparing Replace all, Replace clashing, Keep and Snap against the same melody
Keep protects the written part, Snap adapts it to chord tones, and the two Replace modes remove notes. Choose this before rendering the progression.

Add rhythm with Performance after the harmony works

The Performance panel can turn chord blocks into a playable phrase. Arp creates ordered note movement, Chop cuts the chord into a rhythmic pattern, Humanize varies timing and dynamics, and Bassline develops the low part.

Humanize includes Timing depth, Dynamics depth, Strum time and Strum curve. Timing changes when notes start, dynamics changes their velocities, and strum spreads the chord attacks out. I'd raise one at a time, because with all four moving at once you can't tell which change helped.

You can regenerate, copy, paste and save performance patterns as user patterns. They work best when the progression already holds up as plain blocks. If the harmony only sounds interesting once a busy arp covers it, go back to chord choice and voice leading.

After Accept, you can keep working on the resulting chord notes. The dedicated Arpeggiate guide helps when you’d rather build the rhythmic pattern in the Piano Roll than commit it inside this tool.

Use Advanced controls to limit variation

Advanced settings become useful once you can name the problem. Fix generate seed keeps results consistent while you change parameters. The Extensions controls decide whether added tones replace basic notes or sit beside them, how frequently they appear and how many a single chord can get. Non-diatonic notes encourages chords and extension notes outside the selected scale.

Sampling temperature moves from common chord changes toward rarer and more dissonant choices. Chord repeats sets how much the same chord comes back within a loop; at its minimum, two adjacent generated chords always differ. Analysis context sets how much the longer chord sequence counts against the notes inside each chord's own time interval. Looping bias nudges repeated generation loops toward related or different chords. Length per loop counts how many Length-sized intervals make up one generation loop, and the model aims to resolve a progression toward the end of each loop.

My rule: change one of these controls, listen, then decide. Crank temperature, non-diatonic notes and extensions together and something new comes out, but you won't know which setting created the useful tension.

Accept the progression into the Pattern

Press Accept once the key, chord order, bass movement, voicing and handling of existing notes are all deliberate. The notes go into the selected Pattern, and the tool also sets the Scale and Root context the Piano Roll uses.

Generated chord notes are grouped by default, which makes each chord easy to move as one unit. When you need to edit single tones, select the chord notes and press Alt/Option+G to ungroup them. Rename the Pattern straight away so the result doesn’t become another anonymous block in the project.

Performance panel beside an accepted chord progression in the Piano Roll with grouped chord notes and a separate bass line
Apply performance after the harmony is settled, press Accept into the intended Pattern, then keep chords grouped or ungroup them for note-level editing.

The accepted chords also hand you a melody: one of the quickest ways to build one is to use notes from the chords in each bar. The repeatable melody method starts from the top note of each chord and builds the line from there.

Fix the decision that caused the bad result

The chords appeared on the wrong instrument

Undo, select the right Pattern and Channel, and reopen the correct Piano Roll. The tool writes into the selected Pattern and can’t guess which instrument you meant.

A useful chord disappears every time you generate

Lock that chord before the next pass and leave only the unsolved positions open. If every new answer still sounds like the same direction, use Start over instead of hitting Generate again.

The progression sounds jumpy even though the chord names look right

Adjust inversions and voicing, then check the fixed bass. Big jumps in register can make a sound harmonic choice feel disconnected.

The existing melody changed or vanished

Check Non chord notes. Use Keep when the melody has to survive, Snap only when you want the pitches adapted, and the Replace modes only when the generated notes should take over those regions.

The result is busy and hard to edit

Switch off Performance, cut back the extensions and listen to plain block chords. Sort out the harmony first. Then add one rhythmic treatment and ungroup only the notes that need individual editing.

Use this repeatable workflow

  1. Select the destination Pattern and instrument, then open its Piano Roll in Pattern mode.
  2. Set Scale, Root, Count, octave and Length.
  3. Preview the simple four-chord result before you add any performance.
  4. Use Generate for the open positions, Rework for a related pass, or Start over for a new direction.
  5. Lock the chords that define the progression.
  6. Use alternatives, passing chords and the reorder controls on specific weak transitions.
  7. Improve voice leading with inversion, voicing and fixed bass before replacing good harmony.
  8. Use Analyze when notes already in the active Piano Roll should lead the harmony.
  9. Choose Replace all, Replace clashing, Keep or Snap before rendering.
  10. Add Arp, Chop, Humanize or Bassline only once the plain progression works.
  11. Press Accept into the intended Pattern, name it, and ungroup with Alt/Option+G only when note-level editing is needed.

The best result is the loop you can explain, not the first one the tool generates: which chords set the key, which transition creates tension, why the bass moves the way it does, and which notes survived from your original idea. The tool proposes harmony fast; your job is to turn that proposal into a Pattern that belongs in the track.

Frequently asked questions

Where is the Chord Progression Tool in FL Studio?

It lives in the Piano Roll. Open the Tools menu, the spanner icon, and choose Generate chord progression, or press Alt+P on Windows or Option+P on macOS while the Piano Roll has focus. FL Studio switches to Pattern mode if it isn't set already.

Why does Alt+P open the Picker Panel instead?

FL Studio shortcuts depend on the window in focus, and in the Playlist Alt+P, or Option+P, opens the Picker Panel. Click inside the Piano Roll of the instrument you want, then press the shortcut again.

Which FL Studio versions include the Chord Progression Tool?

Image-Line includes it with every edition of FL Studio from 24.1 onward. The version decides whether you have it, not the edition.

Why is Analyze not available?

Analyze needs notes in the Piano Roll before the tool opens. Write the melody or chords first, then open the tool again; Analyze looks for a chord sequence that fits those notes.

Why does each chord play only one note?

The instrument isn't polyphonic. The tool needs an instrument set to play more than one note at a time, so switch to a sustained piano or pad sound that plays full chords.

Can I type in my own chord progression?

Yes. Open Type in progression and enter chord names with capital root letters, such as C, G, Am, F, or Roman numerals, such as I, V, vi, IV, separated by commas, dashes or spaces. Click the tick icon to render the chords; Roman numerals follow the root note you set.

How do I move a progression change to another instrument?

Use the Progression history, which keeps the changes made inside the tool. With the same progression on two Channels, Accept the change on the first, open the tool on the second, go back one position in Progression history and Accept there.

Eric Norris
Eric Norris Nashville-based FL Studio producer and editor focused on practical workflow, mixer routing, troubleshooting, sampling and native Image-Line tools.
Explore all Plugins guides