Schlagwort-Archiv OM-SoX

VonLukas Körfer

Wellenfeldsynthese mit OM-SoX

Abstract: Dieses Abschlussprojekt entstand zum Ende des Wintersemesters 2023/24 im Rahmen der Lehrveranstaltung „Symbolische Klangverarbeitung und Analyse/Synthese“ des MA Musikinformatik. Hierbei wurde in dem Programm OpenMusic mithilfe der Library OM-SoX und des Verfahrens der Wellenfeldsynthese eine Anwendung zur Klangverräumlichung erarbeitet. 

Verantwortliche: Lukas Körfer

Wellenfeldsynthese

Bei der Wellenfeldsynthese (kurz: WFS) handelt es sich um das Verräumlichen von virtuellen Klangquellen mithilfe eines Loudspeaker-Arrays. Bei dieser fortschrittlichen Audiotechnologie wird also versucht, Klänge so zu reproduzieren, dass sie den Eindruck erwecken, dass sie von einer bestimmten Position im Raum kommen. Das gelingt durch die Erzeugung eines Wellenfeldes, welches aus einer Vielzahl von einzelnen Schallquellen besteht, die in einer Art synchronisiert werden, so dass eine kohärente Schallwelle entsteht, mit welcher es möglich sein soll, eine virtuelle Klangquelle im Raum lokalisieren zu können. 

 

Zum besseren Verständnis der Funktionsweise von WFS kann man sich dem Thema über das physikalische Phänomen von Interferenzmusterbildung hinter einem Hindernis mit Öffnungen nähern. Wenn eine Welle auf einen oder mehrere Schlitze trifft, wird sie durch die Öffnungen hindurchgebeugt und breitet sich hinter dem Hindernis aus. Dies führt zur Bildung eines Musters von Welleninterferenz auf der anderen Seite des Hindernisses. In ähnlicher Weise nutzt die Wellenfeldsynthese ein Array von Lautsprechern, um eine kohärente Schallwelle zu erzeugen. Dafür muss eine präzise Berechnung und Steuerung der Phasen- und Amplitudenverhältnisse der Schallwellen, die von jedem einzelnen Lautsprecher ausgehen, vorgenommen werden. Diese Berechnungen sind abhängig von den Abständen jedes einzelnen Lautsprechers im Array relativ zur Position im Raum der jeweiligen virtuellen Klangquelle. 

Projektbeschreibung

Für dieses Projekt sollte nun ein Programm entstehen, mit dem allgemeinen Ziel, durch gewissen Einfluss und Anpassungen eines Anwenders letztendlich eine Mehrkanal-Audiodatei zu erhalten, die zur Wellenfeldsynthese mit einem Loudspeaker-Array verwendet werden kann. Dafür musste zunächst konzipiert werden, welche Parameter vom Anwender des Programms gesetzt und beeinflusst werden sollen.

User-Input

 

Neben der Audiofile, welche zur Verräumlichung verwendet werden sollte, muss durch den Anwender einerseits gewisse Angaben zum Loudspeaker-Array und andererseits die Position oder Positionen einer oder mehrerer virtueller Klangquellen relativ zum Loudspeaker-Array angegeben werden. Um eine möglichst einfache und intuitive Konfiguration des Programms zu ermöglichen, habe ich mich dazu entschieden, dafür hauptsächlich ein Picture-Objekt zu verwenden, in welchem der Aufbau aufgezeichnet werden kann. Durch das Zeichnen eines Rechtecks können die Positionen der Loudspeaker und mit Kreisen die der virtuellen Klangquellen angegeben werden. Es kann dabei ein oder mehrere Kreise gezeichnet werden, wobei jeder Kreis eine Klangquelle repräsentiert. Die Angabe der Loudspeaker ist durch zwei unterschiedliche Weisen möglich. Wenn nur ein einziges Rechteck im Picture-Objekt gezeichnet ist, so stellt dieses den Bereich eines Loudspeaker-Arrays dar. Um im nächsten Schritt des Programms die konkreten Positionen der einzelnen Loudspeaker ermitteln zu können, sind ihr zusätzlich noch zwei weitere Angaben nötig. Das ist zum einen die Länge des Loudspeaker-Arrays in Metern; damit wird gleichzeitig der Maßstab für den kompletten gezeichneten Aufbau beeinflusst. Und zum anderen muss die Anzahl der Loudspeaker im gezeichneten Bereich angegeben werden. Sobald mehr als ein Rechteck vom Anwender angegeben sind, steht jedes einzelne Rechteck für einen individuellen Loudspeaker. Um bei dieser Variante einen Maßstab für den gezeichneten Aufbau festlegen zu können – was vorher mit der Angabe der Länge des Loudspeaker-Arrays möglich war – kann nun die Breite / Höhe vom Bereich des kompletten Picture-Objekts angegeben werden. Mit der ersten Variante, dass das Loudspeaker-Array lediglich mit einem Rechteck gezeichnet werden kann, wird zwar die Anwendung deutlich unkomplizierter, setzt allerdings auch voraus, dass die Loudspeaker linear und mit einem gleichmäßigen Abstand zueinander aufgebaut sind.

Distanzen berechnen

 

