Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Download and run the setup program at https://www.jjazzlab.org/en/download, which embeds everything you need.
If you get a Windows Smart Screen alert
Windows Smart Screen blocks the program NOT because it is a malware (it is NOT!), but just because JJazzLab is new, so Windows security servers don't have enough statistics to evaluate its "security reputation".
Once enough users will have successfully downloaded and installed it, Windows Smart Screen will not block the program anymore.
You can find more explanations in this good article.
If you don't have admin rights on your computer, choose Install for me only during setup
You need to manually install FluidSynth first.
I strongly recommend via Homebrew: brew install fluidsynth
Mac computers with Apple Mx processor:
Download the .pkg file at https://www.jjazzlab.org/en/download and open it.
Mac computers with Intel x64 processor:
.pkg files are not always supported on old MacOS versions, so we propose a .zip file, a basic solution but compatible with many MacOS versions.
Download the .zip file at https://www.jjazzlab.org/en/download and extract it (open file with Finder)
Execute file bin/jjazzlab
to start JJazzLab.
If you get a security alert
Using the Finder, select the JJazzLab package, ctrl-click menu, Open, this will give you the choice to open the application in spite of the security alert.
To fix file permissions: chmod a+rx bin/jjazzlab jdk/bin/java
If FluidSynth makes some "crackling" noise, make sure your Linux is optimized for audio applications: https://jackaudio.org/faq/linux_rt_config.html
JJazzLab packages are only proposed in selected formats (.deb, .rpm, ...).
Download the relevant package for your distro at https://www.jjazzlab.org/en/download, then open it with the relevant package manager (examples below) :
JJazzLab packages declare a dependency on the FluidSynth (>=2.2.0) package. So the package manager should automatically install it if it's not already present on your system.
The .tar.xz
package should work on any Linux distro (x64).
Install FluidSynth (>=2.2.0) manually: https://github.com/FluidSynth/fluidsynth/wiki/Download
Download at https://www.jjazzlab.org/en/download and extract the JJazzLab .tar.xz file, e.g
tar -xf JJazzLab-4.0.2-linux-x64.tar.xz
Runbin/jjazzlab
libfluidsynth.so.3
in a non-standard directoryOn Linux, JJazzLab uses FluidSynth via its shared library libfluidsynth.so.3
(or libfluidsynth.so
). The file is expected to be in one of the standard directories:
/usr/lib/x86_64-linux-gnu, /usr/lib, /usr/lib64, /usr/local/lib, /lib
If you successfully installed FluidSynth (>=2.2.0) but JJazzLab can't load FluidSynth, it's possible that libfluidsynth.so.3
was installed in a non-standard directory. Once you found the file location (for example in /tmp/lib/libfluidsynth.so.3
), you can tell JJazzLab where to find it:
In the JJazzLab installation directory, edit file etc/jjazzlab.conf
Add -J-Dfluidsynthlib.path=/tmp/lib/libfluidsynth.so.3
at the end of the default_options
variable
Start JJazzLab
JJazzLab embeds its own Java Runtime Engine. You don't have to deal with Java at all. Trying to use a different JRE/JDK will certainly generate problems.
The Flatpak package is NOT a JJazzLab official package, it is kindly provided by a JJazzLab user. Therefore we do not provide support for it. If you encounter problems, please try the other packages proposed on this page.
The JJazzLab built-in synth.
It's a ready-to-use synth optimally configured for JJazzLab. FluidSynth should be enabled by default when you first launch JJazzLab.
If FluidSynth appears disabled, it means that a problem occured while trying to load FluidSynth. Check the installation instructions.
You can adjust FlulidSynth settings and its default instruments.
FluidSynth is an open-source project: https://www.fluidsynth.org.
A complete and open application for backing tracks generation.
Want to add or fix documentation? Yes you can!😀 Visit the Improve documentation page.
In JJazzLab "rhythm" usually means a music style, like pop or bossa-nova.
🎵 With JJazzLab you quickly create backing tracks for any song, even complex ones. It’s a jam buddy to have fun practicing at home or learn new stuff. It’s also a great tool for teaching or early-stage composing.
🎷 JJazzLab is designed to make non-boring backing tracks, backing tracks with variety, rhythmic accents and dynamics. You can start a solo slowly and gradually build up the atmosphere!
💻 JJazzLab is open-source with an open architecture: developers can easily add new features and new music generation capabilities.
Install and run JJazzLab, then :
Load an example song file : menu File/Open Songs... and select ExampleFiles/BluesMinor.sng
Press the Play button : you should hear the backing track -if not, check the Midi Out device in menu Tools/Options (Preferences on Mac)
Start editing the song using the editors and hear how it impacts the generated backing track.
If you prefer to quickly create a new backing track from scratch, check out this video:
Hundreds of ready-to-use music styles (rhythms) available
Introduce dynamics and variety in just a few clicks, for example:
mute the guitar in the intro
add a break at the end of the 2nd verse and congas in the 3rd verse
boost intensity and slightly increase tempo at the end
add anticipated chords
simplify the piano on the first verse
Add user tracks to customize your backing track
Attach annotations/lyrics to bars
Play transposed (for sax, etc.)
Use Midi remote commands to control playback
Easy Reader window: shows the playing chords (and annotations/lyrics) with a large font
Chord inspector: shows selected chord symbol notes and scales (piano, guitar diagrams, score)
Arranger keyboard mode: control backing track in (pseudo) real-time via a Midi input device
Improvisation help: generate improvisation guides on your chord leadsheet
Connecting JJazzLab to other synths via Midi.
In general we recommend to use FluidSynth: no setup and decent sounds.
But if you have a high-quality hardware or software synth (VST, AU, AAX, ...), you can use it with JJazzLab via a Midi cable or a a virtual Midi cable/device (such as LoopMIDI for Windows).
In the Midi tab of the Options/Preferences :
Unselect "use FluidSynth"
Select a Midi OUT device
Select an Output Synth which describes the capabilities of the connected synth.
The Output Synth information allows JJazzLab to directly display and select synth sounds/instruments from the mix console. The information is also used to remap drums notes when needed (Yamaha styles use XG drum maps, but your synth may not).
There is a predefined list of Output Synths as shown below. If your synth has more capabilities, you can use "Add a synth from file..." to load a Midi synth definition file (.ins). See below for more information on the .ins file format.
When using a software synth (e.g. VST plugin), you might prefer to control sound selection and mix settings (volume, effects, etc.) directly from the VST plugin interface. In this case you should Disable all Midi parameters from the JJazzLab mix console, so that JJazzLab only sends Midi notes.
JJazzLab can read Cakewalk instrument definition files (.ins). Those files are used by many DAWs, search the web for more information about the .ins format.
An .ins file defines a Midi synth with its list of instruments and how to select them via Midi (Bank Select/Program Change values).
These .ins format extensions are not mandatory to use for JJazzLab to work. But they are required if you have a custom .ins file and want to fully benefit from the JJazzLab features in order to get better sounding backing tracks.
The standard .ins file format lacks some information for JJazzLab to fully optimize instrument selection and drum map conversion.
For an optimum use JJazzLab needs:
For melodic instruments: its GM substitute instrument Example: the GM substitute for the XG instrument ‘12 String Guitar’ is the GM instrument ‘Steel Guitar’
For percussion instruments/drum kits: its type and its drum key map
Therefore some (optional) keyword extensions have been introduced, "{{ xxxx }}", as shown in the examples below.
There are also 2 special keyword extensions if your synth is GS compatible:
If you use a transposing instrument (sax alto, sax tenor, flute alto, etc.), use this feature to apply a transposition only during playback (chord symbols are not changed).
This also impacts the feature.
If you have a Midi controller connected to your computer, you can use it to control JJazzLab playback.
For example you can start/pause the playback, or skip to the next song part, just by pressing a note on your piano keyboard.
Remote control via Midi IN is configured from the Midi IN panel of the Options/Preferences, as shown above.
By default each command is configured to be triggered by a specific incoming note. For example receiving a C1 note (Midi pitch=24) will trigger the play/pause command.
To configure a command with another note or with different incoming Midi messages, select the command and use Midi Learn.
Press the Midi learn button to put JJazzLab in a listening mode during a few seconds. Use this time to send the Midi messages which should trigger the command. For example, if you have a Midi keyboard and want to change the note, just press the note. If you have a Midi controller with pads, just activate the pad you want to use.
JJazzLab will display the Midi messages received which are now associated to the selected command. If Midi messages correspond to a single note, the note is displayed.
Create (or load) a song, then edit it with the editors 3 editors below.
Add , eg "Cm6", "Ab7"
Add , eg "A", "B" in 3/4, "verse"
Move and edit chord symbols to adjust rhythm accents, or
Add or lyrics (optional)
Set the instrument of each track
Adjust track volume, panoramic, reverb, chorus, mute, transpose, etc.
Use the song structure editor to:
Define the order of sections as song parts, eg "AABA" or "verse verse chorus verse"
Select which rhythms (music styles) to use and when
Adjust the rhythm parameters of song parts to introduce dynamics, eg variation, intensity, drums fill, muted instrument, ...
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.
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 (see image below).
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 duplicatea song part). Copy/cut/paste commands work as well both on song parts and rhythm parameters.
To edit several song parts or rhythm parameters in one shot:
select multiple items with ctrl+click or shift-click
Do the edit (for example change the rhythm, or increase intensity)
Change is applied to all selected items.
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 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.
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 let you adjust how a rhythm (music style) 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.
Intensity: a rhythm engine might simply increase/decrease the Midi velocity of the backing track notes depending on this parameter, but it could also generate more/less notes, etc.
Drums Fill: defines when a drums fill (or break) should be played at the end of the song part (never, always, randomly, ...). The special fade_out value does not produce a drums fill, instead it gradually decreases the notes velocity until the end of the song part.
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 to introduce some variation in your song. For example you can make the hi-hat louder, transform the closed hi-hat into ride cymbal, or just add percussions!
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.
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.
Use the chord leadsheet editor to:
Add chord symbols, eg Cm6, Ab7, F#9M#11, NC (no chord), ...
Add sections, eg A, B, verse, chorus, ...
Move and edit chords to adjust rhythm accents, interpretation or harmony
Add bar annotations (for lyrics etc.)
Click on a bar or a chord symbol to select it. Use ctrl-click to select multiple bars or chord symbols.
Use shift-click to extend the current selection.
Drag a chord symbol with the mouse to move it to a new location.
By default chord symbols position are quantized to a sixteenth note (4 positions per beat). This can be adjusted via the right-click menu Quantization.
Select a bar or a chord symbol, then type the first letter of the chord symbol (for ex. 'C'), the Bar edit dialog will appear automatically :
When a bar is selected, the Bar edit dialog can also be showned by pressing ENTER, double-clicking a bar, or using the right-click menu Edit.
To copy a chord symbol just drag it while pressing the control key.
In order to input a lead sheet from scratch, the easiest way is to select the first bar then directly type in the chord symbols (bar edit dialog automatically appears when first letter is typed), press ENTER when done (it automatically selects the next bar), type in the chord symbols for the second bar, etc.
JJazzLab can recognize different forms of a given chord symbol. For example C-7, Cm7, Cmi7, Cmin7 are all equivalent. You can add your own chord aliases in the Chord Symbols tab of the Options/Preferences, as shown below:
Select a bar then select Set end bar in the right-click menu (see below).
The size of the song depends on both the leadsheet and the song structure.
For example, if chord leadsheet only contains a single 12-bar section called A, and song structure is A-A-A, then song size is 3*12=36 bars.
Use the popup menu (right-click on windows/Linux, ctrl-click on Mac) to see commands available for the current selection: bars, chord symbols or sections.
Select a chord symbol, edit it (double-click, press enter, or right-click menu), and select the Interpretation tab.
The Interpretation tab lets you decide how this chord symbol should be played:
Normal
Accent: add a rhythmic accent and randomly a crash cymbal. You can make the accent stronger, or make sure a crash cymbal is played or not played.
Hold: add a rhythmic accent and hold notes until next chord symbol. If extended more instruments are hold.
Shot: add a rhythmic accent with chord notes played briefly. If extended more instruments are shot.
Pedal bass: bass line will only play the bass note (for ex. F for Fm7 or C for Fm7/C). This setting is on by default when you enter a slash chord.
Each rhythm generation engine may render these Interpretation parameters differently.
The shape of the marker below the chord symbol depends on the interpretation mode:
For example, in order to render:
you could use the following interpretation parameters:
See below the keyboard shortcuts to change the interpretation of selected chords.
Select a chord symbol, edit it and select the Harmony tab.
The Harmony tab lets you select the scale to be used when rendering the music for this chord symbol.
Example Suppose that the reference bass line for Eb7M contains a Ab (4th degree of the Eb major scale). If you select the Lydian mode (which has a sharp 11th degree) then the reference bass note Ab will be rendered as A for this chord symbol.
By default no scale is selected: each rhythm generation engine will decide the "best" scale to use.
Select a chord symbol, edit it and select the substitute chord symbol tab.
This tab lets you define a substitute chord symbol which will be used when some conditions are met.
Substitute chord symbols are useful when you need to introduce a slight variation in a part of a song.
The substitute chord symbol can be any chord symbol, with any interpretation or harmony, or no chord symbol at all (void chord). Chord symbols which have an substitute chord symbol defined are displayed with a different color (see image below).
Example:
In the Carlos Santana's "Europa" song, the 1st ending of the theme is a Cm7, but the 2nd one is a C major. To implement this in JJazzLab, one solution could be to duplicate section A1 to create section A2 with the different ending, then update the song structure accordingly. This is perfectly fine, but when changes are minor the substitute chord symbol can provide a simpler solution.
There is another substitute chord symbol example in the 3rd bar: A7. If you listen to the original song you'll notice that they play a A7 on the last beat of the 3rd bar only during solos. So the A7 chord symbol defines its substitute chord symbol as the "void chord symbol" (same as no chord symbol) when marker is not "Solo".
Typical sections are 'intro', 'verse', 'chorus', etc.
A Song section is the basic unit used by JJazzLab to define the song structure. There is always a section defined on the first bar.
To add a section select a bar which is not after the end then:
press ENTER, or
double-click, or
right-click menu, Insert Section... or Edit...
A section name must be unique.
You can force a section which is not on the first bar of a row to start on the next line. This can be useful when some sections have an odd number of bars.
Select a bar with a section defined or select the section itself, right-click menu "Force Section at New Line".
This will result in the display below.
You can add annotations to any bar.
When annotations are hidden, bar with annotations are marked with a post-it (tooltip shows the annotation text).
Example: for the annotation above, Easy Reader will show "with... you" the first time, "and...you" the second time, and "take...you" whenever the current song part name is "chorus".
Select some bars or chord symbols and copy them (via menu Copy or ctrl-C/command-C). Then switch to any text editor and paste : the bars/chords are exported as text like below:
|4/4 Bb9 A7 | Dm7 G13 | Dm7 G13 | Dm7 G13 |
| Gm7/Bb | C9/Bb | F7M | |
Text import works the other way around. Copy a similar text in the clipboard then paste it in the chord leadsheet editor: the correspondings bars/chord symbols are imported in the JJazzLab song.
Many actions are also available via the context menu (right-click on Windows/Linux, ctrl-click on Mac), and when available the associated keyboard is displayed.
If JJazzLab does not start, make sure that files bin/jjazzlab
and jdk/bin/java
have read and execution permission ('xr
'), as shown below:
Make sure that all extracted files have read permission ('r
'), and that bin/jjazzlab
and jdk/bin/java
have execution permission ('x
'), as shown below:
To add read+execution permissions: chmod a+rx bin/jjazzlab jdk/bin/java
Visit the page for more information.
Define the order of sections using , eg "AABA", "verse verse chorus verse", ...
Select the (music styles) to be used in the song
Introduce dynamics and variations using on each song part
Visit the page for more information.
Add
Visit the page for more information.
The is only used when you want to edit the notes of a or of a .
A song part is linked to a parent section of the .
A song part has a name, a rhythm and a value for each of the . Rhythm parameters let you change how the rhythm is played for this song part.
Edition of song part name, rhythm and parameters can be done directly from the song structure editor using the or , or via the .
JJazzLab lets the developer of a define custom rhythm parameters. However rhythm engines will often use a common set of standard parameters :
Variation: a rhythm variation. rhythms usually have 4 Main variations, plus some Intros, Endings, and some Fills.
Mute: mutes one of more instruments during this song part. To edit this parameter it's easier to use the .
Marker: this parameter is useful only if you use substitute chord symbols, as explained .
Custom phrase: lets you customize one or more instrument phrases of the song part. Example: you want to change the bass phrase at the end of the second verse Edit the Custom phrase rhythm parameter of the corresponding song part, then edit the Bass track. The default bass phrase will appear in the and you'll be able to change it. If you want this customized bass phrase to also be used in the last verse of the song, just and paste it in the last song part.
You can see below (and in the dialog snapshot above) that a C7M substitute chord has been created for Cm7. C7M will be used for all song parts (see the ) where the marker is set to Theme2. On the image below it means the C7M will be used only for the 2nd song part.
Suppose the same bar is used in different song parts. The lyrics for this bar might change depending on the song part. You can prepend # to annotation lines so that the displays only the relevant line.
Selection
Mouse
Action
song part, rhythm param.
click
select
song part
double click
edit song part name
song part name
click
edit
rhythm
click
select a rhythm
editor, song part, rhythm param.
right-click
open popup menu
rhythm parameter
double-click
edit value
rhythm parameter
mouse wheel
change value
rhythm parameters
shift+mouse wheel
make values identical then change value
editor
ctrl mouse wheel
change X zoom factor
Selection
Key
Action
song part, rhythm param.
enter
edit song part name
song part, rhythm param.
R
select rhythm
song part, rhythm param.
I
insert song part
song part, rhythm param.
ctrl-I
append song part
song part, rhythm param.
D
duplicate song part(s)
song part
delete
delete song part(s)
rhythm parameter
ctrl-up/down
next/previous value
rhythm parameter
Z
reset param. value
song part
ctrl-C/X/V
copy/cut/paste
editor
ctrl-Z/Y
undo/redo
editor
ctrl-F
zoom to fit width
editor
V
compact or full view
Selection
Mouse
Action
bar, chord symbol, section
click
select
chord symbol
double click
edit using chord symbol editor
bar, section
double click
edit using bar editor
bar, chord symbol, section
right-click
popup menu
chord symbol
mouse-wheel
transpose
editor
ctrl mouse-wheel
change X zoom factor
Selection
Key
Action
chord Symbol
enter
edit with chord symbol editor
bar, section
enter
edit with bar editor dialog
bar
ctrl-E
set end bar
bar
I
insert bars
bar
delete
clear bar contents
chord symbol, section
delete
remove
chord symbol, section
ctrl-left/right
move item one bar left/right
bar
shift-delete
remove
chord symbol
ctrl-up/down
transpose
chord symbol
P
change interpretation
chord symbol
S
stronger accent
chord symbol
H
crash cymbal/no crash
chord symbol
X
hold/shot more instruments
chord symbol, section
ctrl-A
select all in section, then in lead sheet
bar, chord symbol, section
ctrl-C/X/V
copy/cut/paste items
editor
ctrl-Z/Y
undo/redo
editor
ctrl-L
Show/hide bar annotations
editor
alt-L
Insert bar annotation
editor
ctrl-W
close song
Frequently Asked Questions
Donate to keep JJazzLab 100% free, without any ad
Help translate JJazzLab (especially if you speak japanese and korean)
Contribute to improve this documentation
Like the videos and subscribe the YouTube channel
Record a video of yourself playing along with JJazzLab: videos will be put on the JJazzLab YouTube channel
Spread the word ! Talk and add links to www.jjazzlab.org on social networks, blogs, websites, etc.
If you're a developer, contribute code on GitHub.
On MacOS the Options are accessed via the main menu JJazzLab/Preferences.
Select all the chord symbols (right-click menu Select all the chord symbols)
Use the mouse-wheel, or right-click menu Transpose
Yes, but not directly because JJazzLab can not host VST plugins.
Install a virtual midi device and a VST Host software on your computer. You'll find on the web free applications for Windows, Linux and Mac. For example use loopMIDI (we recommend to disable its feedback detection in the Advanced settings) and SoundBridge on Windows.
In JJazzLab, go to Midi options and set the Midi out device to loopMIDI
In your VST Host software, set the Midi in device to loopMidi and make sure the VST Host and the VST plugins are configured so that all Midi channels (1-16) are received.
Play a song in JJazzLab: you should hear the VST instruments
If you don't want to select the VST sounds directly from JJazzLab, you might want to Disable all Midi parameters from the Midi menu in the Mix Console.
From JJazzLab 4, just use menu File/Export to audio -this requires FluidSynth to be the output synth. If you select the option "Separate tracks", one audio file will be generated per track.
You need to reset all JJazzLab user settings (uninstall/re-install is not enough).
The simple way: menu Tools/Options/Advanced, button Reset all user settings.
The hard way: find the location of your Netbeans user dir in menu Help/About/System Information, exit JJazzLab then delete the Netbeans user dir.
Yes. When first prompted by the JJazzLab installer, select "Install only for me", then select an installation directory where you have write access (in My Documents for example).
From JJazzLab 4, the application embeds a ready-to-use software synth (FluidSynth) optimally configured for JJazzLab, with decent sounds.
To get even better sounds, you'll need to connect JJazzLab to a hardware synth or to VST/AU plugins via Midi.
There is a free version of Halion Sonic SE from Steinberg which can be used with JJazzLab to get really good sounding backing tracks, more info on the JJazzLab forum.
JJazzLab can drive your keyboard to benefit from its optimized sounds.
Connect your keyboard via Midi
Go to the Midi Out tab of Options/Preferences
Select the Midi output connected to your synth
In the Output Synth part, select Add synth from file..., and choose YamahaRefSynth.ins.
In the JJazzLab installation directory, edit the file etc/jjazzlab.conf and add --fontsize 16 (16 or any other value, default is 11) in the default_options variable, you should end up with something like this:
default_options="--branding jjazzlab -J-Djjazzlab.version=2.2.0 -J-Dplugin.manager.check.new.plugins=true -J-Dplugin.manager.check.interval=EVERY_DAY --fontsize 16"
Restart JJazzLab. All menus should look bigger now.
This won't solve everything though, as some editor fonts do not depend on this setting. But you can tweak some of them using menu Tools/Options/Theme. Check each item in the list and if there is a font defined, change it to make it bigger. The user settings are automatically saved, so you need to do this only once.
If you use 4K or 5K monitors, JJazzLab may look too small, with unreadable fonts. In this case add -J-Dsun.java2d.uiScale=2 in the default_options variable, like in the example above. JJazzLab will look twice as bigger.
You can pass one or more .sng file names on the command line, JJazzLab will open them upon start.
Create a new thread in the JJazzLab forum or, if you're a GitHub user, create an issue.
We need the following information in order to help you:
Provide the content of the log file
Describe what does not work as expected
Describe the sequence of actions that caused the issue
A new log file is created upon each start of JJazzLab. It's important to get the right log file when the problem occured.
To get the log file content:
After the problem has occured, go to menu Tools/Options/Advanced
Click on Show Log Window
Copy & paste the full content of this window in your bug report
If for some reason the above does not work:
Go to menu Help/About and find the location of your Netbeans user dir. For ex. on Windows C:\Users\MyName\AppData\Roaming\jjazzlab\2.2
For ex. on Linux /home/MyName/.jjazzlab/2.2
Open an explorer, go to this directory then to the var/log subdirectory
The last log file is messages.log, the previous one is messages.log.1, the before previous is messages.log.2, etc.
Find the relevant log file and send it with your bug report
If you can't find the Netbeans user dir., make sure your explorer shows the hidden files (e.g. the AppData directory is usually hidden on Windows)
When you save a song called mySong, JJazzLab actually saves 2 different files:
mySong.sng: contains everything except the mix information, i.e. the chord leadsheet, the song structure, the reference to the rhythm used (e.g. "16beat.s456.sty").
mySong.mix: contains only the mix information, i.e. which instrument is used by each track, and with which configuration (volume, reverb, pan, ...).
Why using 2 different files ?
Because the mix information is specific to your output synth (FluidSynth or a custom synth). Integrating the mix data in the .sng file would make .sng files not portable between users, since users have different output synths.
When you open mySong.sng, JJazzLab tries to open mySong.mix in the same directory. If mySong.mix does not exist then JJazzLab creates the mix using the default rhythm mix file if it's present, otherwise it uses the rhythm's builtin mix (see below).
When loading a song file (.sng), if the rhythm reference (e.g. "MediumJazz.s637.sst") used by this song is not available, JJazzLab substitutes another rhythm available on the system. JJazzLab tries its best to find a "similar" rhythm based on the name (another "jazz" rhythm in the example above). If it can't find a suitable rhythm, it just uses the default rhythm for the time signature.
If you often use a certain rhythm, adjust its mix and save it as a default rhythm mix file, so that each time you'll use that rhythm in a song, it will sound optimally for your output synth.
When you create a song and select a new rhythm (e.g. MediumJazz.s637.sst
), JJazzLab looks for a default rhythm mix file (MediumJazz.s637.mix
) to initialize the song mix for this rhythm.
The default rhythm mix lets you define an optimized rhythm mix adapted to your output synth (FluidSynth or a custom synth): for example withMediumJazz.s637.sst
you can make the electric guitar quieter, replace the default GM bass instrument by a better one available on your synth, and mute that flute you don't like.
If the default rhythm mix file is not present, JJazzLab uses the rhythm's builtin mix. The rhythm's builtin mix is infered from the rhythm data and from your output synth capabilities. With FluidSynth the resulting mix should be OK with a few manual adjusments. With a custom synth, it might need more fixes.
In the Midi options select your preferred output synth, e.g. FluidSynth.
Load a song which uses your favorite rhythm and play it (song mix is initialized with the rhythm's builtin mix if no default rhythm mix is defined)
Adjust the mix until you're satisfied with the song rendering
Use Save as default rhythm mix from the Mix Console File menu, as shown below.
The default rhythm mix file is saved in the same directory than the rhythm file.
JJazzLab will now automatically use this default rhythm mix each time you select the corresponding rhythm in a song.
If it's defined, you can always reapply a default rhythm mix using Load default rhythm mix from the Mix console menu File.
If you want to reset the song mix to the rhythm's builtin mix (see above), use Reset channels from the Mix Console Edit menu, as shown below.
Combining the 2 paragraphs above, below is how JJazzLab looks for mix information when you load myDir/mySong.sng and this songs uses rhythm 16BeatRock :
use myDir/mySong.mix if present
use defaultRhythmMixDir/16BeatRock.mix if present
use 16BeatRock builtin default mix
Steps 2. and 3. are also used when you add a new rhythm in a song.
You can control the playback of the backing track using the toolbar below.
The Metronome and Precount mode depend on the Click settings in the Options menu.
The shortcuts are given for Windows and Linux. Some of them might need to be adapted for Mac.
Key
Command
space
Start / Pause / Resume
shift-space
Stop
ctrl-space
Start from the selected bar or song part
ctrl-shift-space
Play only selected bars or song parts
F1
Jump playback to previous song part
F2
Jump playback to next song part
F3
Jump playback to song start (restart)
J or -
Decrease tempo
K or +
Increase tempo
L
Toggle loop mode
Use the mix console to:
Change the instruments
Adjust channel settings: volume, reverb, chorus, panoramic, transposition, velocity offset
Mute or solo channels
Add user tracks
Load/save .mix file
And more: change Midi channel, use special Midi commands, export to Midi file, etc.
JJazzLab uses the mix console information to send the relevant Midi messages to the output synth. This is done each time you make a change in the mix console, or when you start the playback.
Midi has only 16 Midi channels. That's why usually a song can't have more than 2 rhythms.
Master volume: this increase or lower the Midi volume messages
M: Mute or Unmute all tracks
S: Switch off all Solo tracks
Panic: Send a Midi Panic message, switching all notes OFF
Add a User track: see User tracks below.
Load/Save Default Rhythm Mix
Change the current mix from a file. Consult this page for more information about .mix files.
Import Mix...
Note that this will import settings only for the instruments which are common between the current mix and the imported mix.
Reset channels
Restore the original settings from the related rhythm.
Enable/Disable all Midi parameters
Use Disable all Midi parameters if you control the mix yourself directly on the output synth.
Send GM/GM2/XG/GM mode ON message
This lets you send special Midi initialization messages to turn your output synth in the desired mode.
Click on the instrument name in the channel. Note that this is also where instrument transposition can be adjusted.
Use the channel settings to:
Add a Midi velocity offset to all notes played on this channel
Note that this is slightly different from adjusting the volume.
Disable sending specific Midi messages
Probably because you control the parameter yourself directly on the output synth.
Enable a drums channel with a Midi channel different than 10
If you use a basic GM output synth, it can play drums only on channel 10. If drums/percussion are used on other channels in your mix, you need to activate drums rerouting on these channels. Note that JJazzLab may activate this option for you if it detects, based on the current output synth information, potential issues.
Each Midi channel can be changed manually, just click on the channel number.
A user track lets you add your own Midi content to your song: a melody, horn riffs, percussion, etc.
If you want to customize a rhythm phrase only for a song part (e.g. the 2nd verse of your song), you might better use the Custom phrase rhythm parameter.
Add one or more user tracks using the Add user track button, as show below. This will also open the notes editor.
You can also clone a rhythm track as a new user track, using the + sign in the track overview, as shown below. The original rhythm track will be automatically muted.
If you select a drums or percussion instrument for the user track, and your output synth is a basic GM-compatible synth: set the user track channel to 10, and if channel 10 is already used by another track, activate the Drums rerouting to channel 10 (see Channel settings) in your User track.
Edit the user track by clicking on the upper left icon in the user track overview component, as shown below.
This will open the notes editor.
A user track has always the same length than your song.
If you edit a user track, then make the song shorter (e.g. by removing a song part), the user track will be trimmed to the new song size.
You can export the full backing track to a Midi file by mouse-dragging from the empty area of the mix console. Note that this is the same as the menu File/Export to Midi file, except it's more convenient when you work with another software such as a DAW.
To export a single track, start the mouse-drag from the track icon or track overview component.
When a song uses 2 or more rhythms, a popup is displayed in the upper left corner of the mix console to select the rhythm you want to display.
Note that some commands such as menu Edit/Reset channels will not be applied to the hidden rhythm(s).
Selection
Mouse
Action
channel volume slider, knobs
double-click
Input value with keyboard
channel volume slider
shift + mouse-drag
change volume of all channels
JJazzLab can import songs from different file types using the menu File/Import songs...
If you have many files to import, you should use the batch convert mode. This modes directly imports and converts to .sng files, without opening the imported files in JJazzLab. Created .sng files will be located in the same directory than the imported files.
To activate the batch convert mode, select corresponding checkbox in the Import Songs... dialog, as shown below:
JJazzLab can import .SG* or .MG* song files.
Only the following Band-In-A-Box data are used to generate the corresponding JJazzLab song :
song structure: chorus start, chorus end, number of chorus, tag after, tag start, tag end, 2 bar ending
chord symbols: name, position (including optional push settings), rest/hold/shot settings
song settings: allow push/rest in first/middle/last chorus.
The song import feature is not 100% reliable, but most of the files should be OK.
By default imported songs will be in 4/4. If you know that the imported song is in 3/4, then when import is done just select the initial time signature and use righ-click menu Set time signature to fix the time signature.
JJazzLab can import musicXML (.xml, .musicxml) or compressed musicXML (.mxl). It has been tested successfully with musicXML files exported from iRealPro.
What is imported:
Chord symbols
Time signatures
Section titles such "INTRO", "A", "B" found in direction/direction-type/rehearsal elements.
Repeats, endings (1. 2. 3...), tocoda, coda, segno, DC al coda, DC al fine, DS al coda, DS al fine, as found in sound and barline elements.
Music style information found in the groove type of a play/other-play element.
JJazzLab can read chords from text files. 3 formats are supported, GRID-BASED, TIME-BASED, BEAT-BASED.
!
can be used instead of |
. %
repeats the previous bar. Any bar can start with a time signature.
Example:
|3/4 Bb7M | D7#5 | Eb7M | Db7#11 |
| Cm7 | G7 | C7M | |
|4/4 Fm7 | Gm7 C7 | % | F7M |
This format is compatible with text files exported from ChordPulse.
The time signature and tempo must be set first so that pos_in_seconds can be converted into bar/beat. If not set, the default values are 4/4 and 120bpm.
Example:
timeSignature=3/4
tempoBPM=60
0, C
3, F7
4.5, Eb7
6, D7
Note that by default bar and beat are expected to be 0-based (first bar of the song is bar 0). You can change that by adding "useBase1
" at the beginning of the file, then bar and beat are expected to be 1-based.
Example:
0, 0, C
1, 0, F7
1, 1.5, Eb7
2, 0, D7
Lines starting with //
are ignored (comments)
"title=My song name
" : if specified the created song will use this title as name
Accepted delimiter characters are ,
;
or space or tab (time or beat-based format)
JJazzLab can import Impro-Visor (.ls) leadsheet files.
The import is limited to the time signatures and chord symbols.
If you study improvisation, JJazzLab proposes a few useful exercices from Hal Crook's book "How to improvise".
JJazzLab will generate a "guide" to help you perform the selected exercise on the active song.
The Easy Reader (menu Tools/Easy Reader) always shows the 2 currently playing bars.
It's make it easy to follow the playing chords and lyrics, even for of a complex song with many song parts.
When a bar annotation uses the , only the relevant part of the annotation is shown.
Like most of the JJazzLab windows, you can undock the Easy Reader window to place it wherever you want (use the right-click menu of the window title):
Use the Chord inspector to see notes (and possibly associated scales) of the selected chord symbol, using various vizualizations.
The red dot represents tonic notes (for ex. G for Gm69).
By clicking on the button you can switch between different types of positions : most common, open voiced, close voiced, inversions.
JJazzLab embeds a Midi notes editor which is used to or .
For now the score panel (above) uses a simplified musical notation: notes positions are just aligned with the editor notes, without any embellishment. The score panel is not editable.
Rhythm tracks can also be edited with the notes editor by cloning them first as a user track :
In the song structure editor, click the top-left button of a Custom phrase rhythm parameter:
Then select the phrases you wish to customize and press Edit to open the notes editor.
You can move the editor by pressing ctrl + dragging in the top ruler as shown below:
You can use the main application zoom sliders in the lower right corner, or use ctrl+mouse-wheel for horizontal zoom, ctrl+shift+mouse-wheel for vertical zoom.
Use ctrl-F to zoom to fit width.
Use the toolbar button, or press ctrl-shift-SPACE, to start the playback in loop mode of the edited phrase, or of the playback loop zone if it is set.
A playback loop zone can be set by mouse dragging in the top ruler. Use shift+click in the ruler to extend the loop zone. Click in the ruler to remove the loop zone.
Use the Snap to grid button (or press G) to snap notes to the grid when you draw/move/resize them. The size of the grid can be set using the drop-down list (1/4=quarter note, 1/8=quaver, ...):
When you move or resize notes with the Select tool, you can temporarily reverse the "snap to grid" setting by pressing alt.
Tools can be selected using buttons from the notes editor top toolbar, or by right-clicking in the editor:
Use the select tool to select, move, resize, copy (ctrl-C), delete notes (press delete). Drag to select several notes. Use ctrl-drag notes to duplicate notes. ctrl-shift-I invert the notes selection.
If one or more notes are selected, pasted notes are aligned with the first selected note. If no notes selected, pasted notes are aligned to the left side of the notes editor.
Use the draw tool to draw notes, and the erase tool to erase notes.
Notes color vary with their velocity. There are several way to change notes velocity, as shown below.
First select the notes to change. Then either use the velocity spinner in the toolbar, or use alt + mouse-wheel or alt + page up/down.
Click or mouse-drag on notes to adjust their velocity.
Use the Quantize button or press Q to move the selected notes start position on the current grid. If no note selected, all notes are quantized.
Check the Iterative box to perform iterative quantize : notes are gradually moved towards the grid. This is usually recommended to avoid a too mechanical sound.
You can also humanize all or selected notes. Humanization introduces slight random variations in the notes start position and velocity.
Once you clicked the Humanize button, you can adjust the humanization parameters and see the different results.
This bass line is very uniform: all notes have the same velocity and are quantized. This sounds too "robotic".
We can use the Humanize dialog to improve this, as shown below.
You can import notes by dragging an external Midi file into the editor. You can also drag from an individual track in the mix console.
If the imported Midi file contains notes from several Midi channels, then JazzLab only imports the notes which match the editor Midi channel.
If the imported Midi file only contains notes from a single channel, then JJazzLab imports the notes with the channel updated to the editor Midi channel.
In JJazzLab "rhythm" usually means a music style, like pop or bossa-nova.
Rhythms are used by . Many songs use only one rhythm (e.g. rock), but some may use 2 or more. A song file (.sng) does not contain all the rhythm data, it just keeps a reference to the rhythm's name.
Upon first start, JJazzLab the computer to get a list of the available rhythms.
In JJazzLab core, rhythms are made available by . Some rhythms can be based on rhythm files. For example the provides rhythms built from Yamaha style files such as poprock.sty or TripHop.S510.prs.
JJazzLab expects rhythm files to be in the User directory for rhythm files. The location of this directory can be changed in the Options/Rhythms, as shown below.
Your rhythm files are scanned at startup only upon a fresh install or an upgrade, and the rhythm list is saved into a cache file.
You can force a rescan in the Options/Rhythms panel as shown below.
You can use up to 2 levels of sub-directories to organize the rhythms in the User directory for rhythm files. Sub-directories whose name starts with an underscore '_' are not scanned.
This cache file is then used to get the rhythm list upon next startups, which is much faster than the initial scanning -especially if you have many rhythm files.
Quality of Yamaha style files found on the web vary a lot. Furthermore some styles are
sometimes “broken” (invalid file format), i.e. can't be loaded by JJazzLab.
Added rhythm files will be copied to the root of the User directory for rhythm files, and a rescan will be planned on next start.
In the Add Rhythms... dialog shown below, you can choose to add the rhythms for the current session only, i.e. rhythm files will NOT be copied in the User directory for rhythm files.
If, outside of JJazzLab, you add or remove rhythm files in the rhythm directory structure, you MUST manually force a rescan, otherwise the added/removed files will not be taken into account.
The engine is able to read all Yamaha style files (.sty, .prs, .bcs, .sst, at SFF1 or SFF2 format). You can find some style files on the web, most of them for free. Visit the page for useful links.
Yamaha styles usually have 4 variations Main A, Main B, Main C, Main D, plus some Intros and Endings.
Most of the time the variations have the following organisation:
Intro A: 1-bar drums-only intro
Intro B: 2-bar intro with a fixed chord sequence (i.e. your intro should contain only one initial chord to set the key)
Intro C: same than B but with 4 bars
Main A-D: the 4 main style variations, from lighter to heavier
Ending A: 1-bar ending with a final chord on 1st beat
Ending B: 2-bar ending with a fixed chord sequence (i.e. your ending should contain only one initial chord to set the key)
Ending C: same than B but with 4 bars
You will also find Fill In AA, Fill In BB, Fill In CC, Fill In DD, Fill In BA variations, which correspond to 1-bar transitions, usually with a drums fill or break. You normally don't have to use them directly because JJazzLab does it automatically at the end of each section, depending on the value of the drums Fill rhythm parameter.
Each variation can use tracks of the following types:
Rhythm (e.g. drums)
Sub-rhythm (e.g. percussion)
Bass
Chord1 (e.g. guitar)
Chord2 (e.g. keyboard)
Pad (e.g. strings)
Phrase1 (e.g. Brass)
Phrase2
Yamaha style files are optimized for Yamaha arranger keyboards. The latest models (Tyros, Genos…) has many voices with special features (e.g "Mega Voices"), especially for guitars which are optimized for style rendering.
Other keyboards or synths can’t reproduce these special voices correctly. That’s why some recent Yamaha style files (SFF2 format) may not sound right with JJazzLab. If this happens locate the faulty channels using the Solo button in the MixConsole, and lower their volume or mute them.
JJazzLab is designed to host any kind of rhythm generation engines, and they must work with any kind of output synth, not only the Yamaha keyboards. Therefore some specific Yamaha style file features are not supported:
SysEx Midi messages: ignored.
Controller messages: ignored.
Per-variation sounds: ignored, YamJJazz uses the style’s default sounds for all variations.
Yamaha Mega Voices : non musical notes or sound effects (notes above C6) are ignored.
Pitch bend Midi messages : ignored.
OTS and MDB sections: ignored.
The can read a new file format (.yjz) which extends the capabilities of a standard file (.sty, .prs, .sst, etc.). Objective is to enable the design of rhythms with a wider dynamic range, rhythms which sound less repetitive.
.yjz file can also be used to simply modify the music of an existing Yamaha style, as show in the example below.
An extended style (.yjz) supports :
Unlimited number of variations Instead of Main A/B/C/D, you can have Main A-1, Main A-2, Main B-1, Main B-2, Main B-3, Main C-1, Main C-2, …
Unlimited number of source phrases for each variation With a standard Yamaha style the same source phrase is always used for a given variation. Alternate source phrases lets the rhythm designer define different-but-similar phrases for e.g Main A-1, which will be used randomly by the YamJJazz engine in order to sound less repetitive.
A .yjz file is just the extension part of a standard Yamaha style file, the base style. So when you read MyRhythm.yjz, YamJJazz needs to find MyRhythm.sty (or MyRhythm.prs) in the same directory.
This wizard, available in the Tools menu, is used to create a ready-to-be-customized extended style file (.yjz) from a standard Yamaha style file (.sty, .prs, ...). See the video below for how to use it.
Once created you'll need to manually alter the musical phrases of the .yjz Midi file using a Midi editor or a DAW like Cubase, Ableton Live, etc. Otherwise the new extended style will sound exactly like the base style.
Say you want to change the music of the Main A variation of Yamaha style MediumJazzS737.sst.
Start the Extended style creation wizard, select the rhythm MediumJazzS737.sst, then adjust the settings as shown on the image below.
Once MediumJazzS737-ext.yjz is generated, open it in your Midi editor. If you use Cubase for example, you should see something like this:
Now you can modify the Midi source phrases as you want, based on the source chord provided in the track name (e.g. C7M for the bass tracks). You must not change the track names or change the duration of the section (8 bars/32 beats here).
You may see several source phrases for one instrument. In our example there are 2 tracks for the Bass. You should make consistent changes to each of them.
The reason why this happens in Yamaha styles is beyond the scope of this tutorial. The general idea is to allow specialized phrases for specific cases, e.g. a phrase for minor chords and another one for major chords. Search for the Yamaha style CASM section if you want more information about this.
When the Midi editing is complete, save your file.
In JJazzLab start a Rescan in Options/Rhythms.
Now you can use the new modified style in your song, just select MediumJazzS737-ext.yjz from the YamJJazz extended styles as seen below.
If you don’t plan to create your own .yjz file you can skip this paragraph.
We recommend to use the Extended style creation wizard to prepare a .yjz file ready to be customized (see above).
The extension file (.yjz) must be associated to a base Yamaha style file (.sty, .prs, .sst, etc.) with the same name in the same directory.
YamJJazz first reads the base style file to get the following Yamaha style information:
CASM data: channels parameters for each available variation (used Midi channels, source chords, lower/upper note limits, chord/melody channels, etc.)
SINT data: instruments parameters (bank select/program change, volume, …)
Musical data: the Midi source phrases for each channel of each available variation
Then YamJJazz reads the .yjz extension file to get Midi source phrases used to refine the available base variations and to add alternate source phrases.
If the base style uses variation Main A (example), then it’s possible to define variations Main A-1, Main A-2, Main A-3, etc. in the extension file. The number is called the complexity level. As soon as you define a Main A-x variation in the extension file, it replaces the original Main A variation from the base file.
If the base file defines variation Main D (example) but the extension file does not define Main D-x, then the original Main D will be used with the name Main D-1.
If the base style does not have variation Intro B (example), then it’s not possible to define Intro B-x in the extension file.
.yjz files use Midi format 1, they contain several tracks. Note that .sty or .prs files use Midi format 0, they contain a single track.
Each track of the extension file must start with a Midi trackname meta event with the following syntax:
trackname=<base variation>-<complexity level>-<id string>-<phrase length in beats>
Trackname examples:
Main A-1-drums-8
Main A-1-bass-8
Main A-1-guitar-8
Main A-1-guitar_root-8
Main A-2-drums-8
Main A-2-bass-8
Main A-2-guitar-8
Main A-2-guitar_root-8
Ending B-1-piano-4
Ending B-1-bass-4
For <id string>
you can use whatever string you like, but it's a good practice to mention at least the target instrument. If you use the Extended style creation wizard, id string
is generated for you and will be something like [Bass, C7M, ch11]
: the instrument name, the source chord and source Midi channel.
All tracks for a given variation must have the same length in beats. But different variations can have different lengths.
Depending on the CASM data, there might be more than one source phrase for a given instrument (the guitar and guitar_root phrases in the example above). For example one channel can be used for major chords, the other one for minor chords.
A track should only contain Midi note on/off messages for its source chord and source Midi channel, as defined in the CASM data of the base style. If you used the Extended style creation wizard, you have the source chord and Midi channel indicated in the <id string>
, as explained above.
To add alternate source phrases for a given variation, just append source phrases on each track of this variation. Each appended source phrase must have the same length than the original phrase.
Example The source phrase length of track Main A-1-bass-8 is 8 beats (2 bars in 4/4). You can append 2 similar 8-beat source phrases on that track, so the track length becomes 24 beats. YamJJazz will consider the 2 appended phrases as alternate source phrases of the first source phrase, to be used randomly when rendering the Main A-1 bass part.
Note that 2 alternate source phrases must be also added for all the other Main A-1 tracks: Main A-1-drums-8, Main A-1-guitar-8 and Main A-1-guitar_root-8.
If you have for example 3 source phrases for Main A-1, JJazzLab will randomly pick a source phrase every 2 bars. The selection is actually not 100% random: the first source phrase has more chances to be selected than the second one, and the second one has more chances to be selected than the third one, etc. In other words the last source phrase has the least chances to get selected.
JJazzLab embeds the YamJJazz rhythm generation engine. This engine reads and introduces a new format which adds more variations to existing Yamaha style files.
You can see below the 2 YamJJazz rhythm providers available in the rhythm selection dialog.
The rhythms are made available by rhythm engines.
Thanks to its open-source and pluggable architecture, JJazzLab can host many different rhythm engines. If you’re a developer you can build your own quite easily!
A rhythm engine has one or more rhythm providers which propose a list of supported rhythms and the supported rhythm parameters. You can see the list of all available rhythm providers in the rhythm selection dialog.
Here some examples of what could be developed using the JJazzLab-X infrastructure.
An AI-based jazz oriented engine with only one versatile rhythm which adapts to different contexts, like a real band (slow or fast tempo, walking bass or not, etc.).
A drum engine similar to the Logic Pro X virtual drummer
An engine able to adapt the backing track to a given melody
A “meta-engine” which lets you combine individual tracks from various rhythms (e.g. combine a hip-hop bass line with latin drums)
An engine able to read style files from Band-In-A-Box or other arranger keyboards such as Korg or Ketron
etc.
If you change the time signature of a, JJazzLab will use an adapted rhythm for the impacted . This is simply the same rhythm but shortened or repeated to fit the new measure size.
You’ll notice that the adapted rhythm does not need additional channels in the mix console: it uses the Midi channels of its source rhythm (fastbossa.s629.prs in the example above).
If you don’t want the adapted rhythm, juste replace it using the .
If there is a scale set for the selected chord symbol (see the ), the notes of the scale are shown.
The notes editor is automatically opened when you . For existing user tracks, click the edit button in the track overview component, as shown below.
To change the position of existing notes, use .
You can use 3 tools to modify notes: select tool, draw tool, erase tool. The 2 first edit tools are sensitive to the settings.
Use the Add Rhythms... button from the Options/Rhythms panel (or from the ).
JJazzLab currently includes one rhythm engine, , which is based on Yamaha styles. Its rhythm parameters are Variation, Intensity and Fill (other parameters such as Mute or Tempo Factor are generic and work with any rhythm).
Notes
ctrl-click
select multiple notes
Editor
drag
select multiple notes
Notes
drag
move/resize
Notes
ctrl-drag
duplicate notes
Notes
alt-drag
move/resize with snap-to-grid setting reversed
Notes
alt-wheel
change velocity
Editor
wheel
move editor up down
Editor
shift-wheel
movbe editor left right
Editor
ctrl-wheel
zoom horizontally
Editor
ctrl-shift-wheel
zoom vertically
Editor
ctrl-drag
Move editor
Ruler
drag
set playback loop zone
Ruler
shift-click
extend playback loop zone
Ruler
click
remove playback loop zone
Selection
Key
Action
Notes
alt-up/down
change velocity
Notes
ctrl-C/X/V
copy/cut/paste notes
Notes
delete
delete notes
Notes
ctrl-shift-I
invert notes selection
Editor
ctrl-F
zoom to fit notes
Editor
Q
quantize
Editor
G
snap-to-grid
Editor
A
auto-scroll during playback
Editor
S
solo the edited phrase
Editor
H
hear the selected notes
Editor
Home/End
Move editor to start/end
Editor
ctrl-alt-space
play the edited phrase
Editor
ctrl-Z/Y
undo/redo
The exported file takes into account the current playback configuration:
Output synth configuration
Mix console settings such as track's instrument, volume, mute state, etc.
Precount, click and tempo settings
The playback key transposition settings
You can export a whole song to Midi via the menu File/Export to Midi file...
You can also export individual tracks by mouse-dragging from the Mix console.
Exported file is a multi-track type 1 Midi file.
Each instrument track (from track 1) is initialized using the corresponding mix console track setting. Track 0 contains:
If required, GM/GM2/GS/XG Midi initialization messages (depends on the output synth configuration)
Tempo and time signature events
Markers for chord symbols
You can export the whole song to a .wav or .mp3 file via menu File/Export to Audio file...
Audio export is only available if you use the internal Fluidsynth output synth.
Check the Separate tracks option to export one audio file per track, as shown below.
If you have a Midi keyboard connected via Midi IN, you can use it as a (pseudo) arranger keyboard: JJazzLab will recognize the chord symbols played and update the backing track accordingly.
This mode if for educational purpose only.
There will be a delay between your chord change and the music change. This is normal because JJazzLab is not designed to work as a realtime arranger keyboard.
First connect your Midi keyboard to a Midi IN device (see the Midi panel of Options/Preferences).
Create or open a song, then select a song part. The song part will be used by JJazzLab to know which rhythm and which rhythm parameters should be used during the arranger mode session.
Display the Arranger window (menu Window) and press its Play button: music should now follow the chords you play on your keyboard.
Only the notes received below the split note are used for chord symbol recognition.
While you play you can change rhythm parameters of the active song part (e.g. change the variation).
With 7 languages supported, JJazzLab can now be used by 3.5 billions people !
Chinese: Yafei
German: Hans Hahn, Torsten-Peh, helmutguitar, Ole Jenning, Samuel Buch
French: Daniel Patin, Hans Hahn
Japanese: H. Sakuda (GItBook online help)
Portuguese/Brazilian: Danilson Ramos De Oliveira
Spanish: Lucho
And thank you also to all the other contributors, every little bit helps!
JJazzLab uses the crowdin.com platform, which makes it super easy to translate phrases, directly from your browser.
Everyone, provided that you're a native speaker of the target language and you're familiar with music software terms.
https://crwd.in/jjazzlab and register (it's free)
Choose a target language
Select a translation file (phrases are grouped per feature or UI component)
Pick an English phrase and translate it
Use ctrl-O (or upper-left menu Open) to open a different file. Done!
Crowdin provides many other translation facilities, like automatic translation proposals, possibility to request more info, a validation process, etc.
The shorter the better Don't forget that your phrases will be part of the JJazzLab user interface.
Be consistent across translations If "leadsheet" is "xyz" in your language, try to reuse "xyz" whenever possible. Use the Glossary if a term is often reused.
Translate the Glossary first It's the last translation file at the bottom. It contains the most used terms found in JJazzLab, and helps maintain consistency across translations.
Proofreader role A proofreader validates maintains consistency and validate translation phrases. If you feel ready for this role, feel free to contact me.
Language missing? If you want to add a language not listed in Crowdin, feel free to contact me.
Want to try JJazzLab with the latest translation files? See this page.
This site is hosted on the GitBook platform, which lets users update the documentation, like in a Wiki. Making changes is super easy because it's done directly in the internet browser, nothing to install.
If you want to make some changes just send me an email () I'll reply with a link to grant you write access rights to the JJazzLab GitBook.
If you're a GitHub user you can also use the Edit on GitHub button in the upper right of each page, or make a pull-request directly on the .
You can also help by fixing or adding new translations. Currently there is 2 languages, English and Japanese. If you language does not exist yet, contact me () so that I add a "GitBook variant" for that language.
H. Sakuda. : who created the Japanese doc pages