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...
A complete and open application for backing tracks generation.
Want to add or fix documentation? Yes you can!😀 Visit the Improve documentation page.
Try this very short video tutorial.
🎵 JJazzLab is a desktop application which automatically generates backing tracks for any song, even complex ones. It’s a jam buddy to have fun improvising at home, learn new stuff or just practice your instrument. It’s also a great tool for teachers.
🎷 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: developers can easily add new features and new music generation capabilities.
Instant generation of a Midi backing track with drums, percussion, bass, piano, guitar, pad, horn section, …
Fine tuning of the backing track per song part: rhythm variation, intensity, muted instruments, drum fills, tempo factor, custom phrases, drums transform, …
Add user tracks, which can also be used to change predefined rhythm tracks
Play from anywhere, loop selected bars
Play transposed (e.g. for sax or trumpet players)
Any song structure: intro, chorus, 1st coda, etc.
Adjust tempo, transposition, choose and solo/mute instruments
Support for multi-rhythm backing tracks, possibly with different time signatures
Export to Midi or MP3/Wav file, the full backing track or a single instrument track
Customizable click and pre-count
Chord lead sheet editor, song structure editor, chord symbol editor, mix console, notes editor, song memo editor
Multi-file editor with dockable windows
Intuitive user interface with unlimited undo/redo, copy/paste between songs
Free placement of the chord symbols (quantified or not), off-beat chord symbols anticipation
Support all pop-rock and jazz chord symbols, plus user-defined chord symbols
Edit chord symbol musical rendering: underlying harmony, accent type, harmony variation during solos, chord symbol substitution, …
Add annotations or lyrics to measures
Drag & drop support to import/export Midi files
Customizable song template
Customizable colors and fonts
Print chord lead sheet and song structure
Support for Yamaha style files (SFF1 & SFF2 format), access to thousands of free styles on the web
Hundreds of embedded rhythms in the installer
Support for “YamJJazz Extended Yamaha" style files for even more variations per style
Open architecture: new rhythm generation engines can be easily added via plugins
Show the currently playing chords and annotations/lyrics
Show selected chord symbol notes and scales with piano keyboard, guitar diagrams or score
Recognize chords played on Midi IN and update the backing track in (pseudo) real-time
Automatic generate improvisation guides on your chord leadsheet
Based on Hal Crook's reference book "How to improvise"
JJazzLab embeds a ready-to-use synth based on FluidSynth, with good sounds optimized for JJazzLab
If not using FluidSynth, you still can connect JJazzLab to a Midi synth (hardware or software) with advanced configuration possibilities
Band-In-A-Box / MusicXML / Impro-Visor lead sheet files
Import .txt files or copy/paste text like "|A7 D7 | Gm7 C7|"
Song memo with hyperlinks opened upon song loading
Easily add new features thanks to the open-source pluggable architecture
Based on the Netbeans application framework
Frequently Asked Questions
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.
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. 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.
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.
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)
If you don't have admin rights on your computer, choose Install for me only during setup
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.
.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 and extract (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.
JJazzLab packages are only proposed in selected formats (.deb, .rpm, ...).
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).
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.con
f
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.
to keep JJazzLab 100% free, without any ad
Help JJazzLab (especially if you speak japanese and korean)
to improve this documentation
Like the videos and subscribe the
If you're a developer, contribute code on .
To get even better sounds, you'll need to use a hardware synth or .
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 .
Create a new thread in the or, if you're a GitHub user, create an .
Download and run the setup program at , which embeds everything you need.
You can find more explanations in this .
You must first install FluidSynth (>=2.2.0) manually (I strongly recommend via Homebrew): .
Download the .pkg file at and open it.
If FluidSynth makes some "crackling" noise, make sure your Linux is optimized for audio applications:
Download the relevant package for your distro at , then open it with the relevant package manager (examples below) :
Install FluidSynth (>=2.2.0) manually:
Make sure that all extracted files have read
file permissions for all users ('r
'), and that bin/jjazzlab
has execution permission for all users ('x
'), as shown below:
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.
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:
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
J or -
Decrease tempo
K or +
Increase tempo
L
Toggle loop mode
Use the Chord LeadSheet Editor to:
Add chord symbols, eg "Cm6", "Ab7"
Add sections, eg "A", "B", "verse", "chorus", ...
Add bar annotations / lyrics
Move and edit chords to adjust rhythm accents, interpretation or harmony
Use the Song Structure Editor to:
Define the order of sections using song parts , eg "AABA", "verse verse chorus verse", ...
Edit the song part rhythm and rhythm parameters to introduce dynamics and variations
Song parts can also be edited via the Song part editor
Use the Mix Console to:
Adjust the instrument of each track
Adjust track settings, volume, panoramic, reverb, chorus, mute, transpose, etc.
Add user tracks
Export the whole song or individual tracks as Midi files
Use the Notes editor to:
Edit notes of a user track
Edit notes of a song part custom phrase.
JJazzLab embeds a Midi notes editor which is used to edit user tracks or song part custom phrases.
The notes editor is automatically opened when you add a user track. For existing user tracks, click the edit button in the track overview component, as shown below.
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 dragging the position line as show 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 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.
To change the position of existing notes, use Quantize.
You can use 3 tools to modify notes: select tool, draw tool, erase tool.
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.
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.
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.
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 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.
When you save a song called mySong, JJazzLab actually saves 2 different files:
mySong.sng: contains everything except the mix information
mySong.mix: contains only the mix information, i.e. the configuration of the instruments used.
Why using 2 different files ?
Each JJazzLab rhythm has a builtin default mix. This builtin default mix can only use GM instruments for maximum portability.
You can override the rhythm's builtin mix by saving a default rhythm mix file. Unlike the builtin mix, this rhythm mix can use any instruments.
By default this file is stored in the user rhythm directory set in Options/Rhythms. But the directory can be changed in Options/General.
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 (GM instruments only)
Steps 2. and 3. are also used when you add a new rhythm in a song.
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.
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
Load/Save Default Rhythm Mix
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
Enable a drums channel with a Midi channel different than 10
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.
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.
Edit the user track by clicking on the upper left icon in the user track overview component, as shown below.
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).
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).
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...
The new section name must be different than the existing one.
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".
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.
Because the mix information is specific to your . 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 also opens mySong.mix in the same directory. If mySong.mix does not exist then JJazzLab creates the mix using the .
Add a User track: see below.
Change the current mix from a file. Consult for more information about .mix files.
Probably because you control the parameter yourself directly on the .
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 information, potential issues.
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 .
Add one or more user tracks using the Add user track button, as show below. This will also open the .
If you select a drums or percussion instrument for the user track, and your output synth is a basic GM-compatible synth: to 10, and if channel 10 is already used by another track, activate the Drums rerouting to channel 10 (see ) in your User track.
This will open the .
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.
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
right-click
select edit tool
Selection
Key
Action
Notes
alt-up/down
change velocity
Notes
ctrl-C/X/V
copy/cut/paste notes
Notes
delete
delete notes
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
ctrl-alt-space
play the edited phrase
Editor
ctrl-Z/Y
undo/redo
Selection | Mouse | Action |
channel volume slider, knobs | double-click | Input value with keyboard |
channel volume slider | shift + mouse-drag | change volume of all channels |
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 | ctrl-W | close song |
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) or compressed musicXML (.mxl).
The import is limited to the time signatures and chord symbols.
JJazzLab can read chords from .csv (text) files.
There are 2 possible formats to specify a chord symbol, TIME-BASED or BEAT-BASED.
TIME-BASED: "pos_in_seconds, chord_symbol" 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
BEAT-BASED : "bar, beat, chord-symbol"
bar and beat are 0-based by default.
Example:
0, 0, C
1, 0, F7
1, 1.5, Eb7
2, 0, D7
OTHER FORMAT INFORMATION
Use // to add comments
"title=My song name
" : if specified the created song will use this title as name
"useBase1
" : if specified the bar/beat positions start at 1 instead of 0
Accepted delimiter characters are , ; or space or tab
JJazzLab can import Impro-Visor (.ls) leadsheet files.
The import is limited to the time signatures and chord symbols.
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, ...
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 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 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.
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.
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.
You can use up to 2 levels of sub-directories to organize the rhythms. Sub-directories whose name starts with an underscore '_' are not scanned.
Your rhythm files are scanned at startup only upon a fresh install, and the rhythm list is saved into a cache file.
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.
If you add or remove rhythm files in the user directory for rhythm files (or a subdirectory) you need to manually force a re-scan in order to update the cache file. This can be done in Option/Rhythms (see image above).
In order to avoid having too many files cluttering the User directory for rhythm files, the recommended way is:
Copy the validated rhythm files Once you have selected the “best” rhythm files, copy them somewhere in the User Directory for Rhythm Files (see above).
Force a Rescan from Options/Rhythms
Quality of Yamaha style files found on the web vary a lot. Furthermore some styles are sometimes “broken” (invalid file format). If there is an error the corresponding rhythm won’t show up in the rhythm selection dialog.
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.
Test the rhythm files In the rhythm selection dialog, use the Add Rhythms button to load additional rhythm files for the current session only. These files can be anywhere on your hard drive.
Standard (.sty, .prs, .sst or .bcs) should appear in the YamJJazz standard styles, and (.yjz) should appear in the YamJJazz extended styles.
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
If you change the time signature of a section, JJazzLab will use an adapted rhythm for the impacted song parts. 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 rhythm selection dialog.
Use the Chord inspector to see notes (and possibly associated scales) of the selected chord symbol, using various vizualizations.
If there is a scale set for the selected chord symbol (see the chord symbol editor), the notes of the scale are shown.
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.
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 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).
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.
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):
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).
When a bar annotation uses the , only the relevant part of the annotation is shown.
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 (here) 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 JJazzLab-X-UserGuide repository.
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 (here) so that I add a "GitBook variant" for that language.
H. Sakuda. : who created the Japanese doc pages
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 YamJJazz 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 resources 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.
You can see below the 2 YamJJazz rhythm providers available in the rhythm selection dialog.
JJazzLab embeds the YamJJazz rhythm generation engine. This engine reads and introduces a new format which adds more variations to existing Yamaha style files.
The YamJJazz rhythm engine can read a new file format (.yjz) which extends the capabilities of a standard Yamaha style 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.
If you can't wait for the next official JJazzLab release, you may want to try JJazzLab with the latest translation files, to see how it looks.
First you'll need to build JJazzLab-X from the source code, according to these instructions, but use the l10n_master branch instead of the master branch, as explained below:
Menu Team/Git/Clone
Enter repository address https://github.com/jjazzboss/JJazzLab-X.git
Leave user and password blank
Press Next and select only the branch l10n_master (l10n means "localization")
let Netbeans open the JJazzLab-X project from the cloned files
The l10n_master branch is a localization branch where Crowdin automatically pushes new translation files. Note that this synchronization is done every hour, so you may not see the latest changes. Also, if there are several translation candidates for one source phrase, only the validated one is pushed. If no translation is validated yet, Crowdin uses the first candidate.
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.
With 7 languages supported, JJazzLab can now be used by 3.5 billions people !