Jan Buchholz, Jonathan Klein


coJIVE - Ein Softwaresystem für computergestützte Jazzimprovisation

coJIVE ermöglicht es, einem breiten Publikum, gemeinsam aktiv an einer Jazzsession teilzunehmen, ungeachtet ihrer musikalischen Vorbildung


coJIVE - collaborative Jazz Improvisation Environment [link 01]

coJIVE - collaborative Jazz Improvisation Environment

Kurzdarstellung

Kurzbeschreibung

Jazzimprovisation, die Kunst Melodien in gemeinschaftlichen Sessions aus dem Stehgreif zu erfinden und zu spielen, ist eine sehr anspruchsvolle Tätigkeit. Mit "coJIVE" haben wir ein Softwaresystem entwickelt, das dies auch ungeübten Person ermöglicht. Es gleicht durch gezielte Unterstützung die fehlende Vorkenntnis und Erfahrung der Nutzer aus und reichert ihr Spiel an. So können auch musikalische Anfänger harmonische und ansprechende Performances erschaffen.

Zeitgleich strukturiert "coJIVE" die Session und stellt alles dafür Nötige bereit: Das System erzeugt eine einfache Begleitung als Grundlage für die Improvisationen. Zudem weist es den Nutzern dynamisch wechselnde Rollen als Solist oder Begleitung zu, und regelt so den Ablauf. Wir hoffen, mit "coJIVE" auch musikalisch ungeschulte Personen dazu ermutigen zu können, die Jazzimprovisation auszuprobieren.

KünstlerInnen / AutorInnen

  • Jan Buchholz, RWTH Aachen
  • Jonathan Klein, RWTH Aachen

MitarbeiterInnen

  • Eric Lee, RWTH Aachen

Entstehung

Deutschland, 2004-2005

Eingabe des Beitrags

Jan Buchholz, 09.02.2006

Kategorie

  • Forschungsprojekt

Schlagworte

  • Themen:
    • Musik
  • Formate:
    • multi-user
  • Technik:
    • Midi

Ergänzungen zur Schlagwortliste

  • Mensch-Maschine-Interaktion

Inhalt

Inhaltliche Beschreibung

Das System bietet zwei verschiedene Instrumente: Ein Keyboard sowie ein Paar Infrarot-Stöcke (Batons), die wie die Schlegel eines Xylophons gespielt werden (jedoch ohne das Aufschlagen auf eine Oberfläche). Für jedes dieser Instrumente wurden Mechanismen entwickelt, die den Benutzer musikalisch unterstützen und dabei auf die Charakteristiken des jeweiligen Instrumentes zugeschnitten sind. Der Grad der Unterstützung hängt dabei von der musikalischen Erfahrung und Ausbildung des Benutzers ab.

Das Keyboard erfordert in der Regel präzise Kontrolle. Um unharmonische Klänge in der Performance zu vermeiden, wurden in "coJIVE" verschiedene Mechanismen integriert. Das System berechnet für die verschiedenen Abschnitte der Struktur eines Liedes eine Wahrscheinlichkeitsverteilung über die verfügbaren Noten. Unwahrscheinliche (und damit unharmonische) Noten im Spiel eines Nutzers werden durch eine wahrscheinlichere Nachbarnote ersetzt. Zudem erkennt das System übliche Fehler im Umgang mit dem Keyboard: Sollte ein Nutzer versehentlich zwei benachbarte Tasten mit einem Finger drücken oder zu viele Tasten in einem kleinen Bereich auf der Klaviatur gleichzeitig gedrückt halten (was i.d.R. zu unharmonischen Ergebnissen führt), so filtert "coJIVE" diese Spielfehler heraus. Um das Spiel eines Nutzers anreichern zu können und damit voller klingen zu lassen, wurde die in vielen aktuellen Keyboards zu findende Spielhilfe für das Spielen ganzer Akkorde über nur eine Taste für "coJIVE" erweitert: Musikalische Neulinge können Akkorde über nur eine Taste spielen, Musiker, die sich noch in der Ausbildung befinden, können Akkorde mit zwei Tasten spielen und Musiker mit klassischer Ausbildung können über das spielen klassischer Akkorde (mit drei Tönen) einen Jazzakkord spielen (mit 4 Tönen). Die Auswahl der Akkorde bezieht sich dabei auf die aktuelle Position in der Akkordstruktur. Die Batons ermöglichen eine eher ungenaue Kontrolle, da keine Ziele vorhanden sind, auf die ein Nutzer schlagen kann. Für die Zuweisung einer Schlaggeste wird die Wahrscheinlichkeitsverteilung der verfügbaren Noten in virtuelle Ziele umgesetzt. Dabei gehört jedes Ziel zu einer bestimmten Note und seine Weite im Eingabebereich der Batons spiegelt die Wahrscheinlichkeit der Note wieder. Damit wird es einfacher, wahrscheinlichere Noten zu spielen.