Nach dem Auslesen aller Grafiken des Picture-Objekts müssen diese für die Weiterverarbeitung in Rechteck und Kreise aufgeteilt werden. Falls nur ein Rechteck gefunden wird, kann mit der Position und Dimension des Rechtecks und der beiden Angaben zu Länge und Anzahl des Loudspeaker-Arrays, zunächst die Position jedes einzelnen Loudspeakers innerhalb des Arrays in Metern ermittelt werden. Wenn es mehrere Rechtecke sind, ist dieser Schritt nicht nötig und es werden einfach die Mittelpunkte aller angegebenen Rechtecke ermittelt. Daraufhin ist es möglich im selben Maßstab mit einer weiteren Lisp-Funktion den euklidischen Abstand von allen Quellen zu jedem einzelnen Loudspeaker zu berechnen. Hierbei ist zu beachten, dass alle Grafiken, die in dem Picture-Objekt vom Anwender gezeichnet wurden und nicht einem Rechteck oder einem Kreis entsprechen ignoriert und für die weiteren Berechnungen nicht berücksichtigt werden. Da für die Applikation beliebig viele virtuelle Klangquellen angegeben werden können, werden in diesem Schritt auch alle Kreise erfasst, die im Picture-Objekt existieren, wobei die Reihenfolge irrelevant ist.

Klangverarbeitung

 

Im nächsten Abschnitt des Programms wird die Klangverarbeitung umgesetzt. Dabei wird grundlegend mit der vom Anwender angegebenen Sound-Datei zusammen mit den zuvor berechneten Distanzen eine Mehrkanaldatei erzeugt, welche für das vorgesehene Loudspeaker-Array verwendet werden kann. Dieser Prozess passiert in einem verschachtelten OM-Loop mit zwei Ebenen.

 

In der ersten Ebene wird zunächst über jedes Element innerhalb der Distanz-Liste iteriert. Dabei entspricht jedes dieser Elemente einer Liste, die zu einer virtuellen Klangquelle gehört, welche deren Distanzen zu jedem Loudspeaker beinhaltet. Bevor der Prozess in die zweite Ebene des Loops geht, werden in einer Lisp-Funktion weitere Berechnungen anhand der aktuellen Distanz-Liste angestellt.

In dieser Funktion wird über jede Distanz iteriert und jeweils die Zeitverzögerung, Lautstärkeabnahme und eine Cutoff-Frequenz für einen Lowpass Filter zur Berechnung der Luftabsorption hoher Frequenzen ermittelt und in einer Liste gesammelt. Mit dem Ergebnis dieser Lisp-Funktion geht es im nächsten Schritt in die zweite Ebene der Schleife.

 

Hier wird für den jeweiligen berechneten Wert den jeweiligen SoX-Effect angewendet; SoX-Level für Lautstärkeabnahme, SoX-Lowpass für die Luftabsorption und SoX-Pad für die Zeitverzögerung. Dabei wird für jede Iteration die entstandene Audiodatei abgespeichert. Jede der drei Listen besitzt so viele Werte, wie zuvor berechnete Distanzen der aktuellen Klangquelle zu den Speakern. Also steht jede in diesem Loop gespeicherte Audiodatei für einen Kanal der späteren Mehrkanaldatei für die aktuellen Klangquelle.

Die Mehrkanaldatei kann nun im nächsten Schritt in der ersten Ebene mit SoX-Merge erstellt und am Ende des Loops zwischengespeichert werden. Dieser Prozess wiederholt sich für alle restlichen virtuellen Klangquellen (sofern vorhanden) und werden als Ausgabe dieses oberen Loops gesammelt. Alle Mehrkanaldateien der jeweiligen Klangquellen werden daraufhin mit einem SoX-Mix zusammengeführt.

Wenn vom Anwender nur eine virtuelle Klangquelle angegeben wird, besteht die Ausgabe des äußersten Loops nur aus einer einzelnen Mehrkanaldatei für diese eine Quelle. In diesem Fall wird das SoX-Mix nicht benötigt und es würde sogar bei der Evaluation des Programms zu einem Fehler führen, wenn der Input des SoX-Mix nur aus einer Audiodatei bestünde. Mit dem OM-If wird daher die Verwendung des SoX-Mix umgangen, sobald die Ausgabe des Patchers, in welchem die Distanzen ermittelt werden, nur aus einer Liste besteht, was bedeutet, dass im Picture-Objekt nur ein Kreis für eine virtuelle Klangquelle gezeichnet wurde.

Abschließend kann mit dem SoX-Pad je nach Präferenz zusätzlich der Mehrkanaldatei Stille hinzugefügt werden, falls die gewählte Audiodatei beispielsweise besonders kurz ist. Gleichzeitig wird die finale Mehrkanaldatei in Outfile als „wfsOutFile.wav“ gespeichert.

VonFlorian Simon

Interspaces – Akusmatische Studie mit OM-SoX

Interspaces („Zwischenräume“) stellt Klänge der menschlichen Zivilisation solchen aus der Natur gegenüber. Es werden vier Paare aus Feldaufnahmen vorgestellt, die nach dem Prinzip eines Vocoders gemäß des Spektrums eines Ausschnittes des Gegenstücks gefiltert werden.

Verantwortliche: Florian Simon

