JJazzLab
Last updated
Was this helpful?
Last updated
Was this helpful?
JJazzLab is a Midi-based application dedicated to backing tracks generation.
The ultimate objective is to develop a jam buddy able to quickly generate intelligent and interesting backing tracks: realistic and non-boring backing tracks which you can easily adjust to specific songs.
Thanks to JJazzLab developers can save a huge amount of work by only focusing on their music generation engine. Out of the box, the JJazzLab framework provides all the infrastructure, all the “plumbing” that, before, every developer had to write themselves.
The framework shows the song in the editors
The framework sends Midi messages to initialize the connected Midi sound device
When user press Play, the framework sends the song data to the music generation engine
The music engine uses the song data to generate the Midi data for the backing tracks
The framework retrieves the Midi data and plays it
The Netbeans Platform turns JJazzLab into a pluggable application where plugins can be installed or deactivated at runtime. Plugins can easily add or alter features and the related UI elements such as menu items.
JJazzLab has a rather well-commented source code: don't hesitate to browse the or the .
JJazzLab can host any number of as plugins. What happens when you load a song file and press the Play button?
JJazzLab is based on the . It provides a reliable and extensible application architecture.
For example suppose that you work on reharmonization algorithms (e.g. replace | A7 | D7M | by | Em7 A7 | D7M). It's easy to add a feature which propose possible reharmonizations when user selects multiple chord symbols. You'll just create a new action class which implements the algorithm on the current chord symbols selection, and "connect" (via annotations, no code required) this action to a new menu item in the Chord Symbol popup menu, as explained in the .