Incom ist die Kommunikations-Plattform der Hochschule Hof Mediendesign

In seiner Funktionalität auf die Lehre in gestalterischen Studiengängen zugeschnitten... Schnittstelle für die moderne Lehre

Incom ist die Kommunikations-Plattform der Hochschule Hof Mediendesign mehr erfahren

avant_garden

_mein garten ist eine frequenz.

DOKUMENTATION

Abstract

avant_garden ist eine Experimentenreihe, bei der es darum geht, Pflanzen eine akustische Kommunikationsebene zu verleihen. 

Wir Menschen neigen dazu, Lebewesen ohne phonologische Ausdrucksmöglichkeit geringer zu schätzen als solche, die über Laute kommunizieren können. Aus diesem Grund habe ich nach einem Ansatz gesucht, die Befindlichkeit einer Pflanze über über verschiedene Mittel wie beispielsweise Sensoren und Synthesizer akustisch zum Ausdruck zu bringen.

Hierbei war der Weg das Ziel, weshalb kein fest definiertes Endprodukt, sondern viele kleine Ergebnisse herausgekommen sind. Es bietet sich die Möglichkeit an, die Experimentreihe fortzuführen.

Filmische Dokumentation

Recherche

Recherche und Einarbeitung war ein wesentlicher Teil meines Prozesses, der nicht nur einmalig, sondern wiederholt stattgefunden hat.

Pflanzen und Sensoren

Für mich stand relativ früh fest, dass ich mit Sensorik arbeiten wollte, weshalb ich anfangs eine Sammlung mit Sensoren angelegt habe, die für Pflanzen und deren Umfeld relevant sein könnten.

Inspiration

Nachdem feststand, dass ich mit Sound arbeiten würde, habe ich auf verschiedenen Plattformen Inspiration gesammelt und mich darüber informiert, in welchen Projekten bereits mit Pflanzen und Sound gearbeitet wurde. 

Drei besonders prägende Beispiele:

PlantWave

LOOKMUMNOCOMPUTER

Weather Thingy

Arduino

