Schlagwort-Archiv Computer-aided Composition

VonMads Ole Clasen

Sonfikation von Bildsequenzen

Abstract: Dieses Projekt beschäftigt sich mit dem Entwurf einer OpenMusic Anwendung, die die Umwandlung von Bildsequenzen in eine symbolische Musikrepräsentation, bestehend aus drei Stimmen, zur Aufgabe hat.

 

Verantwortliche: Mads Clasen

 

 

Ausgangsmaterial und Vorbereitung

Bei der Bildsequenz kann es sich um einzelne Frames eines Videos, eine Bilderserie eine Künstlers oder selbst zusammengestellte Bilder handeln. Diese müssen zunächst in einem Ordner auf dem entsprechenden Rechner vorliegen. Sollte es sich um ein Video handeln, muss dieses, außerhalb von OpenMusic, zuvor in seine Frames zerlegt werden. In Python ist dies mit Hilfe von OpenCV innerhalb weniger Zeilen ganz unkompliziert durchführbar.

                               

Abb. 1: Zerlegen von Video in Python

 

Wie im Codebeispiel zu sehen, sollten die resultierenden Bilder außerdem numerisch mit Zahlen von 1 bis n benannt werden und, abhängig von Rechenleistung des Rechners und Bildmenge, downgesampled werden. Dies ist für die korrekte Funktionsweise des Patches von Nöten, sowie in OpenMusic selbst die Installation der Pixels Library.

 

Sonifikation

Notenwerte

Die gewünschten Bilder werden, nach Angabe von Dateipfad, Dateiformat und Anzahl der Bilder, in ein picture-lib Objekt geladen und als Liste zusammengefasst. Aus jedem Bild dieser Liste wird der jeweils durchschnittliche R, G und B Farbwert ausgelesen und auf eine dementsprechende Note gemappt. In diesem Fall werden die R, G und B Werte wie unterschiedliche Stimmen behandelt und verfügen jeweils über eine eigene Notenrange innerhalb derer sie sich bewegen. Diese ist zusätzlich in mikrototale Schritte (1/8 Töne) unterteilt, auf welche die Werte schlussendlich gemaEin Wert von 1 entspricht dabei der höchsten möglichen Noten und 0 der tiefsten. Dementsprechend wird aus einem Bild jeweils eine Note für jede der drei Stimmen ausgelesen.

                             

Abb. 2: Generierung einer Notenlinie

 

Die Notenranges in denen sich die Farbwerte bewegen, können anhand der entsprechenden chord Objekte angepasst werden, zudem ist die einheitliche Transposition aller Ranges um einen gewünschten Wert in midicents möglich. Die Voreingestellten Werte entsprechen den ungefähren Notenumfängen von Sopran (R), Alt (G) und Bass (B) Stimmen. Nach Durchlauf der gesamten Bildsequenz bestehen nun also drei Stimmen mit einer Notenanzahl entsprechend der Menge an eingegebenen Bildern. Diese Stimmen werden im nächsten Schritt unabhängig voneinander weiterverarbeitet.

                                

Abb. 3: Mapping der RGB-Werte auf Notenwerte

 

Rhythmik

Da ich mich dazu entschieden habe voice Objekte zu nutzen, aufgrund der direkten Art der Einflussnahme auf Rhythmik, werden zunächst die dafür nötigen rhythm trees erzeugt. Beziehungsweise die zwei Bausteine eines rhythm trees : Taktart und Proportionen. Für beide wird jeweils eine Liste erstellt, die sich an der Anzahl der Noten und der eingestellten Taktart orientieren und die später mithilfe eines simplen mat-trans Objektes in die benötigte rhythm tree Form zusammengeführt werden. 

                               

Abb. 4: Generierung rhythm tree 

 

Zuvor wird jedoch die, für die Proportionen zuständige, Liste mit Ostinati angereichert. Dafür gibt es eine zweite Liste, welche verschiedene Möglichkeiten solcher Ostinati beinhaltet, aus der ein zufälliges ausgewählt und an eine ebenfalls zufällige Stelle der Proportionsliste gesetzt wird. Da sich somit die Anzahl der Notenwerte erhöht, werden auch an dieselbe Stelle der, die Noten beinhaltenden, Liste, neue, der Verzierung entsprechende, Noten eingesetzt. Dabei wird, von der Originalnote ausgehend, zwischen gleichbleibenden, auf- oder absteigenden Noten entschieden. Die Stärke, mit der diese Verzierungen Einzug in die Stimmen erhalten sollen, kann zusätzlich angepasst werden.

                                                                                               

Abb. 5: Ergänzung rhythmischer Verzierungen

 

Dynamik

Die bearbeiteten Proportionen werden nun anschließend mit der, die Taktart bestimmenden, Liste zum rhythm tree zusammengeführt. Die entsprechende Notenliste durchläuft noch einen Schritt mehr, in welchem jeder Note ein zufälliger Velocity Wert zugeordnet wird.

                              

Abb. 6: Erzeugung Dynamik

 

Abschließend werden die Notenlisten mit ihrem jeweiligen rhythm tree in einem voice Objekt zu einer Stimme verbunden, sodass sich insgesamt drei Stimmen (R, G, B) ergeben, die daraufhin in einem poly Objekt zusammengefasst werden können.

 

