Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
!! The german documentation might not be updated with the latest version JJazzLab 4 !!
Möchten Sie die Dokumentation ergänzen oder verbessern? Das können Sie! 😀 Bitte gehen Sie zur Improve documentation.
Versuchen Sie's mit diesem kurzen Video Tutorial (englisch).
🎵 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: platform 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…
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
Import user tracks
Support for multi-rhythm backing tracks, possibly with different time signatures
Export to Midi file, the full backing track or a single instrument track
Easy Midi-to-MP3 conversion via export to Midi file
Customizable click and pre-count
Chord lead sheet editor, song structure editor, chord symbol editor, mix console, 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, …
Drag & drop support to import/export Midi files
Customizable song template
Customizable UI 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 backing track notes in real time
Show selected chord symbol notes and scales
Piano keyboard
Guitar diagrams with most common chords, open/close voiced chords, inversions
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"
Connect to any audio engine via Midi: SoundFont player (recommended with the JJazzLab SoundFont), Java internal synth, external synth, VST host via virtual Midi port such as ‘LoopBe1’
Compatible with GM/GM2/XG/GS instruments
Compatible with any Midi instrument via Cakewalk instrument definition files (.ins)
Automatic drums/percussion drum map remapping from Yamaha XG key map to GM/GM2/GS key maps
Optimized JJazzLab SoundFont for a high-quality rendering and automatic instrument selection
Ready-to-use presets for VirtualMidiSynth (Windows) and FluidSynth (Linux)
User-defined default mix per rhythm
User-defined default instruments
Band-In-A-Box lead sheet files
musicXML lead sheet files
Impro-Visor lead sheet files
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
Use the song structure editor to:
Define the order of sections, eg "AABA", "verse verse chorus verse", ...
Select the rhythm(s) to be used
Adjust the rhythm parameters to introduce dynamics, eg variation, intensity, fill, muted instrument, ...
A song part has a name, a rhythm and a value for each of the rhythm parameters.
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.
You can modify the song part name, rhythm, and rhythm parameter values.
Use the popup menu (right-click on windows/Linux, ctrl-click on Mac) to see commands available for the current selection, as shown in the 2 images below.
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%.
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.
In theory a rhythm (or style) can define its own set of parameters. However in JJazzLab most rhythms use the same parameters:
Intensity: most rhythm engines use this parameter to increase/decrease the Midi velocity of the backing track notes
Drums fill: JJazzLab will add a drums fill on the last bar of the song part.
Mute: mute 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).
Tempo factor: slow down or accelerate the tempo of the song part.
Drums transform: change some drums notes of the song part. For example you can make the hi-hat louder, or change the closed hi-hat notes into ride cymbal notes.
Custom phrase: replace one or more instrument phrases of the song part.
To import your custom phrase, you can drag & drop a Midi file in the Custom phrase editor shown below, or use your external Midi editor via the Customize button.
When using Edit via external Midi editor JJazzLab will first export the full backing track as a temporary Midi file, and then open it with your external Midi editor, so that you can change notes of one or more tracks.
You can adjust the value of the parameters of each song part.
For the enumerable parameters, the easiest way to edit the value is to select it and use the mouse-wheel.
But you can also use rhythm parameter popup-menu to reset the parameter value, or copy/paste values, or use the song part editor (see snapshot at the top of this page).
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.
A song part is linked to a parent section of the .
Edition is done directly from the song structure editor using the , or from the song part editor (see the image at the top of this page). Edits apply on the selected song parts or rhythm parameters.
Variation: a rhythm variation. rhythms usually have 4 Main variations, plus some Intros, Endings, and some Fills.
Marker: this parameter is useful only if you use substitute chord symbols in the chord leadsheet, as explained .
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 |
Frequently Asked Questions
Donate to keep JJazzLab free for all
Help translate JJazzLab
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.com on social networks, blogs, websites, etc.
If you're a developer, contribute code
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
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).
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.
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:
Right 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)
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 import Impro-Visor (.ls) leadsheet files.
The import is limited to the time signatures and chord symbols.
!!! THIS PAGE IS OUT OF DATE, IT SHOULD BE UPDATED FOR JJAZLAB 4 !!!
Laden Sie das Setup Programm runter und starten Sie es.
Falls Sie keine Administratorrechte haben, wählen Sie während der Installation "Nur für mich installieren".
Wir empfehlen es, JJazzLab mit JJazzLab SoundFont zu benutzen.
Falls Sie eine schrittweise Installationsanleitung brauchen, schauen Sie bitte diese Installation Videoanleitung (englisch).
Falls Sie eine Windows Smart Screen Warnung bekommen:
Windows Smart Screen blockiert das Programm NICHT weil es ein schädliches Programm ist (ist es nicht!), sondern nur, weil JJazzLab neu ist und Windows Sicherheitsservers nicht über genug Statistik verfügt, um seine Sicherheit zu evaluieren.
Sobald genug Nutzer das Programm erfolgreich runtergeladen und installiert haben, wird Windows Smart Screen das Programm nicht länger blockieren.
Sie können eine ausführlichere Erklärung hierzu in diesem Artikel finden.
Unzip the package.
Start JJazzLab using bin/jjazzlab in the installation directory.
We recommend to use JJazzLab with the JJazzLab SoundFont.
If you use Arch or Manjaro Linux, there is JJazzLab installation package available : https://aur.archlinux.org/packages/jjazzlab-x-bin/ (thanks to jypma!)
Unzip the package and open it 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.
We recommend to use JJazzLab with the JJazzLab SoundFont.
There is a known bug on MacOS: sometimes, after the computer wakes up from sleep mode, the audio can lag 2 or 3 seconds behind. This is due to a JDK problem, JJazzLab can't do anything.
Benutzen Sie den Akkorde-Leadsheet Editor, um:
Akkordsymbole hinzuzufügen, z. B. "Cm6", "Ab7", ...
Liedteile hinzuzufügen, z. B. "A", "B", "Vers", "Chorus", ...
Akkorde zu verschieben und zu verändern, rhymische Akzente zu verschieben, ...
Benutzen Sie den Liedstruktur Editor, um:
Die Reihenfolge der Liedteile zu bestimmen, z. B, "AABA", "Verse Verse Chorus Verse", ...
Rhythmen auszuwählen
Die Parameter der Rhythmen zu verändern, z. B. Dynamik, Variation, Intensität, Fill-ins, stummgeschaltete Instrumente
Benutzen Sie die Mix Konsole, um:
Die Instrumente auszuwählen, die spielen sollen
Lautstärke, Panorama, Hall, Chorus, Anschlagsstärke einzustellen
Instrumente auf stumm oder solo zu schalten
Zu transponieren
Benutzertracks einzufügen
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 panel of the Options/Preferences, as shown abobe.
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.
Tastaturkürzel
Befehl
Leertaste
Start / Pause / Fortsetzen
Shift+Leertaste
Stop
CTRL+Leertaste
Start von ausgewähltem Takt/Songteil
CTRL+Shift+Leertaste
Nur ausgewählte Takte/Songteile abspielen
F1
Wiedergabe zum vorherigen Songteil springen
F2
Wiedergabe zum nächsten Songteil springen
J oder -
Tempo verringern
K oder +
Tempo erhöhen
L
Loop-Modus umschalten
Rhythms are made available by rhythm engines. Some rhythms can be based on rhythm files.
For example the YamJJazz rhythm engine 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.
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:
Standard Yamaha styles (.sty, .prs, .sst or .bcs) should appear in the YamJJazz standard styles, and extended Yamaha styles (.yjz) should appear in the YamJJazz extended styles.
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.
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 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
User track: 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.
Use drums-rerouting for channels drums
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.
Add one or more user tracks using the Add user track button on the mix console toolbar (see above).
To add Midi notes to a user track, you can either drag & drop a Midi file in the rectangle area, or use the Edit via external Midi editor button in the lower left corner.
When using Edit via external Midi editor JJazzLab will first export the full backing track as a temporary Midi file, and then open it with your external Midi editor, so that you can add notes for your user track.
JJazzLab only import notes which match the user track Midi channel. Notes from other Midi channels are ignored.
For example, in the image above, the user track channel is 1, so when you use your Midi editor/DAW to add user track notes, make sure they have the channel 1.
Edit via external Midi editor requires that you have set an external Midi editor in the General panel of the Options/Preferences. If you don't have one, we recommend MidiEditor for Windows, it's free, open-source and lightweight.
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 a track icon.
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).
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 ?
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 .
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.
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 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 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. 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 SoundFonts (including the JJazzLab SoundFont) 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.
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.
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.
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).
Selection
Mouse
Action
channel volume slider, knobs
double-click
Input value with keyboard
channel volume slider
shift + mouse-drag
change volume of all channels
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.
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.
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.
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.
Use the chord leadsheet editor to:
Add chord symbols, eg Cm6, Ab7
Add sections, eg A, B, verse, chorus, ...
Move and edit chords to adjust rhythm accents, interpretation or harmony
Select a bar or a chord symbol then:
type the first letter of the chord symbol ('A' to 'G'), or
press ENTER, or
double-click, or
right-click menu, Edit
You can also select an existing chord symbol and move it while pressing the control button, it will create a new copy that can be edited.
To move a chord symbol just select it and move it with the mouse.
To change the size of the lead sheet, select a bar then right-click menu and select Set end bar.
Use ctrl-click or shift-click for multiple selection.
In order to input a lead sheet from scratch, the easier way is to select the first bar, directly type in the chord symbols, press ENTER (it will automatically select the next bar), type in the chord symbols for the second bar, etc.
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.
JJazzLab recognizes many aliases for each chord symbol. For example C7M can be written Cmaj7, Cma7, CM7, CMAJ7 etc.
You can add more aliases in menu Options/Chord Symbols.
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.
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 song structure editor) where the marker is set to Theme2. On the image below it means the C7M will be used only for the 2nd song part.
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.
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.
Use the Notes viewer to see notes of the selected chord symbol or real-time notes from the backing track.
The notes of the selected chord symbol can be viewed on a piano keyboard or using guitar diagrams.
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.
This will display the notes of a selected instrument of the backing track in real-time.
If notes are visually out of sync with the sounds, adjust the audio latency in the Advanced tab of the Output Synth Editor.
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
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-W
close song