"coJIVE" hat darüber hinaus die Fähigkeit, eine Session zu strukturieren und ihren Ablauf zu kontrollieren. So kann das System zu einem gegebenen Stück die Hauptmelodie wiedergeben und eine Begleitung in Form einer Basslinie und eines Schlagzeug-Rhythmus generieren. Die Struktur einer Session in "coJIVE" ist der einer wirklichen Jazzsession sehr ähnlich: Zunächst wird die Hauptmelodie wiedergegeben (durch das System), woraufhin sich die Teilnehmer darin abwechseln, in Soli zu improvisieren. Die Länge dieser Soli sowie die Reihenfolge der Solisten wird von Jazzmusikern i.d.R. vor der Session abgesprochen oder dynamisch durch Gesten während des Spiels bestimmt. "coJIVE" übernimmt die Strukturierung für die Nutzer, in dem es ihnen Rollen (Solist, Begleitung) zuweist. Diese werden den Nutzern über entsprechende Anzeigen in der Applikation sowie über Lichter an den Instrumenten vermittelt. Zusätzlich wird die Rollenverteilung durch einen Mechanismus unterstützt, der es für die begleitenden Teilnehmer schwerer macht, laut zu spielen (und so ggfs. den Solisten zu stören), ohne aber ihr Spiel ganz auszublenden. Die Länge eines Solos kann zwischen 30 und 60 Sekunden variieren, basierend auf dem Verhalten des Solisten, um genügend Freiraum für eine Improvisation zu lassen ohne aber die anderen Teilnehmer zu lange in der Rolle der Begleitung zu belassen.

"coJIVE" wurde unter Einbezug verschiedenster Benutzergruppen entwickelt, um deren Bedürfnisse identifizieren zu können und durch gezielte Unterstützung auf sie einzugehen. Wir hoffen, mit "coJIVE" auch musikalisch ungeschulte Personen dazu ermutigen zu können, die Jazzimprovisation auszuprobieren.

Technik

Technische Beschreibung

"coJIVE" wurde in zwei Teilen entwickelt: Ein Backend implementiert die musikalische Theorie, während ein Frontend die Sessionkontrolle sowie die Interaktion mit den Nutzern übernimmt.

Das Backend wurde als Mac OS Framework in C++ entwickelt. Seine Hauptaufgabe ist die Analyse der Akkordstruktur, mit der für jeden Akkord eine Skala und damit eine Wahrscheinlichkeitsverteilung über die verfügbaren Noten abgeleitet werden kann. Dazu enthält das Backend eine objektorientierte Repräsentation von musikalischen Elementen und Strukturen (Noten, Akkorde, etc.). Zusätzlich implementiert es so genannte Muster (kurze Abfolgen von Akkorden, die in einer gewissen Beziehung zueinander stehen) und Regeln, die zur Erkennung der Muster dienen. Diese Muster und Regeln nutzen auch Jazzmusiker für die Analyse einer Akkordstruktur. Die Akkordstrukturen diverser Jazzlieder wurde in einem speziellen XML- Format gespeichert, das vom Backend gelesen und interpretiert werden kann. Eine Datenbank mit Akkord-Voicings ermöglicht es dem Backend, verschiedene Versionen eines Akkordes zu bestimmen.

Das Frontend wurde in Form einer Mac OS Anwendung in Objective-C mittels Apples Entwicklungs-Framework Cocoa entwickelt. Es ist verantwortlich für den Ablauf der Session, die Darstellung von visuellen Informationen, die Kommunikation mit den Instrumenten über die MIDI-Schnittsstelle und die Audio-Ausgabe. Es nutzt dabei die vom Backend bereitgestellten Informationen (Akkordstruktur, Wahrscheinlichkeitsverteilungen, etc.).

"coJIVE" wurde in einem nutzerbezogenen Prozess entwickelt, in dem mehrere Benutzerstudien durchgeführt wurden. Die so erhaltenen Information sind in die Weiterentwicklung des Systems geflossen.

Hardware / Software

"coJIVE" wurde auf Dual-G5 Power Macs mit 23 Zoll Cinema Displays und Mac OS X entwickelt. Als Instrumente wurden ein MIDI Keyboard und ein Buchla Lightning II System eingesetzt. Die an den Instrumenten befestigten LEDs wurden über Teleo Module via USB gesteuert. Die Audio-Ausgabe erfolgte mittels der Open Source-Software SimpleSynth.

Kontext

Hochschule / Fachbereich

RWTH Aachen
Informatik

URL der Hochschule

» http://www.rwth-aachen.de [link 02]

Betreuer des Projekts

Prof. Dr. Jan Borchers

Kommentar des Betreuers