Interspaces zeigt folgende vier Paare (Format: Gesamtaufnahme – Quelle des Spektrums):

  1. Zwitschernde Küstenseeschwalben – Von Menschen gerufener Vokal „E“
    Lebendiger Markt, sprechende und rufende Menschen – Ruf der Küstenseeschwalbe

  2. Plätschern eines Flusses – Beschleunigendes Auto
    Hauptverkehrsstraße – Rauschen eines Flusses

  3. Waldkulisse, Blätterrauschen und Vögel – Zughorn
    Bahnhofshalle – Zwitschern eines Singvogels

  4. Gewitter – Klirren von Besteck
    Betrieb in einer Restaurantküche – Donner

Die Feldaufnahmen stammen dabei aus der Bibliothek FreeToUseSounds.

Interspaces nutzt eine gleichseitig oktogonale Lautsprecheranordnung, wobei die beiden Kanäle des Ausgangsmaterials jeweils an gegenüberliegenden Punkten im Array platziert werden. Die zwei Aufnahmen eines Paares sind zudem standardmäßig um 90 Grad zueinander versetzt, sodass vier Klangquellen wahrgenommen werden können.

Jede Aufnahme wird in mehrere Abschnitte von in einem bestimmten Rahmen zufälliger Größe unterteilt und in wiederum randomisierter Reihenfolge mit kurzen Crossfades wieder konkateniert. Die Anzahl der Abschnitte wird mit jedem Aufnahmepaar größer: 4, 9, 16 und zuletzt 23. Mit jedem neuen Abschnitt „wandern“ die beiden Klangquellen zudem im Array um 0,25 Kanäle in eine bestimmte Richtung. Da zwar die Anzahl der Abschnitte für beide Aufnahmen eines Paares dieselbe ist, nicht aber die Position der Schnitte, entstehen Abweichungen von der Basis eines 90-Grad-Abstands sowie eine größere klangliche Vielfalt. Interspaces ist als Installation konzipiert, um eine freie Erkundung der Stereofelder zu ermöglichen.

Interspaces entstand in OpenMusic mithilfe von Funktionen aus der Bibliothek OM-SoX. Das zugrunde liegende Programm besteht aus zwei Teilen. Der erste dient der Herstellung der manipulierten Aufnahmen durch Spektralanalyse (sox-dft), Zerlegung des Ausgangsmaterials in bis zu 4096 Frequenzbänder (sox-sinc), Anpassung deren Lautstärkepegel gemäß des generierten Spektrums (sox-level) und erneutes Zusammensetzen (sox-mix).

Der zweite Programmteil nutzt den Synthesepatch einer Maquette, um für jede der acht generierten Audiodateien die Unterteilung in Abschnitte (sox-trim) sowie deren Spatialisierung (sox-remix) und letztendliche Aneinanderreihung (sox-splice) zu regeln und schlussendlich die fertigen Blöcke zeitlich zu organisieren (sox-pad und sox-mix). Beim letzten Schritt muss die durch die Crossfades eingesparte Zeit berücksichtigt und vom Onset-Wert/x-Position in der Maquette abgezogen werden.

Audio (binaural auf Stereo gemischt):

Alex Player - Best audio player
 

Leider bringt diese Vocoder-Methode den Nachteil mit sich, dass die einzelnen Frequenzbänder zunächst sehr leise sind und deshalb durch das Applizieren des Gains und die finale Normalisierung Artefakte in Form von Rauschen entstehen. Im Gegenzug kommt es zu Clipping, wenn bestimmte Frequenzen gerade in beiden Quellaufnahmen stark vertreten sind. Senkt man die Gain-Werte entsprechend um dies zu vermeiden sind leisere Abschnitte im Resultat je nach Größe der Dynamikdifferenz womöglich kaum mehr hörbar. Das Rauschen lässt sich durch die Wahl höherer Gain-Werte leicht beseitigen, verstärkt damit aber das Clipping-Problem. Bei obiger Version von Interspaces wurde für alle acht Audioclips jeweils der beste Kompromiss zwischen beiden Effekten gesucht.


 

VonAndres Kaufmes

Räumliche Granularsynthese mit Hilfe von stochastischen Prozessen

Räumliche Granularsynthese mit Hilfe von stochastischen Prozessen

VPRS – Visuelle Programmierung der Raum/Klangsynthese

Prof. Dr. Marlon Schumacher

Abschlussprojekt von Andres Kaufmes 

HfM Karlsruhe – IMWI (Institut für Musikinformatik und Musikwissenschaft)

SoSe 2023

_____________

Für das Abschlussprojekt im Seminar „Visuelle Programmierung der Raum/Klangsynthese“ wurden die Open Music Libraries OMChroma, OMPrisma, Alea und OM-Sox verwendet. OMChroma wurde mit Hilfe der Klasse „FOF-1“ zur Klangsynthese verwendet und OMPrisma zur räumlichen Spatialisierung mit Hilfe der Klassen „Pan“ und „DBAP“. Die Library „Alea“ diente zur zufälligen Steuerung ausgewählter Parameter, mit OM-Sox wurden schließlich Reverb und Delay zum Signal hinzugefügt.

Om-Patch.

Abildung: Open Music Patch