Für die Arbeit mit Sensoren ist es sinnvoll, sich mit den im Physical Computing-Bereich beliebten Microcontrollern zu beschäftigen. Da am Campus vor allem Arduinos zur Verfügung standen, habe ich mir mit Hilfe des Buches Arduino Cookbok, 3rd Edition (Michael Margolis, Brian Jepson, Nicholas Robert Weldin, O'Reilly Media Inc., 2020) und zahlreicher Youtube-Tutorials die Grundlagen zum Thema Arduino näher gebracht. Dabei habe ich nicht nur gelernt, Programme für den Arduino zu schreiben, sondern auch meine Elektronik-Kenntnisse auffrischen können.

Pure Data

Um mich in die Programmiersprache Pure Data einzuarbeiten, hat mir vor allem das Buch Programming Sound with Pure Data (Tony Hillerson, Pragmatic Bookshelf, 2014) geholfen.

UX / User Journey

Da bei avant_garden kein benutzbares Produkt herausgekommen ist, gibt es auch keine User Experience. Stattdessen habe ich mir Gedanken zur Zielgruppe für eine eventuelle Live-Performance gemacht:

Das angestrebte Publikum ist offen für musikalische Experimente und interessiert sich dafür, wie die Musik entsteht. Daher ist es wichtig, technische Komponenten sichtbar zu machen und den Entstehungsprozess zu dokumentieren. Für eine rein akustische Veröffentlichung ist die Performance deshalb eher ungeeignet. Das Live-Erlebnis steht im Vordergrund.

Skizzen / Entwürfe

Moodboard

Experimenten-Liste

Studien / Prototypen

littleBits

Mit littleBits lassen sich schnell und einfach elektronische Schaltungen zusammenstecken. Mit dem Korg Synth Kit konnte ich auf simple Art und Weise ausprobieren, wie Synthesizer-Bauteile auf verschiedene Sensoren reagieren. Hier ein Beispiel mit einem Biegesensor:

P5.js

Da ich im Laufe des Studiums bereits mehrfach mit P5.js gearbeitet habe, war die JavaScript-Library auch beim Programmieren von Synthesizern meine erste Wahl.

Pure Data

Um sensorabhängige Sounds in Pure Data zu entwickeln, habe ich meist auf einen Lichtsensor und / oder ein Potenziometer zurückgegriffen, da sich diese schnell und einfach auslesen und ansteuern lassen. Im Folgenden zwei Beispiele:

Umsetzung

Da meine Umsetzung größtenteils aus Studien bestand, werde ich hier die im Dokumentationsvideo gezeigten Experimente der Reihe nach erläutern.

Calathea + Lichtsensor

Für die Calathea spielt Licht eine große Rolle. Bekommt sie zu viel oder zu wenig davon, werden die Blätter braun und rollen sich ein. Außerdem schließt sie nachts ihre Blätter und öffnet sie morgens wieder. Deshalb habe ich beschlossen, einen Lichtsensor an ihr anzubringen.

Anfangs hatte ich als Sound eine durchgehende Sinus-Welle (ähnlich dem Toncharakter einer Stimmgabel) gewählt, die mit hellerem Licht lauter wird. Dieser penetrante Ton wollte jedoch so gar nicht zu der ästhetisch ansprechenden und nicht allzu pflegeaufwändigen Calathea passen. 

Deshalb habe ich noch einmal am Sound gearbeitet und einen LFO auf die Lautstärke des Sinus-Tons gelegt. Dieser verursacht ein Zittern und lässt den Ton so wie eine Art Schnurren klingen.

Der Lichtsensor steuert in dieser Version sowohl die Frequenz (Tonhöhe), als auch die Basislautstärke.

Schwertfarn + Luftfeuchtigkeitssensor

Der Schwertfarn benötigt eine hohe Luftfeuchtigkeit um zu überleben, deshalb habe ich ihn mit einem Luftfeuchtigkeitssensor bestückt. 

Der Sensor steuert die Lautstärke eines Rauschens, das an Regen oder fließendes Wasser erinnert.

Haselnussbaum + Gyrosensor

Im Zusammenhang mit Bewegung fand ich das Schaukeln von Ästen im Wind interessant. Deshalb habe ich an einem Haselnuss-Busch mit dünnen, flexiblen Ästen einen Gyro-Sensor befestigt. Unglücklicherweise hat am Drehtag kaum Wind geweht, weshalb ich den Ast (offensichtlich) von Hand bewegt habe.

Die Frequenz (also die Tonhöhe) ändert sich je nach Neigung des Sensors. Zusammen mit einem Sinus-Oszillator ergibt sich ein pfeifendes Geräusch, das an Soundeffekte erinnert, die in alten Cartoon-Filmen gerne für schnelle Bewegungen verwendet wurden. Auch erinnern pfeifende Sounds generell an windige Nächte.

Efeu + Luftfeuchtigkeitssensor

Auch an der Efeu-Pflanze habe ich den Luftfeuchtigkeits-Sensor angebracht, da auch sie ein humides Klima bevorzugt.

Genau wie zuvor ist der Ton ein Rauschen, das aber – im Gegensatz zum Sound des Schwertfarns – kontinuierlich anschwillt und abklingt. So entsteht ein Geräusch, das sich nach rauschenden Wellen oder auch nach Atmung anhört. Assoziativ ergibt sich daraus Meeresluft, die bekanntermaßen eher feucht ist und so dem Efeu gut gefallen dürfte.

Fazit

Durch die Herangehensweise mit losen Experimenten konnte ich frei arbeiten und beliebig weit in die Breite gehen. 

Ich konnte in diesem Semester so viel lernen wie in keinem Semester zuvor und auch wenn kein definiertes Endprodukt herausgekommen ist, hat das Projekt mich persönlich sehr viel weiter gebracht.

Da es noch unzählige Möglichkeiten gibt, die ich innerhalb des Semesters nicht geschafft habe auszuprobieren, werde ich das Projekt auf eigene Faust fortführen und auf dem bereits angelegten Instagram-Account dokumentieren. Der nächste Schritt ist die weitere Einarbeitung in Pure Data, sodass ich die Sounds für einzelne Pflanzen und Sensoren genauer definieren kann.

_______

POJEKT-TAGEBUCH

Pitch Deck

Heranzucht von pflanzlichen Probanden

Am 6. Mai haben wir Kapuziner-Kresse gesät, um an lebenden Pflanzen experimentieren zu können. Etwa eine Woche später haben die ersten Triebe die Erdoberfläche erreicht, nach zwei Wochen hat die erste Pflanze bereits die 10cm-Marke geknackt.

Am 29. Mai haben wir Töpfe gekauft und die Kapuziner-Kresse umgetopft. Jetzt ist sie bereit für die ersten Experimente.

Materialliste

_02.05.2020 Spektralsynthese mit Pixelsynth

Pixelsynth ist ein Browsertool für Spektralsynthese. Das bedeutet, dass die Pixelspalten der dort hochgeladenen Bilder nach und nach abgetastet werden. Je weiter oben der Pixel im Bild liegt, desto höher ist der Ton. Je heller er ist, desto lauter der Klang. Um das Klangergebnis zu verändern, können sowohl Bildeigenschaften (z.B. Helligkeit, Kontrast), als auch Klangeigenschaften (z.B. Anzahl und Skala der abgetasteten Töne) verändert werden.

Um das Erscheinungsbild von Pflanzen in Töne umzuwandeln, habe ich Fotos von verschiedenen Blüten (gefunden bei Unsplash) hochgeladen. Es bieten sich Fotos mit schwarzem Hintergrund an, da man so tatsächlich nur die Blüte „hört“.

Der nächste Schritt wäre, ein vergleichbares Tool in p5.js zu programmieren.

_06.05.2020 LittleBits: Sensor und Ton

Biegesensor + Sequencer + Oszillator + Lautsprecher =

_07.05.2020 P5.js: my first synth

Mein erster Versuch, einen virtuellen Synthesizer zu programmieren. Er besteht aus drei Tasten, die einen A-Moll-Akkord ergeben. Er kann hier ausprobiert werden.

Die Erweiterung umfasst eine ganze Oktave mit Halbtönen. Sie kann hier ausprobiert werden.

_15.05.2020 Bewerbung für FieldKit-Giveaway

Zur Feier des fünfzigsten Earth Day verlost FieldKit unter dem Zeichen #fieldkit50 50 Wetter- bzw. Wassermessstationen an Personen, die sich mit ihrem Projekt bewerben. Auch ich habe avant_garden eingereicht und bin gespannt auf die Bekanntgabe der Gewinner am 22. Mai.

_18.05.2020 Picture-Synth in P5.js

Diese Woche habe ich es geschafft, in P5.js Bilder in Sound umzuwandeln. Das ist mir gelungen, indem ich einen Image Filter aus dem Buch „Generative Design“ als Vorbild hergenommen, auf das Wesentliche reduziert und um eine auditive Ebene pro generiertem Pixel ergänzt habe. Auch wenn der Sound noch nicht besonders definiert klingt (viele der Töne im Video unten waren zu tief für die Aufnahme), kann man einen Unterschied zwischen verschiedenen Bildern feststellen.

Leider funktioniert der Sketch aus bisher unbekannten Gründen nicht im P5.js Web Editor, der Code kann hier aber schon eingesehen werden.

_26.05.2020 Slitscan-Synth (bisher ohne Erfolg)

Um das Slitscan-Prinzip auf den Picture-Synth-anzuwenden, habe ich den Beispiel-Code aus Creative Coding 1:1 kopiert und in einen neuen Sketch in Atom eingefügt. Leider werden mir beim Abspielen Fehlermeldungen gezeigt, die je nach Browser variieren. Die Macbook-Kamera ist eingeschaltet, die Fläche der Canvas bleibt aber schwarz. Die Dom-Library ist im Sketch aktiviert.

Folgende Fehlermeldung erscheint bei Google Chrome:

Das sagt Safari dazu:

_02.06.2020 Serial Input via P5 Serial Control

Aktuell bin ich damit beschäftigt, die Sensordaten vom Arduino in den P5-Synthesizer zu übertragen. Hierfür habe ich P5 Serial Control installiert - ein Programm, das Daten aus den Serial Ports des Computers auf einen Server überträgt, auf den P5.js dann mithilfe der p5.serialport.js-Library zugreifen kann. Bisher konnte ich P5 Serial Control installieren und den Serial Port des Arduino verbinden. Der nächste Schritt ist, die Daten in den P5-Sketch zu übertragen. Aktuell bekomme ich noch eine Error-Message, wenn ich die Schritte meiner Anleitung befolge.

_02.06.2020 Experiment Wachstumsmessung mit Faden

_09.06.2020 Update Experiment Wachstumsmessung

Wie in der Bildergalerie zu sehen ist, hat die Pflanze tatsächlich den Faden beim Wachsen abgespult. Dennoch ist der Faden an der Pflanze nach unten gerutscht und müsste daher etwas besser fixiert werden.

_14.06.2020 Experimente mit P5 Serial-Oszillator

Nach der Behebung des Fehlers im Serial Input-Sketch (Grund: fehlerhafte HTML-Kodierung von Sonderzeichen in der Code-Vorlage) kann ich endlich Werte vom Arduino in den Browser und damit in P5.js übertragen. Im unten gezeigten Sketch habe ich so mit einem Potentiometer die Frequenz eines Sinus-Oszillators geregelt.

Daraufhin habe ich den Potentiometer durch einen Lichtsensor ersetzt und die Werte im selben Programm verwendet.

Als Nächstes habe ich versucht, auf dieselbe Weise eine Pflanze anzuschließen. Für eine junge Kapuziner-Kresse-Pflanze hat das leider mit einem abgerissenen Arm geendet. Für weitere Experimente habe ich daher die etwas robustere Mexikanische Bergpalme (chamaedoera elegans)  herangezogen, deren Blätter die Krokodilklemmen ohne größere Spuren ausgehalten haben.

Da keiner meiner Widerstände passend war, um als Gegen-Widerstand für den Sensor zu fungieren, habe ich übergangsweise ein einzelnes Blatt derselben Pflanze angeklemmt (weiße Klemmen).

Berührt man die Pflanze zwischen den Hauptklemmen (schwarz), die an zwei Seiten der Pflanze angebracht sind, verändert sich der Ausgabe-Wert und damit die Frequenz des Oszillators.

_22.06.2020 Einarbeitung in Pure Data

Mithilfe des Buches „Programming Sound with Pure Data“ von Tony Hillerson habe ich begonnen, mich in Pure Data einzuarbeiten. Nachdem ich einen in Lautstärke und Frequenz veränderbaren Synthesizer programmiert habe, wäre der nächste Schritt, die Sensordaten des Arduino einzuspeisen.

_23.06.2020 Update FieldKit

Nachdem die Bekanntgabe der Gewinner verschoben wurde, habe ich heute erfahren, dass ich leider kein FieldKit gewonnen habe. Es haben sich über 200 Teilnehmer beworben und ich bin gespannt auf die Vorstellung der Gewinnerprojekte.

_23.06.2020 Runway Songtext Test Iron ML

Um das Anlernen von Songtexten in Runway auszuprobieren, habe ich alle Songtexte der Band Iron Maiden (Auswahl dieser Band wegen hoher Anzahl an textreichen Songs) in einem Textdokument gesammelt und Runway „gefüttert“.

Ich habe 5000 Steps eingestellt und bin nun gespannt, ob nach dem Training-Prozess sinnvolle Songtexte herauskommen.

Nach ungefähr vier Stunden Training hat Runway die 5000 Schritte durchlaufen und die Ergebnisse haben tatsächlich Ähnlichkeiten mit den Texten aus der Feder von Steve Harris und co. Hier ein Beispiel mit dem Wort-Input „today“:

today

We will ride this thunderbird

Silver shadows on the earth

A thousand leagues away

Our winter times are like a silent shroud

To me the things I see are just

Deceiving me

Making me see things I don't want to see

These are things I cannot see

In the black the moonlight casts a

Shadow on the earth

A thousand leagues away

Our winter times are like a silent shroud

To me the things I see are just

Deceiving me

Making me see things I don't want to see

These are things I cannot see

In the black the moonlight casts a

Shadow on the earth

A thousand leagues away

Our winter times are lik

Wer die Lyrics von Iron Maiden kennt, wird häufig über Passagen  wie „We will ride this thunderbird / Silver shadows on the earth / A thousand leagues away“ stolpern, die wort-wörtlich aus einem Song übernommen wurden. Meine Vermutung ist hierbei, dass das Datenset (knapp 200 KB reiner Text) zu klein ist, als dass Runway hier bei allen Wörtern verschiedene Zusammenhänge feststellen könnte. Hin und wieder konnte mich das Modell aber auch mit völlig neuen Satzkreationen wie „the shadows are my canvas“ und „well you see me as a spirit / but I don't see you as a man“ positiv überraschen.

_25.06.2020 Lyric-Sammlung happy & sad

Um das Lyrics-Modell nun auf dieses Projekt zu übertragen, habe ich ein Spreadsheet zum Sammeln von fröhlichen und traurigen Songs angelegt und auf verschiedenen Kanälen dazu aufgerufen, Songs einzutragen. Anfangs gab es Probleme mit den Berechtigungen, die sich nach einiger Zeit von selbst zurück auf Schreibgeschützt gestellt haben, doch nun scheint der Zugriff dauerhaft zu funktionieren. Sonntags werde ich die Ergebnisse auswerten und das Datenset erstellen. Bisher ist mir aufgefallen, dass vor allem auf der fröhlichen Seite sehr viele Deutsche Songs vorgeschlagen wurden. Wie gut ein sprachlich gemischtes Datenset funktioniert, wird sich noch herausstellen.

_29.06.2020 Update Lyric-Sammlung

Am Ende kamen 315 Songs zusammen, davon 191 Traurige und 124 Fröhliche. Interessant war hier auch die Verteilung der Sprachen:

Das folgende Video zeigt nur die in reinen Text gefassten traurigen Lyrics:

_29.06.2020 Sad Lyrics ft. GPT-2

Nachdem ich alle traurigen Lyrics in einem Dokument (ca. 250 KB) gesammelt hatte, habe ich das Training in Runway gestartet. Aus finanziellen Gründen habe ich mich für nut 1000 Steps entschieden.

Im Folgenden zwei Beispiele mit Songtiteln, die die Bedürfnisse einer Pflanze widerspiegeln:

„Too much Light“

Too much Light

I cannot function

I cannot function

I am broken down

Stacking up problems

Is too much light

Too much light

Suffocating

Don't know how or when

To break away

But I know how

How the darkness conspires

And how the light always wins

I know how the darkness conspires

And how the light always wins

Song to a Man on the Edge

Written in Tears by a Dreamer

In a Mirror by a Dreamer

I saw a vision of a new world

Where colors flowed freely

Where animals and people coexisted

I saw a world in crisis

In a desperate caress

I kissed the sky

A million miles away

We are still falling

When I think of you

I think of all the people I've lost

And all the dreams I've had

I wish that I could share

This moment

-------------------

  „Thirsty“

Is it true

That you have a taste in your mouth

That you can't put down

It's like a addiction

You keep coming back for more

It's like a sin

You're holding on

To something that's better off the shelf

You're desperate

And it's not like you

Don't have anything better to do

You're high

Innocent and pure

Staring back from the mirrors

A face that you don't recognize

It's a lie

That you're better off dead

Or you could start a revolution

Just remember

When you're high

You're high

Innocent and pure

Staring back from the mirrors

A face that you don't recognize

It's a lie

That you're better off dead

Or you could start a revolution

Just remember

When you're high

You're high

_02.07.2020 Happy Lyrics ft. GPT-2

„I like it“

You like it

I like it (laughs)

So what do you think?

Should I get a tattoo?

Or should I just say I like it?

Tattoos are pretty cool

They're pretty cool

But I like my ears

They're my reality

You can't push it

You can't push it

You can't say I don't like it

Yeah, I like it

You like it

-------------------

_02.07.2020 Lichtsensor + Papersynth

Zwischen einen Paperynth-Oszillator und die Stromversorgung habe ich einen Lichtsensor gesteckt, sodass das einfallende Licht die Lautstärke des ausgegebenen Tons kontrolliert.

Auf dieselbe Art habe ich den Lichtsensor zwischen zwei verschiedene Oszillatoren geschalten, sodass diese sich je nach Lichtmenge mehr oder weniger vermischen.

_05.07.2020 Pduino Konfiguration

Mithilfe von Pduino von Hans-Christoph Steiner habe ich es geschafft, den Arduino über Serialport-Kommunikation mit Pure Data zu verbinden. Nun kann ich virtuelle Modulare Synthesizer mit Sensoren ansteuern.

_05.07.2020 Pure Data + light sensor

Als Nächstes habe ich einen Lichtsensor an den Pin A0 angeschlossen und den Wert ausgelesen. Der verwendete Patch bietet die Möglichkeit, die Werte aller 6 analogen Input-Pins des Arduino gleichzeitig auszulesen und zu verwenden.

Mit dem Lichtsensor habe ich als erstes die Amplitude eines einfachen Oszillator gesteuert. Der Ton wird also lauter, je heller das Licht ist.

Als Nächstes habe ich mit dem Lichtsensor einen Tremolo-Effekt (LFO an Signalstärke) angesteuert. Das Licht beeinflusst sowohl die Rate, als auch die Depth. Je heller, desto stärker wird das Zittern. Diesen Effekt kann ich mir auch gut zusammen mit einem Temperatursensor vorstellen (stärkeres Zittern bei Kälte).

Mit dem LFO an der Frequenz konnte ich auch auf einfache Weise einen Vibrato-Effekt erzeugen. Die Rate wird wieder vom Lichtsensor bestimmt, außerdem kann die durchschnittliche Frequenz mithilfe eines Potentiometers an Pin A1 geregelt werden.

_06.07.2020 Storyboard Dokumentations-Video

Die gelben Zettel müssen noch ausgearbeitet werden.

_07.07.2020 Sensor-Bestellung

10.07.2020 Pins an Sensoren löten

Die Sensoren-Shields kamen mit separaten Pin-Reihen, die noch angelötet werden mussten.

11.07.2020 Pure Data light sensor + noise

Einen Noise-Sound kann ich mir gut im Zusammenhang mit einem Feuchtigkeits-Sensor vorstellen. Im ersten Versuch wird die Noise-Lautstärke durch den Lichtsensor auf A0 bestimmt, außerdem kann ich den Low-Pass-Filter über den Poti an A1 steuern.

Im zweiten Versuch wird der Low-Pass-Filter durch den Lichtsensor geregelt.

In dritten Versuch steuert der Lichtsensor die Frequenz eines Band-Pass-Filters eines Noise an, dessen Lautstärke zusätzlich durch einen weiteren Noise zufällig variiert. Am Poti kann die Bandbreite geregelt werden.

Ein Projekt von

Fachgruppe

Mediendesign

Zugehöriger Workspace

Interaction / Information Design

Entstehungszeitraum

Sommersemester 2020