"coJIVE" ist ein System für das gemeinsame Jazzmusizieren. Es basiert auf einer Idee, die ich selbst das erste Mal 1997 im "WorldBeat"- System in einer äußerst vereinfachten Version umsetzte. Damals konnte ein Spieler zu einem vorgegebenen Bluesstück selbst mit zwei elektronischen Schlägeln auf einem virtuellen Vibraphon improvisieren; seine musikalischen Eingaben wurden dabei auf die aktuelle Harmonie hingebogen. "coJIVE" stellt eine viel umfassendere Arbeit dar, die diese Idee aufgreift und komplett neu umsetzt. Hier können zwei Spieler zu einer Jazzbegleitung spielen, und das System korrigiert nicht nur die melodischen Eingaben jedes Spielers, sondern stimmt auch die Eingaben der beiden Spieler untereinander ab; so bietet es beispielsweise Unterstützung bei der im Jazz so wichtigen Rollenaufteilung zwischen Solist und Begleitung, die sich im Verlauf einer Performance immer wieder ändert. Im Ergebnis stellt "coJIVE" ein System dar, das Menschen eine bislang unmögliche Erfahrung beschert: Sie improvisieren zu Jazz - und obwohl sie ein "echtes" Instrumenten-Spielgefühl haben, entsteht Musik, die anhörbar ist! Mit anderen Worten: Sie improvisieren ohne Angst vor falschen Noten. (Oder ganz kurz gesagt: Lionel Hampton sein in drei Minuten).

Was ist an diesem Projekt so besonders? Zunächst die oben bereits erwähnte Gelegenheit, Menschen eine ganz neue Erfahrung zu vermitteln. Zweitens die äußerst sorgfältige Linie, mit der dieses Projekt die Balance zwischen Computerkontrolle und menschlicher Initiative hält: Der Mensch lenkt, der Computer unterstützt. Bei allzuvielen anderen modernen Multimediaprojekten übernimmt der Computer selbstherrlich die Kontrolle, generiert, agiert und läßt den Menschen dabei als Startknopfdrücker passiv stehen. Das ist eine Form von Kunst mit dem Computer; mir gefällt die menschenzentriertere Sicht von "coJIVE" besser.

Drittens ist der erstaunliche Tiefgang dieses Systems zu bewundern: Wo "WorldBeat" lediglich ein paar feste Akkord-zu-Noten-Abbildungen enthielt, setzt "coJIVE" eine komplette Jazztheorie in seiner Modellierung um. Hier wurden nicht ein paar oberflächliche musikalische Tricks implementiert, sondern die verbreitetste Jazz- Grundtheorie der Berklee School Of Jazz in ein Improvisation Guidance System umgesetzt. Aber nicht nur die harmonische Dimension, sondern auch die melodische (spezielle Notenfolgen aus der Jazzlehre) sowie rhythmische Besonderheiten und viele weitere Aspekte dieser Musikrichtung wurden im Design berücksichtigt. Dies führte zu einem System, das nicht nur dem amüsierten Laien, sondern sogar einem Musiker mit Jazzerfahrung noch etwas Neues bieten kann. Ich erlebte dies selbst, als ich das System bei einer der Vorführungen ausprobierte: Auf einmal durch behutsame Unterstützung neue und bessere 4-Note-Voicings zur Melodie zu greifen, war auch für mich als angehender Jazzpianist ein tolles Erlebnis.

Schließlich wurde auch bei der technischen Umsetzung der Benutzerschnittstelle sehr gut gearbeitet und das System beispielsweise neben dem Graphical User Interface mit zusätzlichen, physikalischen Anzeigen (wie einer Solo/Comping-LED) für die improvisierenden Jazzer ausgestattet. Ein weiteres Indiz für eine task- und benutzerzentrierte, sinnvolle Multimediaarbeit. Dies wurde auch durch die Auszeichnung von "coJIVE" mit dem "Europrix Top Talent Award 2005 Quality Seal" bestätigt.

Seminar / Kurzbeschreibung

Das System entstand in einem Rahmen, der für mich selbst als Experiment zählte - und erfreulicherweise überaus erfolgreich war: Zwei Informatikstudenten, einer mit Expertise im User Interface Design, einer mit professionellen Kenntnissen in der Jazzlehre, fanden sich für dieses Projekt als Diplomarbeits-Team zusammen.  Ueber insgesamt neun Monate befragten, entwarfen, implementierten, testeten, verwarfen und reimplementierten die beiden das "coJIVE- System" in einem Prozeß, der als vorbildlich gelten darf: In gleich mehreren interaktiven Zyklen von Entwurf, Implementierung und Evaluierung mit Benutzern stellte das Team immer wieder sicher, dass sie sich weiterhin auf dem richtigen Weg befanden, was die Funktionalität und Benutzerschnittstelle von coJIVE anging. Es freute mich, daß die beiden diese Designprinzipien, die in unseren Vorlesungen vermittelt werden, so gut und erfolgreich umsetzten - und das Endprodukt profitierte davon ganz eindeutig, wie man in Herrn Buchholz' Ausarbeitung lesen kann, die die einzelnen Prototypen sehr klar dokumentiert.

Zuordnung Forschungsbereich

"coJIVE" ist ein interaktives System, das in der Zukunft als Exponat oder Übungsstation Einsatz finden könnte. Hauptforschungsbereich ist die Mensch-Maschine-Interaktion, aber mit einem klaren Fokus auf Interaktion mit Musik, weshalb Berührungspunkte zur Computermusik bestehen. Daneben ist die didaktische Komponente des Systems hervorzuheben: Durch das Spiel lernt der Benutzer etwas über Jazzmusik.

  • › digital sparks 2006 [link 03]

» http://media.informa…aachen.de/cojive.html [link 04]

  • › A video describing coJIVE's features and mode of operation. [17 MB ] [link 05]