Der Open Music Patch ist wie folgt aufgebaut: Der durch die FOF-1 Klasse synthetisierte Klang wird durch Sox-Lowpass gefiltert und durch Sox-Normalize normalisiert und in eine Soundfile geschrieben. Der Buffer wird nun in die Spatialisierungsklassen (Pan und DBAP) eingespeist, welche dann das nun spatialisierte Signal erneut als Soundfile speichern. Die Parameter des FOF-1 Objekts werden durch ein „BFP-to-Distribution“ Objekt der „Alea“ Library gesteuert, welches die gleiche Hüllkurve wie das FOF-1 Objekt als Input nutzt, um so Parameter für die Klangsynthese zu erstellen. Die ursprüngliche Idee, einen binauralen Renderer zu nutzen ließ sich aufgrund von Kompatiblitäts-Problemen mit der Software leider nicht implementieren, daher wurde mit den „Pan“ und „DBAP“ Objekten gearbeitet. Das Pan Objekt wird ebenfalls durch ein BFP-to-Distribution Objekt der Alea Library gesteuert. Am Ende der Signalkette fügt ein Sox-Process Objekt noch Reverb und Delay zum Audiosignal hinzu.

Klangbeispiel

VonAndres Kaufmes

Transient Processor

Transient Processor

SKAS-Symbolische Klangverarbeitung und Analyse/Synthese

Prof. Dr. Marlon Schumacher

Zwischenprojekt von Andres Kaufmes 

HfM Karlsruhe – IMWI (Institut für Musikinformatik und Musikwissenschaft)

WiSe 2022/23

_____________

 

Für dieses Zwischenprojekt habe ich mich mit der Implementierung eines Transient- Prozessors in OpenMusic mit Hilfe der OM-Sox Library beschäftigt.
Mit einem Transient Prozessor (auch Transient Designer oder Transient Shaper) lässt sich das Ein- und Ausschwingverhalten (Attack/Release) der Transienten eines Audiosignal beeinflussen.

Das erste vorgestellte Hardware Gerät war der 1998 von der Firma SPL vorgestellte SPL TD4, welcher als 19″ Rack-Gerät erhältlich war und in fortgeschrittener Version bis heute erhältlich ist.

           

Transient Designer der Firma SPL.  (c) SPL 

Transient Designer eignen sich besonders für die Bearbeitung von perkussiven Klängen oder auch für Sprache. Zunächst müssen die Transienten aus dem gewünschten Audiosignal isoliert werden, dies lässt sich zum Beispiel mit Hilfe eines Kompressors umsetzen. Durch eine kurze Attack-Zeit werden die Transienten „geduckt“ und das Signal kann vom Original abgezogen werden. Anschließend kann das Audiosignal im Verlauf der Signalkette mit weiteren Effekten bearbeitet werden.

Transient-Prozessor Patch.                        FX- Kette der beiden Signalwege (links „Transient“, rechts „Residual“).

Im Patch zu sehen ist an oberster Stelle die zu bearbeitende Audiodatei, von welcher, wie eben beschrieben, mit Hilfe eines Kompressors die Transienten isoliert, und das resultierende Signal vom originalen abgezogen wird. Nun werden zwei Signalwege gebildet: Die isolierten Transienten werden in der linken „Kette“ verarbeitet, das residuale Signal in der rechten. Nachdem beide Signalwege mit Audioeffekten bearbeitet wurden, werden sie zusammengemischt, wobei das Mischverhältnis (Dry/Wet) beider Signalwege nach belieben eingestellt werden kann. Am Ende der Signalverarbeitung befinden sich ein globaler Reverb-Effekt.

„Scope“ Ansicht der beiden Signalwege.               Skizzen zum möglichen Signalweg und Verarbeitung.

Klangbeispiele:

Isoliertes Signal:

Residuales Signal:

VonBrandon Snyder

Machine Learning Clustering in ‚residual – i‘ for Prepared Piano

Introduction

I present in this article residual – i, a three-minute solo piece for prepared piano commissioned as a companion work to John Cage’s Sonatas and Interludes for prepared piano. In analyzing Cage’s work and subsequently composing a companion to it, I employed a self-designed texture synthesis tool driven by machine learning clustering. The technical overview of that tool can be read at this other blogpost, or in the proceedings of the 2022 International Conference on Technologies for Music Notation and Representation (TENOR 2022). The blogpost you are reading now will briefly explain how that tool (and generally, music informatics) was applied in composing this short piano piece.

Background

John Cage’s Sonatas and Interludes (1946-48) is a 60-minute work for solo prepared piano that involves placing various objects (metal screws, bolts, nuts, pieces of plastic, rubber and eraser) in the strings of the piano. These objects ‚prepare‘ the piano, altering its sound and bringing out a variety of different, heterogenous timbres. Some keys produce chords, others buzz, or even have the pitch completely removed. The sound profile of the Sonatas and Interludes are arguably the work’s most iconic aspect.

However, the form of the Sonatas and Interludes is also noteworthy. The work consists of sixteen sonatas and four interludes, with most movements lasting somewhere between 1 and 4 minutes each. As part of an ongoing commissioning project, pianist and composer Amy Williams premieres new ‚interludes‘ which are placed amidst the existing sonatas and interludes by Cage. In early 2022 I received the opportunity to compose a short piece that would use a piano with Cage’s „preparations“, and would be inserted as an interlude amidst the sonatas and interludes of Cage’s work.

Approach