Bildbearbeitung

Um das Klangergebnis zusätzlich zu beeinflussen, besteht die Möglichkeit, die Sättigung der Farbwerte einzelner Bilder der ausgewählten Sequenz zu bearbeiten. Die Originalbilder, werden dann mit den verfremdeten gemischt.

                                          

Abb. 7: Veränderung Farbwerte

 

Beispiel

Im Folgenden habe wurden als Bildsequenz die Frames eines Videos, dass während einer Busfahrt aufgenommen wurde und die Umgebung zeigt, genutzt. Dabei wurde jeder dreißigste Frame abgespeichert. Im Patch wurde dann zudem die Möglichkeit der Farbmanipulation genutzt, um die Sequenz etwas Abwechslungsreicher zu gestalten.

            

Abb. 8: Bearbeitete Bildsequenz

 

Nach Evaluation des Patches könnte sich ein mögliches Endergebnis dieser Bildsequenz folgendermaßen ansehen und -hören:

                   

Abb. 9: Ausschnitt symbolische Repräsentation

 

 

 

VonFlorian Simon

PixelWaltz: Sonifikation von Bildern in OpenMusic

Abstract: Mit dem OpenMusic-Programm PixelWaltz lassen sich Bilder in symbolische Repräsentation von Musik (Tonhöhen und Einsatzzeitpunkte) umsetzen. Es stehen Optionen zur Bildmanipulation zur Verfügung, mit denen das Resultat zusätzlich beeinflusst werden kann.

Verantwortliche: Florian Simon

Mapping: Pitch

Die Pixel des Bildes werden zeilenweise durchlaufen und die jeweiligen Rot-, Grün- und Blauwerte (zwischen 0 und 1) auf einen gewünschten Tonhöhenbereich gemappt. Aus einem Pixel werden damit stets drei Tonhöhenwerte in Midicent gewonnen. Da zwei nebeneinander liegende Pixel einander in vielen Fällen ähnlich sind, treten bei dieser Mapping-Methode oft sich alle drei Noten wiederholende Muster auf. Hierin liegt der Grund für den Titel des Projektes.

Es besteht auch die Möglichkeit die Anzahl der ausgegebenen Notenwerte zu begrenzen.

Mapping: Einsatzzeitpunkte

Für die Einsatzzeitpunkte und Tondauern kann ein konstanter Wert festgelegt werden. Zudem lässt sich ein Humanizer-Effekt zuschalten, der jede Note innerhalb eines angegebenen Bereiches zufällig nach vorne oder hinten verschiebt. Ausgehend vom Grundtempo lassen sich accelerandi und ritardandi gestalten, indem Listen aus drei Zahlen übergeben werden. Diese stehen für Startnote, Endnote sowie Geschwindigkeit der Tempoänderung. (20 50 -1) sorgt von Note 20 bis Note 50 für ein accelerando, bei dem die Abstände pro Ton um eine Millisekunde kürzer werden. Ein positiver dritter Wert entspricht einem ritardando.

Dynamik

Für die Lautstärke bzw. Velocity lassen sich verschiedene Zufallsbereiche für „rote“, „grüne“ und „blaue“ Noten festlegen. Die so erzeugten Werte können zudem sinusförmig moduliert werden, sodass beispielsweise ein An- und Abschwellen der Lautstärke über längere Zeiträume hinweg möglich ist. Dafür ist die Angabe einer Wellenlänge in Notenzahl sowie des maximalen Abweichungsfaktors nötig.

Begleitstimme

Optional bietet PixelWaltz die Möglichkeit eine Begleitstimme zu generieren, welche aus einzelnen zusätzlichen Tönen in einer gewünschten festen Notenzahlfrequenz besteht. Ist diese nicht durch 3 teilbar, entsteht oft eine Polymetrik. Die Tonhöhe wird zufällig bestimmt und kann dabei zwischen 3 und 6 Halbtönen unter der jeweils „begleiteten“ Note liegen.

Bildbearbeitung

Um weitere Variation zu kreieren sind dem Sonifikationsabschnitt von PixelWaltz Werkzeuge zur Manipulation des Eingangsbildes vorangestellt. Neben der Anpassung von Bildgröße, Helligkeit und Kontrast ist auch eine Verschiebung der Farbwerte und damit ein Umfärben des Bildes möglich. Die Änderungen in der musikalischen Übersetzung sind sofort merkbar: Mehr Helligkeit führt zu einer höheren Durchschnittstonhöhe, mehr Kontrast verkleinert die Zahl der verschiedenen Tonhöhenwerte. Bei einem blaudominierten Bild werden die jeweils letzten Noten der Tripel meist die höchsten sein.

Klangergebnisse

Die klanglichen Resultate unterscheiden sich natürlich je nach Input – gerade fotografiertes Material führt aber oft zu derselben wellenartigen Gesamtstruktur, die sich unregelmäßig und in langsamem Tempo chromatisch mal aufwärts, mal abwärts windet. Die Begleitung unterstützt diesen Effekt und kann einen Gegenpuls zur Hauptstimme bilden.