Jan Buchholz, Jonathan Klein

coJIVE - A Software-System for Computer-Aided Jazz Improvisation

coJIVE allows a wide variety of people to improvise over jazz tunes in collaborative sessions

Nominee of the digital sparks award 2006

coJIVE - collaborative Jazz Improvisation Environment

coJIVE - collaborative Jazz Improvisation Environment

Content Description

Jazz improvisation is a complex and demanding art of creating new melodies and performances
instantaneously. It takes years of practice for a jazz musician to improvise freely among other musicians.
With coJIVE, we have created a system that allows musically untrained people to improvise over jazz tunes in a collaborative session.

Therefore, the system substitutes for the users' missing knowledge and experience; it conducts a harmony analysis of a chosen tune's chord structure --- real jazz musicians conduct a similar analysis during jazz sessions --- to derive note probablilites for each chord in the tune. With these probabilities and a database of
jazz chord voicings, --- a voicing is a specific arrangement of the notes in a chord --- we developed a set of mechanisms to support the users.

The mechanisms deployed to support a user are based on her musical abilities and knowledge as well as the instrument she has chosen. coJIVE provides two instruments, a keyboard and a set of infrared batons that are played like the sticks of a xylophone without targets to hit.
Since the keyboard requires accurate control, several mechanisms were created to aid users in playing this instrument. The note probabilities calculated in the harmony analysis are used to adjust the user's input to the current harmony in the song. If a note's probability is too low, the system will check which of its direct neighbours is more probable. The most probable out of these three notes is played. With this mechanism, the performance is more harmonic. Based on the idea of triggering an entire chord with one key found in many commercially available keyboards, we provided coJIVE with the ability to grant easy access to the chord voicings to the users. There are three modes for different user groups: novices can trigger a chord with one key, musicians-in-training can do the same with two keys, and classically educated musicians can play three-note chords, which are extended by the system to form a jazz chord. To allow control over whether or not to use this feature, it is only accessible on the lower half of the claviature. This allows even novices to create wider performances. In addition, coJIVE is able to filter out common mistakes in handling the keyboard; the system can recognise if a user presses two neighbouring keys at once by accident or if he presses too many keys at once in a certain area.
The infrared batons only provide fuzzy control. Since there are no targets to hit, a user can only roughly estimate what he hits. This allows coJIVE to calculate an ever changing range of virtual targets to interpret the user's hitting gestures. Each of these targets represents a note and its width reflects the note's probability; accordingly, more probable notes are also more likely to be hit.

At the same time, coJIVE is able to create a session by providing an accompanyment for the users and to coordinate the collaboration between them. The later aspect was implemented by assigning roles to the players based on the principle of solo and comping: one musician (the soloist) is improvising and the other musicians are accompanying the soloist. Our system assigns the role of the current soloist to one of the participants; the soloist can improvise for 30 to 60 seconds, based on his behaviour in the performance, before the next user in line is assigned the role of the current soloist. The assignment of roles is mediate by information on the screen and lights attached to the instruments. To detain the accompanying players from disturbing the current soloist, their music dynamics are modified to make it more difficult to play loud notes.

coJIVE was developed in an iterative, user-centred process: in one iteration, a prototype was created and tested in a user study. The results from that study were used in the subsequent iteration to enhance the system.
We hope that coJIVE will encourage many people to create their own performances.