I was interested in composing a piece that acknowledged both the sound- and time-identity of the Sonatas and Interludes. While arguably the most iconic aspect of Cage’s Sonatas and Interludes is its sounds, I feel that the work’s form, it’s time-based content, is equally impactful. Many of the its movements are cast in AABB form, reflecting classical period sonatas. Additionally, the distribution of the individual sonatas and interludes take a symmetrical form: four groups of four sonatas each, partitioned by the four interludes:

Sonatas I–IV    Interlude 1    Sonatas V–VIII    Interludes 2–3    Sonatas IX–XII    Interlude 4    Sonatas XIII–XVI

As a pre-compositional constraint, I decided that all sonorities in my piece would be taken/excerpted directly from the score of the Cage. To use the metaphor of a painter, the score of the Cage was my palette of colors, and not the prepared piano itself. This meant that not only every chord or single note in my piece would be excerpted from the Cage, it also meant that the chord or note’s particular duration would also be used in my piece. The sound and duration were joined as a single item. In a way, my piece was a form of granular synthesis, taking single-attack grains of the Sonatas and Interludes, and recontextualizing them in a new order.

Preprocessing

In order to observe and meaningfully comprehend all the individual sonorities in the 60-minute-long Cage, I used a simple machine learning clustering method to categorize all ~7k sonorities into 12 groups. Using my texture synthesis tool, I was not only able to organize audio features of these ~7k sonorities in a a visual editor, I was also able to export and listen to each individual sonority as a single, short audio file.

Figure 1: Clusters and audio features are visually represented and sorted, providing an out-of-time view of the Cage’s spectral content.

Once the sonorities have been extracted as individual transients, I used a k-means clustering method to sort these sonorities into 12 clusters. To briefly explain this machine learning method, the clustering algorithm receives a vector of several audio features as an input representing a sonority from the Cage (the audio features used were spectral centroid, spectral difference, and spectral covariance*). The algorithm then sorts these audio vectors into 12 groups, placing sounds with similar vector-values in the same group. This process in unsupervised, meaning it is not seeking to emulate a trained result that I predetermined. Rather, because these three audio features, as a trio, don’t represent any particularly given parameter in music, the algorithm returns clusters of sound that are correlated along multifaceted sound profiles that are aurally cohesive but not as simple as being sorted by a single parameter like pitch, duration, brightness, or noisiness.

Composition

My piece residual – i uses sonorities exclusively from clusters 2, 4, 9, 11. Referring back to the class-array figure, there is a clear line of differentiation between these clusters and the rest, correlated specifically to the spectral difference of the sonorities. These sonorities had an unusually high spectral difference, due either to their bright harmonic content (which creates a sharp delta between the attack and sustain of the transient) or their short duration (which creates a sharp delta between the attack and sustain/resonance of the transient). By placing each of these clusters in sequence, and the sounds within each cluster in sequence, this quality of shortness and brightness is clearly audible (see audio).

I treated this sequence as a kind of DNA for the piece. Large portions of it were copied into the score (sequences of around 20-30 transients. This process was done by hand, listening to each individual transient in the sequence, and looking up in the score of the Cage what the corresponding notes were). It was at this point that the machine learning methods involved in the piece are finished. From here, I began to sculpt and shape these longer sequences into shorter bursts. I also added repeat brackets at different moments, creating moments of ‚freeze‘ in the piece’s hurtling forward momentum.

Figure 3a: Loop A designates the first several (circa 20) sonorities in the cluster sequence, looped over and over. This sequence served as a scaffolding from which the piece was composed around.

Figure 3b: This is the same page of the score, after notes have been removed, transforming the work into short bursts of sound.

Conclusion

Many of the cutting edge applications of machine learning in audio are towards the improvement of automated transcription, neural audio synthesis, and other tasks which have a clear goal and benchmark to test against. My particular application of machine learning in this piece is not for optimizing any task like this. Rather, the act of clustering audio served more as a means to explore the Sonatas and Interludes from a vantage point that I had not yet seen them from. Similar to my previous works that involve machine learning, being aware of how the machine learning methods are implemented is an essential first step in mindfully composing a work using such methods. As suggested by the title, residual – i serves as a proof of concept for a possible larger set of companion pieces, in which machine learning methods are used as a means to critically reexamine and „re-hear“ a familiar piece of music.

Listen to a full performance of residual – i here.

*These three features are measurements typically used to categorize the timbre and spectral content of an audio signal. The spectral centroid represents the center of mass in a spectrum. The spectral difference represents the average delta in energy between adjacent windows of the spectrum. The spectral covariance represents the spectral variability of a signal, i.e. how much the signal varies between its frequency bins.

VonKaspars Jaudzems

BAD GUY: Eine akusmatische Studie

Abstract:

Inspiriert vom „Infinite Bad Guy“ Projekt und all den sehr unterschiedlichen Versionen, wie manche Leute ihre Fantasie zu diesem Song beflügelt haben, dachte ich, vielleicht könnte ich auch damit experimentieren, eine sehr lockere, instrumentale Coverversion von Billie Eilish’s „Bad Guy“ zu erstellen.

Betreuer: Prof. Dr. Marlon Schumacher

Eine Studie von: Kaspars Jaudzems

Wintersemester 2021/22
Hochschule für Musik, Karlsruhe

Zur Studie:

