Jazz Blues Chord Progression Generator
The Jazz-Blues-Generator is a program written in Max/Msp that plays a 12-Bar-Dominant-Jazz-Blues chord progression and generates a fitting solo over it. It can be used
– to get to know the chords, modes and sound of the 12-Bar-Dominant-Jazz-Blues
– as a backing track to practice improvisation over variable chord progressions
– to gain musical ideas of the random solo that is generated
To understand my work and work approach I give a small introduction of Max/Msp and MIDI. After that, I will explain my concept in detail.
Max/Msp is a programming language on visual basis for composers, musicians and software developers that can turn your computer into a musical instrument. Even if you don’t have much programming experience you can build your first useful patch quite quickly.
Loads of pre-programmed objects are waiting to be discovered. By dragging, dropping and a bit of typing you can create, place and connect these objects to realize your ideas. In the end your patches might look like a circuit draft of a washing machine but they didn’t sound like one, unless you want them to.
Max/Msp enables you to edit and process audio on a free level. Likewise, it is a tool to build sophisticated synthesizers. Additionally, plenty of Maxs’ visual objects like slider scopes, knobs and buttons make it possible to design a user-friendly patch, ready for presentation.
If you are interested in trying out Max/Msp and the Jazz-Blues-Generator go to: http://cycling74.com/downloads/ and download a 30-day trial version.
As you can see at the “/” Max/Msp is linked to two different systems of data processing. Each system contains its own objects which can work together but function on a separate level. It is important to understand the difference between these two levels to use Max/Msp properly.
- Msp stands for Max Signal Processing. It works real-time or as fast as your sample rate allows it to. Msp objects end with a “~”.
- Max is used for generalized data processing (MIDI, controlling, calculating) and therefore works on much slower rate.
There is a third system for video processing called Jitter. I won’t get into that here. If you want to learn Max/Msp I recommend these tutorial series: http://www.peterbatchelor.com/maxTuts.html or the Tutorials found under “Help” in the program itself.
Musical Instrument Digital Interface is a protocol to transfer controlling data in a musical context. MIDI-Controllers appear in forms of keys, wheels, faders and the like of which. In the protocol information about pitch or velocity is stored in a 7 bit system. There are hence 128 (0 – 127) different values for these parameters. The MIDI-Note 60 stands for the middle C (c1), 61 for C-sharp or D-flat, 62 for D and so on.
In the Jazz-Blues-Generator I used Max objects exclusively and MIDI to transform information into music.
I developed my idea as following: The first thing that popped into my mind intuitively was the idea to write a program that generates a solo over a jazz blues twelve bar schema. Next, I looked up the information I needed to create it. I found a book called “Blues Guitar Rules” by Peter Fischer where many different blues progressions are explained. Afterwards, I wrote down my concept and the logical structure of my program. Throughout this process I kept the meta concept “Input – Transformation – Output” in mind. I also constructed my patch in such a manner, that this concept and therefore three different parts are visually retrievable. As you download my program you will find a PDF file of my concept.
You don’t have to fully understand my writings in there. It is more important to realize the necessity of a good concept. You should always create a concept before you start programming. It safes you much time and effort.
Download my Patch and learn to improvise over dominant jazz blues progressions.
EDIT: Or download the Jazz Blues Generatior Application. No Max Runtime is needed.