Song structure

Use the song structure editor to:

  • Define the order of sections as song parts, eg "AABA" or "verse verse chorus verse"

  • Select which rhythm(s) to use and when

  • Adjust the rhythm parameters of song parts to introduce dynamics, eg variation, intensity, drums fill, muted instrument, ...

Song parts

A song part is linked to a parent section of the chord lead sheet.

Song parts let you define in which order sections are played, and how. For example you can have a chord lead sheet with only 2 sections verse and chorus, but the song will play verse verse chorus verse chorus.

A song part has a name, a rhythm and a value for each of the rhythm parameters. Rhythm parameters let you change how the rhythm is played for this song part.

To add a new song part:

  • drag a section from the chord lead sheet into the song structure editor, or

  • right-click menu Insert, or

  • copy an existing song part: drag it while pressing the ctrl key, use copy & paste, or right-click menu Duplicate

By default the name of the song part is the name of the parent section. If the song part is renamed, the parent section is shown below the name.

If some contiguous song parts share the same name, then the name is displayed only on the first song part and a line is shown on the contiguous song parts. Clicking this line will select all the related song parts.


Song parts can be reordered by dragging them using the mouse (use ctrl+mouse drag to duplicate). Copy/cut/paste commands work as well both on song parts and rhythm parameters.

Edition of song part name, rhythm and parameters can be done directly from the song structure editor using the mouse or keyboard shortcuts, or via the song part editor.

Edits apply on the selected song part(s) or rhythm parameter(s).

Use the popup menu (right-click on windows/Linux, ctrl-click on Mac) to see commands available for the current selection (song part or rhythm parameter), as shown in the 2 images below.

For most of the rhythm parameters, the easiest way to edit the value is to select it and use the mouse-wheel.

Some rhythm parameters have a custom edit dialog, which can be called as shown below.

Copy & paste can be used to easily duplicate rhythm parameter values.

Suppose you want to apply the drums transform value from one song part (e.g. ">Open hi-hat" in image above) to other song parts:

  • In the song structure editor, select the original rhythm parameter and Copy (ctrl-C)

  • Select the same rhythm parameter in other song parts (use ctrl-click or shift-click for multiple selection) then Paste (ctrl-V)

When selecting several contiguous rhythm parameters, you can use the Adjust values submenu in the rhythm parameter popup menu to interpolate values between the first and the last selected values. In the example below, we used it to gradually increase the tempo from 100% to 108%.

Song part editor

Song part editor provides an additional way to edit the selected song part(s).

Use the song part editor to edit rhythm parameters which need user to select (ctrl-click) one or more values from a list, such as the Mute parameter.

Change rhythm

Each song part can have its own rhythm.

Midi can only accommodate 16 channels, and many rhythms use 7 or 8 instruments. That's why it's difficult in practical to have a song with more than 2 rhythms.

To change the rhythm, select a song part and press R, or click the rhythm name to open the rhythm selection dialog.

When changing the rhythm, JJazzLab tries to adapt the values of the previous rhythm parameters to the new rhythm parameters.

If you want to remove a rhythm change in the middle of a song, select the song part and use Remove Rhythm Change from the song part popup menu.

Rhythm parameters

Rhythm parameters let you adjust how a rhythm is played for a given song part. Rhythm parameters are a simple & powerful tool to introduce variations in a backing track, which make it more fun to play with.

JJazzLab lets the developer of a rhythm engine define custom rhythm parameters. However rhythm engines will often use a common set of standard parameters :

  • Variation: a rhythm variation. YamJJazz engine rhythms usually have 4 Main variations, plus some Intros, Endings, and some Fills.

  • Intensity: most rhythm engines use this parameter to increase/decrease the Midi velocity of the backing track notes

  • Drums Fill: defines when a drums fill (or break) should be played on the last bar of the song part.

  • Mute: mutes one of more instruments during this song part. To edit this parameter it's easier to use the song part editor (see snapshot at the top of this page).

  • Marker: this parameter is useful only if you use substitute chord symbols in the chord leadsheet, as explained here.

  • Tempo factor: slows down or accelerates the tempo of the song part.

  • Drums transform: changes some drums notes of the song part. This is an easy way to alter the drums track. For example you can make the hi-hat louder, transform the closed hi-hat into ride cymbal, or just add percussions!

  • Custom phrase: lets you customize one or more instrument phrases of the song part. The phrase will be made editable in the notes editor.

Compact / full view

By default only a subset of the rhythm parameters are shown, this is the compact view. Click on the button below or press 'V' to switch between compact and full view.

The compact view settings button, just above the compact view button, lets you choose which rhythm parameters are visible in the compact view. These settings are saved with the song.

Mouse shortcuts

Keyboard shortcuts

Many actions are also available via the context menu (right-click on Windows/Linux, ctrl-click on Mac), and when available the associated shortcut is displayed.

Last updated