Ursprünglich wollte ich mit 2 Audiodateien arbeiten, eine FFT-Analyse am Original durchführen und dessen Klanginhalt durch Inhalt aus der zweiten Datei „ersetzen“, lediglich basierend auf der Grundfrequenz. Nachdem ich jedoch einige Tests mit einigen Dateien durchgeführt hatte, kam ich zu dem Schluss, dass diese Art von Technik nicht so präzise ist, wie ich es gerne hätte. Daher habe ich mich entschieden, stattdessen eine MIDI-Datei als Ausgangspunkt zu verwenden.

Sowohl die erste als auch die zweite Version meines Stücks verwendeten nur 4 Samples. Die MIDI-Datei hat 2 Kanäle, daher wurden 2 Dateien zufällig für jede Note jedes Kanals ausgewählt. Das Sample wurde dann nach oben oder unten beschleunigt, um dem richtigen Tonhöhenintervall zu entsprechen, und zeitlich gestreckt, um es an die Notenlänge anzupassen.

Die zweite Version meines Stücks fügte zusätzlich einige Stereoeffekte hinzu, indem 20 zufällige Pannings für jede Datei vor-generiert wurden. Mit zufällig angewendeten Kammfiltern und Amplitudenvariationen wurde etwas mehr Nachhall und menschliches Gefühl erzeugt.

Akusmatische Studie Version 1

Akusmatische Studie Version 2

Die dritte Version war eine viel größere Änderung. Hier werden die Noten beider Kanäle zunächst nach Tonhöhe in 4 Gruppen eingeteilt. Jede Gruppe umfasst ungefähr eine Oktave in der MIDI-Datei.

Dann wird die erste Gruppe (tiefste Töne) auf 5 verschiedene Kick-Samples abgebildet, die zweite auf 6 Snares, die dritte auf perkussive Sounds wie Agogo, Conga, Clap und Cowbell und die vierte Gruppe auf Becken und Hats, wobei insgesamt etwa 20 Samples verwendet werden. Hier wird eine ähnliche Filter-und-Effektkette zur Stereoverbesserung verwendet, mit dem Unterschied, dass jeder Kanal fein abgestimmt ist. Die 4 resultierenden Audiodateien werden dann den 4 linken Audiokanälen zugeordnet, wobei die niedrigeren Frequenzen kanale zur Mitte und die höheren kanale zu den Seiten sortiert werden. Für die anderen 4 Kanäle werden dieselben Audiodateien verwendet, aber zusätzliche Verzögerungen werden angewendet, um Bewegung in das Mehrkanalerlebnis zu bringen.

Akusmatische Studie Version 3

Die 8-Kanal-Datei wurde auf 2 Kanäle in 2 Versionen heruntergemischt, einer mit der OM-SoX-Downmix-Funktion und der andere mit einem Binauralix-Setup mit 8 Lautsprechern.

Akusmatische Studie Version 3 – Binauralix render

Erweiterung der akousmatischen Studie – 3D 5th-order Ambisonics

Die Idee mit dieser Erweiterung war, ein kreatives 36-Kanal-Erlebnis desselben Stücks zu schaffen, also wurde als Ausgangspunkt Version 3 genommen, die nur 8 Kanäle hat.

Ausgangspunkt Version 3

Ich wollte etwas Einfaches machen, aber auch die 3D-Lautsprecherkonfiguration auf einer kreativen weise benutzen, um die Energie und Bewegung, die das Stück selbst bereits gewonnen hatte, noch mehr hervorzuheben. Natürlich kam mir die Idee in den Sinn, ein Signal als Quelle für die Modulation von 3D-Bewegung oder Energie zu verwenden. Aber ich hatte keine Ahnung wie…

Plugin „ambix_encoder_i8_o5 (8 -> 36 chan)“

Bei der Recherche zur Ambix Ambisonic Plugin (VST) Suite bin ich auf das Plugin „ambix_encoder_i8_o5 (8 -> 36 chan)“ gestoßen. Dies schien aufgrund der übereinstimmenden Anzahl von Eingangs- und Ausgangskanälen perfekt zu passen. In Ambisonics wird Raum/Bewegung aus 2 Parametern übersetzt: Azimuth und Elevation. Energie hingegen kann in viele Parameter übersetzt werden, aber ich habe festgestellt, dass sie am besten mit dem Parameter Source Width ausgedrückt wird, weil er die 3D-Lautsprecherkonfiguration nutzt, um tatsächlich „nur“ die Energie zu erhöhen oder zu verringern.

Da ich wusste, welche Parameter ich modulieren muss, begann ich damit zu experimentieren, verschiedene Spuren als Quelle zu verwenden. Ehrlich gesagt war ich sehr froh, dass das Plugin nicht nur sehr interessante Klangergebnisse lieferte, sondern auch visuelles Feedback in Echtzeit. Bei der Verwendung beider habe ich mich darauf konzentriert, ein gutes visuelles Feedback zu dem zu haben, was im Audiostück insgesamt vor sich geht.

Visuelles Feedback – video

Kanal 2 als modulations quelle für Azimuth

Dies half mir, Kanal 2 für Azimuth, Kanal 3 für Source Width und Kanal 4 für Elevation auszuwählen. Wenn wir diese Kanäle auf die ursprüngliche Eingabe-Midi-Datei zurückverfolgen, können wir sehen, dass Kanal 2 Noten im Bereich von 110 bis 220 Hz, Kanal 3 Noten im Bereich von 220 bis 440 Hz und Kanal 4 Noten im Bereich von 440 bis 20000 Hz zugeordnet ist. Meiner Meinung nach hat diese Art der Trennung sehr gut funktioniert, auch weil die Sub-bass frequenzen (z. B. Kick) nicht moduliert wurden und auch nicht dafur gebraucht waren. Das bedeutete, dass der Hauptrhythmus des Stücks als separates Element bleiben konnte, ohne den Raum oder die Energiemodulationen zu beeinflussen, und ich denke, das hat das Stück irgendwie zusammengehalten.

Akusmatische Studie Version 4 – 36 channels, 3D 5th-order Ambisonics – Datei war zu groß zum Hochladen

Akusmatische Studie Version 4 – Binaural render

VonAnselm Weber

Spectral Select: Eine akusmatische 3D-Audio Studie

Abstract:
Spectral Select erkundet den spektralen Inhalt des einen, sowie den Amplitudenverlauf eines zweiten Samples und vereinigt diese in einem neuen musikalischen Kontext. Der durch Iteration entstehende meditative Charakter des Outputs wird durch lautere Amplituden-Peaks sowohl kontrastiert, als auch strukturiert.
In einer überarbeiteten Version wurde Spectral Select im Ambisonics HOA-5 Format spatialisiert.

Betreuer: Prof. Dr. Marlon Schumacher

Eine Studie von: Anselm Weber

Wintersemester 2021/22
Hochschule für Musik, Karlsruhe


Zur Studie:
In welchen Ausdrucksformen äußert sich die Verbindung zwischen Frequenz und Amplitude ? Sind beide Bereiche intrinsisch miteinander Verbunden und wenn ja, was könnten Ansätze sein, diese Ordnung neu zu gestalten ?
Derartige Fragen beschäftigen mich bereits seid einiger Zeit. Daher ist der Versuch ebendieser Neugestaltung Kernthema bei Spectral Select.
Inspiriert wurde ich dazu von AudioSculpt von IRCAM, welches wir in unserem Kurs: „Symbolische Klangverarbeitung und Analyse/Synthese“ gemeinsam mit Prof. Dr. Marlon Schumacher und Brandon L. Snyder kennenlernten und zum Teil nachbauten.

Spectral Edit funktioniert nach einem ähnlichen Prinzip, doch anstatt interessante Bereiche innerhalb eines Spektrums eines Samples von einem Benutzer herausarbeiten zu lassen, wurde entschieden, ein zweites Audiosample heranzuziehen. Dieses weitere Sample (im Verlauf dieses Artikels ab sofort als „Amplitudenklang“) bestimmt durch seinen Verlauf, wie das erste Sample (ab sofort als „Spektralklang“) durch OM-Sox verarbeitet werden soll.
Um dies zu erreichen wird mit zwei Loops gearbeitet:
Zunächst werden im ersteren „peakloop“ einzelne Amplitudenpeaks aus dem Amplitudenklang herausanalysiert. Daraufhin dient diese Analyse im Herzstück des Patches, dem „choosefreq“ Loop zur Auswahl interessanter Teilbereiche aus dem Spektralsample. Lautstarke Peaks filtern hierbei schmalere Bänder aus höheren Frequenzbereichen und bilden einen Kontrast zu schwächeren Peaks, welche etwas breiter Bänder aus tieferen Frequenzbereichen filtern.

peakloop – Analyse
choosefreq Loop – Audio Processing


Wie klein die jeweiligen Iterationsschritte sind, wirkt sich dabei sowohl auf die Länge, als auch auf die Auflösung des gesamten Outputs aus. So können je nach Sample-Material sehr viele kurze Grains oder weniger, aber dafür längere Teilabschnitte erstellt werden. Beide dieser Parameter sind jedoch frei und unabhängig voneinander wählbar.

Im beigefügten Stück wurde sich beispielsweise für eine relativ hohe Auflösung (also eine erhöhte Anzahl an Iterationsschritten) in Kombination mit längerer Dauer des ausgeschnittenem Samples entschieden. Dadurch entsteht ein eher meditativer Charakter, wobei kein Teilabschnitt zu 100% dem anderen gleichen wird, da es ständig minimale Veränderungen unter den Peak-Amplituden des Amplitudenklangs gibt.
Das noch relativ rohe Ergebnis dieses Algorithmus ist die erste Version meiner akusmatischen Studie.

Akusmatische Studie Version 1


Der darauffolgende Überarbeitungsschritt galt vor allem einer präziseren Herausarbeitung der Unterschiede zwischen den einzelnen Iterationsschritten. Dazu wurde eine Reihe an Effekten eingesetzt, welche sich wiederum je nach Peak-Amplitude des Amplitudenklangs unterschiedlich verhalten. Um dies zu ermöglichen, wurde die Effektreihe direkt in den Peakloop integriert.

Akusmatische Studie Version 2


Im dritten und letztem Überarbeitungsschritt erfolgte die Spatialisierung des Audios auf 8 Kanäle.
Hierbei klingen die einzelnen Kanäle ineinander und ändern ihre Position im Uhrzeigersinn. Somit bleibt der Grundcharakter des Stückes bestehen, jedoch ist es nun zusätzlich möglich, das „Durcharbeiten“ des choosefreq Loops räumlich zu verfolgen. Damit diese Räumlichkeit erhalten bleibt, wurde der Output anschließend mithilfe von Binauralix für den Upload in binaural Stereo umgewandelt.

Akusmatische Studie Version 3 – Binaural

Spectral Select – Ambisonics

Im Zuge einer weiteren Überarbeitung wurde Spectral Select über die spatialisation class „Hoa-Trajectory“ von OM-Prisma neu spatialisiert und in das Ambisonics Format gebracht.
Damit sich dieser Schritt konzeptionell und klanglich gut in die bisherigen Bearbeitungen eingliedert, soll der Amplitudenklang auch bei der Raumposition eine wichtige Rolle spielen.
Die Möglichkeiten mithilfe von Open-Music und OM-Prisma Klänge zu spatialisieren sind zahlreich. Letzten Endes wurde entschieden, mit Hoa-Trajectory zu arbeiten. Hierbei ist die Klangquelle nicht an eine feste Position im Raum gebunden und kann mit einer Trajektorie beschrieben werden, welche auf die Gesamtdauer des Audio-Inputs skaliert wird.

Spatialisierung mit HOA.TRAEJECTORY

Die Trajektorie wird in Abhängigkeit der Amplituden-Analyse im vorhergehenden Schritt erstellt.
Dabei wird eine simple, dreidimensionale Kreis Bewegung, welche sich in Spiralbewegung nach unten dreht, mit einer komplexeren, zweidimensionalen Kurve perturbiert. Die Y-Werte der komplexeren Kurve entsprechen dabei den herausanalysierten Amplitudenwerten des Amplitudenklanges.
Somit ergeben sich je nach skalierung der Amplitudenkurve mehr oder weniger starke Abweichungen der Kreisbewegung. Höhere Amplitudenwerte sorgen also für ausuferndere Bewegungen im Raum.


Interessant hierbei ist, dass OM-Prisma auch Doppler-Effekte mitberücksichtigt. Dadurch ist zusätzlich hörbar, dass bei höheren Amplitudenwerten extremere Abstände zur Hörposition in der selben Zeit zurückgelegt werden. Dadurch nimmt dieser Arbeitsschritt unmittelbar Einfluss auf die Klangfarbe des gesamten Stückes.
Je nach Skalierung der Trajektorie können schnelle Bewegungen dadurch stark überbetont werden, allerdings können (ab einer zu großen Entfernung) auch Artfakten entstehen.
Damit ein besserer Eindruck Ensteht folgen 2 verschiedene durchläufe des Algorithmus mit unterschiedlichen Abständen zum Hörer.

Version mit extremen Doppler Effekten wodurch Artfakte enstehen können – Binaural Stereo

Version mit näherem Abstand und moderateren Doppler Effekten – Binaural Stereo

Spektralklang sowie Amplitudenklang wurden in diesem Beispiel im Gegensatz zu den vorherigen Klangbeispielen ausgetauscht. Es handelt sich hierbei um ein längeres Soundfile zur Analyse der Amplituden und einen weniger verzerrten Drone als Spektralklang.
Die Idee hinter diesem Projekt ist ohnehin, mit verschiedenen Klangdateien zu experimentieren.
Daher wurde auch der alter Algorithmus noch einmal überarbeitet um mehr Flexibilität bei unterschiedlichen Klangdateien zu bieten:

Überarbeitete skalierbare Version des alten Algorthimus zur Auswahl aus dem Spektralklang

Außerdem wird nun aus dem Spektralklang auf der Zeitachse randomisiert ausgewählt. Dadurch soll jeglicher formgebender Zusammenhang aus der Magnitude des Amplitudenklangs stammen und jegliche Klangfarbe aus dem Spektralklang extrahiert werden.

VonVeronika Reutz

Komponieren in 8 Kanälen mit Open Music

In diesem Artikel stelle ich meine Ideen, kreativen Prozesse und technischen Daten zum für die Klasse „Symbolische Klangverarbeitung und Analyse/Synthese“ bei Prof. Marlon Schumacher programmierter Patch vor. Die Idee dieses Textes ist es, die technischen Lösungen für meine kreativen Ideen aufzuzeigen und das gewonnene Wissen zu teilen und so dem Leser bei seinen Ideen zu helfen. Der Zweck dieses Patches ist, Klänge aus dem Alltag zu nehmen und sie mit Hilfe mehrerer Prozesse innerhalb von Open Music in eine eigene Komposition umzuwandeln.

Verantwortliche: Veronika Reutz Drobnić, Wintersemester 21/22

Einführung, Iteration 1

Die Ausgangsidee des Stücks war es, Alltagsgeräusche, zum Beispiel ein Geräusch eines Wasserkochers, in einen anderen, bearbeiteten Klang zu verwandeln, indem technische Lösungen in Open Music implementiert wurden. Dieser Patch verarbeitet und führt mehrere Dateien zu einer Komposition zusammen. Es gibt drei Iterationen des Patches, an dem ich während des Semesters gearbeitet habe. Ich werde sie chronologisch nacheinander beschreiben.

Die ursprüngliche Idee für den Patch stammt von musique concréte. Ich wollte aus konkreten Klängen (nicht in Open Music synthetisiert, sondern aufgenommen) ein 2-Minuten-Stück machen. Dieser Patch besteht aus drei Subpatches, die mit der Maquette im Hauptpatch verbunden sind.

Der Hauptpatch

weiterlesen

Seiten: 1 2 3