ss21:mushell

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
ss21:mushell [2021/11/15 13:04] juju_kinhass21:mushell [2022/02/18 10:13] (aktuell) amichel92
Zeile 1: Zeile 1:
 +====== MuShell ======
 +Ein Projekt von Daniel Viladrich Herrmannsoerfer, Charlotte Roschka, Julia Stein, Daniel El-Assal, Anton Michel & Enver Felix Loyaza Mora
 +
 +
 ====== Kurzbeschreibung ====== ====== Kurzbeschreibung ======
 Die Inspiration für unser Projekt war die Ähnlichkeit einiger Kegelschnecken zu Walzenspieldosen.  Die Inspiration für unser Projekt war die Ähnlichkeit einiger Kegelschnecken zu Walzenspieldosen. 
Zeile 11: Zeile 15:
  
 {{ ss21:bild1.jpg }} {{ ss21:bild1.jpg }}
 +**Abbildung 1**: Aufbau der MuShell-Musicbox, Foto: Christel Clerc
  
 ====== Theorie ====== ====== Theorie ======
Zeile 16: Zeile 21:
 In der Regel ist das Erscheinungsbild von Organismen eng mit einem evolutionären Wettbewerbsvorteil verknüpft.  In der Regel ist das Erscheinungsbild von Organismen eng mit einem evolutionären Wettbewerbsvorteil verknüpft. 
 Allerdings kann diese Maxime der Evolutionstheorie die Vielfalt an Mustern bei den oft sehr eng verwandten Kegelschnecken nicht erklären. \\ Allerdings kann diese Maxime der Evolutionstheorie die Vielfalt an Mustern bei den oft sehr eng verwandten Kegelschnecken nicht erklären. \\
-In seinem Buch „The algorithmic beauty of sea shells”, liefert Hans Meinhardt folgenden Erklärungsansatz: „[…] es ist anzunehmen, dass kein hoher selektionsdruck auf der Art des Musters liegt. +In seinem Buch „The algorithmic beauty of sea shells”, liefert Hans Meinhardt folgenden Erklärungsansatz: „[…] es ist anzunehmen, dass kein hoher Selektionsdruck auf der Art des Musters liegt. 
 Die Vielfalt deutet darauf hin, dass das Muster drastisch verändert werden kann, ohne die Spezies zu bedrohen. Die Natur darf Spielen.“\\ Die Vielfalt deutet darauf hin, dass das Muster drastisch verändert werden kann, ohne die Spezies zu bedrohen. Die Natur darf Spielen.“\\
  
 {{ ss21:bild2.png }} {{ ss21:bild2.png }}
-Abbildung: Schale einer //c. textile//+**Abbildung 2**: Schale einer //c. textile//
 Die parallelen dunkelbraunen Linien, in rot hervorgehoben, sind Resultat des Untergrund-Systems, welches Pigmente parallel zum Wachstumsrand (entlang der Ortskoordinate x) der Schale ablagert. Eine Störung dieses Systems führt zur Ausbildung der weißen Dreiecke entlang der Zeitkoordinate t. Die parallelen dunkelbraunen Linien, in rot hervorgehoben, sind Resultat des Untergrund-Systems, welches Pigmente parallel zum Wachstumsrand (entlang der Ortskoordinate x) der Schale ablagert. Eine Störung dieses Systems führt zur Ausbildung der weißen Dreiecke entlang der Zeitkoordinate t.
  
 In grün hervorgehoben, sieht man, dass die parallelen Linien auch teilweise durch die weißen Dreiecke verlaufen, welches auf ein geschwächtes, aber nicht vollständig abgeschaltetes Untergrund-System hindeutet.\\ In grün hervorgehoben, sieht man, dass die parallelen Linien auch teilweise durch die weißen Dreiecke verlaufen, welches auf ein geschwächtes, aber nicht vollständig abgeschaltetes Untergrund-System hindeutet.\\
 Von der Vielzahl an Mustern, die in dem Buch mathematisch beschrieben werden, möchten wir uns an dieser Stelle der conus textile widmen, da Sie eine der spannendsten Muster zeigt. Alle Kegelschnecken, zu denen auch //c. textile// gehört, haben gemeinsam, dass das Wachstum der Schale am Rand der Schalenöffnung stattfindet.  Von der Vielzahl an Mustern, die in dem Buch mathematisch beschrieben werden, möchten wir uns an dieser Stelle der conus textile widmen, da Sie eine der spannendsten Muster zeigt. Alle Kegelschnecken, zu denen auch //c. textile// gehört, haben gemeinsam, dass das Wachstum der Schale am Rand der Schalenöffnung stattfindet. 
-Der Prozess der Musterbildung ist somit sowohl ein orts- als auch zeitabhängiger Prozess (x, t). +Der Prozess der Musterbildung ist somit sowohl ein orts- als auch zeitabhängiger Prozess (x, t), Abbildung 2
 Dies ist eine weitere Ähnlichkeit zu Walzenspieldosen, deren Melodie auch durch Orts- und Zeitkoordinaten bestimmt wird.  Dies ist eine weitere Ähnlichkeit zu Walzenspieldosen, deren Melodie auch durch Orts- und Zeitkoordinaten bestimmt wird. 
 Wenn dann die Pigmentablagerung während des Schalenwachstums von mehreren oszillierenden Systemen bestimmt wird, bilden sich komplexe Muster.  Wenn dann die Pigmentablagerung während des Schalenwachstums von mehreren oszillierenden Systemen bestimmt wird, bilden sich komplexe Muster. 
Zeile 37: Zeile 42:
 ====== Prozess ====== ====== Prozess ======
  
-**Schneckenauswahl**\\+====Schneckenauswahl====
 Zunächst haben wir geeignete Kegelschnecken (conus) ausgewählt, deren Schalen geeignete Muster aufweisen.  Zunächst haben wir geeignete Kegelschnecken (conus) ausgewählt, deren Schalen geeignete Muster aufweisen. 
-Dabei haben wir uns auf //c. textile//, //c. arenatus//, und //c. nussatella// geeinigt, da diese alle „Punktstrukturen“ zeigen, die sich gut mit unserem Python Algorithmus umsetzen lassen. +Dabei haben wir uns auf //C. textile//, //C. arenatus//, und //C. nussatella// geeinigt, da diese alle „Punktstrukturen“ zeigen, die sich gut mit unserem Python Algorithmus umsetzen lassen.  
 +Die Schnecken sind in Abbildung 4 zu sehen.
  
-**Photogrammetrie (Agisoft Metashape)**\\ +====Photogrammetrie (Agisoft Metashape)==== 
-Photogrammetrie ist ein Verfahren, in dem man Lage und Form eines Objekts durch das Zusammenfügen von Einzelaufnahmen in spezialisierten Programmen bestimmen kann.  +Photogrammetrie ist ein Verfahren, in dem man Lage und Form eines Objekts durch das Zusammenfügen von Einzelaufnahmen in spezialisierten Programmen bestimmen kann. Ähnlich wie wir mit unseren Augen durch triangulation Räumlichkeit wahrnehmen können, vergleichen wir mit dem Programm Agisoft Metashape pro Schnecke zwischen 40 und 150 Fotos von verschiedenen Perspektiven aufgenommen, durch charakteristische Punkte, sogenannte Keypoints aus mehreren Fotos erkannt werden. die zusammen das 3D Modell der Schnecke erstellen.  
-Ähnlich wie wir mit unseren Augen durch triangulation Räumlichkeit wahrnehmen können, vergleichen wir mit dem Programm Agisoft Metashape pro Schnecke zwischen 40 und 150 Fotos von verschiedenen Perspektiven aufgenommen, durch charakteristische Punkte, sogenannte Keypoints aus mehreren Fotos erkannt werden. die zusammen das 3D Modell der Schnecke erstellen. \\ +Praktisch werden die Schnecken mithilfe einer Drehbühne rundum aus mehreren Winkeln fotografiert. Aus den Bildern wird ein 3D-Objekt mit der Textur der Schnecken erstellt
-Praktisch werden die Schnecken mithilfe einer Drehbühne rundum aus mehreren Winkeln fotografiert.  +Dabei ist es wichtig, Spiegelungen zu vermeiden und bei der Drehung der Schnecken einen gleichtönigen Hintergrund zu haben, damit die Keypoints nur die der Schnecke aus diesen verschiedenen Perspektiven sind. 
-Aus den Bildern wird ein 3D-Objekt mit der Textur der Schnecken erstellt.+Dieser Teil erfordert am meisten Rechenleistung, die daraus entstehende 3D Modelle können aber dann beliebig weiterverarbeitet werden und wurden auch frei verfügbar auf Sketchfab hochgeladen.
  
-Dabei ist es wichtig, Spiegelungen zu vermeiden und bei der Drehung der Schnecken einen Gleichtönigen Hintergrund zu haben damit die Keypoints nur die der Schnecke aus diesen Verschiedenen Perspektiven sind. 
-Dieser Teil erfordert am meisten Rechenleistung, die daraus entstehende 3D modelle können aber dann beliebig weiterverarbeitet werden und wurden auch frei verfügbar auf Sketchfab hochgeladen.  
  
-**3D Modellierung und Projektion (Houdini und Blender)**\\ +====3D Modellierung und Projektion (Houdini und Blender)==== 
-Die 3D-Textur wird mittels zylindrischer Netzprojektion in eine 2D-Textur umgewandelt.  +Die 3D-Textur wird mittels zylindrischer Netzprojektion in eine 2D-Textur umgewandelt (Abbildung 3).  
-Dabei werden alle Schnecken in die gleiche Horizontale Orientierung gebracht, sodass auch der schnitt der Zylinderprojezierten Textur an der Lippe der Schnecke stattfindet, die Keine Muster aufweist.  +Dabei werden alle Schnecken in die gleiche horizontale Orientierung gebracht, sodass auch der Schnitt der Zylinder-projezierten Textur an der Lippe der Schnecke stattfindet, die keine Muster aufweist.  
-Es entsteht eine Quadratische png Bilddatei.+Es entsteht eine quadratische PNG-Bilddatei.
  
 {{ ss21:nussatella_neu.png?200x200 }} {{ ss21:nussatella_neu.png?200x200 }}
 +**Abbildung 3**: 2-D Textur //C. nussatella//
  
-**Bildbearbeitung (GIMP)**\\ +====Bildbearbeitung (GIMP)==== 
-Auf das Bild werden Filter wie Difference of Gaussians oder Sobel Edge detection angewandt, um die Punkt und Streifenmuster unabhänging von Ihrer Farbe und ohne kleineren Artefakten oder Verfärbungen hervorzuheben.  +Auf das Bild werden Filter wie Difference of Gaussians oder Sobel Edge detection angewandt, um die Punkt und Streifenmuster unabhängig von Ihrer Farbe und ohne kleineren Artefakten oder Verfärbungen hervorzuheben.  
-Dieses Bild wird dann mit der Threshold Funktion in ein Binäres Bild umgewandelt um einen maximal klaren Kontrast (schwarz-weiß) zu erhalten, der es dem Algorithmus erleichtert, die Konturen der Punkte zu erkennen.  +Dieses Bild wird dann mit der Threshold-Funktion in ein binäres Bild umgewandelt um einen maximal klaren Kontrast (schwarz-weiß) zu erhalten, der es dem Algorithmus erleichtert, die Konturen der Punkte zu erkennen.  
-Es werden interessante Teile des gesamten Musters ausgeschnitten, da das gesamte Muster zu viele Punkte (Noten) für einen klaren Klang enthält. +Es werden interessante Teile des gesamten Musters ausgeschnitten, da das gesamte Muster zu viele Punkte (Noten) für einen klaren Klang enthält.
  
-{{ss21:conus_arenatus_poster-001.png?250}} {{ss21:conus_nussatella_poster.png?250}} {{ss21:conus_textile_poster.png?250}}+{{ss21:conus_arenatus_poster-001.png?250}} {{ss21:conus_nussatella_poster.png?250}} {{ss21:conus_textile_poster.png?250}} \\
  
-**Computer Vision (Python und openCV)** \\ +**Abbildung 4**: Plakate der 3 Schnecken mit 3-D Modell2-D Textur (colored, S/W), farblich markierter Ausschnitt für Sonifizierung  
-OpenCV ist eine open-source librarydie mehrere unterschiedliche computer vision (= computerbasiertes Sehenalgorithmen enthält. Die in unserem Python Projekt verwendeten Algorithmen erlauben uns als Input verwendete Bilder zu bearbeitensowie Strukturen wie Punkte automatisch zu erkennen und eine Liste aller Punkte und ihrer Koordinaten zu erstellen, indem für jeden punkt deren bounding box erstellt wird.  +
-Die x- und y-Koordinaten des Zentrums der box werden jeweils als die Tonhöhe für an einem Bestimmten Zeitpunkt der Generierten Note übernommen, andere Eigenschaften wie zum Beispiel die vertikale Länge der Box bestimmen die Zeitdauer der jeweils generierten Note. +
  
-**Anpassung an eine Tonleiter**\\ 
-Würde man die Pixelkoordinaten des Bildes direkt als Noten übernehmen, würden fast alle Noten von der geringen Anzahl an Noten innerhalb einer Tonleiter abweichen. Wir wissen jedoch, dass verschiedene Kulturen mit Rücksicht auf Harmonisierung und andere akustische Effekte jeweils verschieden Tonleitern verwenden. Durch eine Quantisierung der x- und y-Koordinaten werden die Tonhöhen der einzelnen Noten an einer Auswahl an Tonleitern angepasst und Akkorde mit der Zeitlichen Quantisierung vermehrt. 
  
-In Anlehnung an die weiterverbreitung von Kegelschnecken bedienen wir uns bei der Vertonung der Schnecken unterschiedlicher Tonleiterndie über das europäische heptatonische System hinausgehenAusgewählt wurden folgende Tonleitern: +====Computer Vision (Python und openCV)==== 
-  Balafon +OpenCV ist eine Open-Source Bibliothek, die mehrere unterschiedliche computer vision (= computerbasiertes Sehen) Algorithmen enthält. Die in unserem Python Projekt verwendeten Algorithmen erlauben uns als Input Bilder zu bearbeitensowie Strukturen wie Punkte automatisch zu erkennen und eine Liste aller Punkte und ihrer Koordinaten zu erstellen, indem für jeden Punkt deren bounding box (umrahmende Box) erstellt wird.  
-  Pelog +Die xund y-Koordinaten des Zentrums der Box werden jeweils als die Tonhöhe für an einem bestimmten Zeitpunkt der generierten Note übernommen.  
-  - Western Major / Minor  +Andere Eigenschaften wie zum Beispiel die vertikale Länge der Box bestimmen die Zeitdauer der jeweils generierten Note.
-  - Arabic+
  
-**MIDIutil**\\ +====Anpassung an eine Tonleiter==== 
-Die Tabellarisch Aufgefassten Koordinaten der Punktmuster werden mit dem MIDIutil Python paket in eine MIDI datei umgewandelt+Würde die Pixelkoordinaten des Bildes direkt als Noten übernommen werden, würden fast alle Noten von der geringen Anzahl an Noten innerhalb einer Tonleiter abweichen.  
 +Wir wissen jedoch, dass verschiedene Kulturen mit Rücksicht auf Harmonisierung und andere akustische Effekte jeweils verschieden Tonleitern verwenden.  
 +Durch eine Quantisierung der x- und y-Koordinaten werden die Tonhöhen der einzelnen Noten an einer Auswahl an Tonleitern angepasst und Akkorde mit der zeitlichen Quantisierung vermehrt\\ 
 +In Anlehnung an die Weiterverbreitung von Kegelschnecken bedienen wir uns bei der Vertonung der Schnecken unterschiedlicher Tonleitern, die über das europäische heptatonische System hinausgehen. Ausgewählt wurden folgende Tonleitern: 
 +  - Balafon 1 
 +  - Asmaroneng Pelog 
 +  - Western A Major / Minor  
 +  - Arabic Rast on C 
 +  - Ionic 
 +  - Equal Temperament
  
-**GarageBand**\\+====MIDIutil==== 
 +Die Tabellarisch aufgefassten Koordinaten der Punktmuster werden mit dem MIDIUtil Python Paket in eine MIDI datei umgewandelt.  
 + 
 +====GarageBand====
 Im letzten Schritt ist der größte Interpretationsspielraum enthalten, da wir die erhaltenen MIDI-Dateien in Garage Band nach unserem subjektiven Geschmack mit Instrumenten und Modulationen ausstatten.  Im letzten Schritt ist der größte Interpretationsspielraum enthalten, da wir die erhaltenen MIDI-Dateien in Garage Band nach unserem subjektiven Geschmack mit Instrumenten und Modulationen ausstatten. 
-Dabei haben wir sowohl traditionelle als auch moderne synthetische Klänge benutzt, die das Muster der Muschel künstlerisch und pädagogisch als bestes wiedergeben können.  +Dabei haben wir Sowohl Traditionelle als auch moderne Synthetische Klänge benutzt, die das Muster der Muschel künstlerisch und pädagogisch am Besten wiedergeben können.  
-Bei feinen Mustern mit einer hohen Punktdichte eignen sich eher staccato Klänge, bei gröberen Mustern fließende Töne.  +Bei feinen Mustern mit einer hohen Punktdichte eignen sich eher Staccato Klänge, bei gröberen Mustern eher fließende Töne. 
  
 {{ ss21:poster.jpg }} {{ ss21:poster.jpg }}
-Abbildung: Prozess-Poster+**Abbildung 5**: Prozess-Poster
  
 ====== Material ====== ====== Material ======
-**Für eine Musikbox mit LED strip**\\+**Für eine Musikbox mit LED strip (Abbildung 6)**\\
   * Stepper Motor 28BYJ-48 with driver   * Stepper Motor 28BYJ-48 with driver
   * Arduino Nano   * Arduino Nano
Zeile 100: Zeile 111:
   * 5-12 V power adapter   * 5-12 V power adapter
   * Lötutensilien     * Lötutensilien  
-\\ + 
-**Gestaltung Musicbox**\\+**Gestaltung Musicbox (Abbildung 7)**\\
   * Draht   * Draht
   * Thermoplastic   * Thermoplastic
Zeile 113: Zeile 124:
  
 {{ ss21:bild4.png }} {{ ss21:bild4.png }}
-Abbildung: Arduino- und Schrittmotor-Verschaltung+**Abbildung 6**: Arduino- und Schrittmotor-Verschaltung
  
 {{ ss21:bild3.jpg }} {{ ss21:bild3.jpg }}
-Abbildung: Finale Musicbox+**Abbildung 7**: Finale Musicbox
  
 **GitHub Link**: https://github.com/dviladrich95/MuShell **GitHub Link**: https://github.com/dviladrich95/MuShell
Zeile 122: Zeile 133:
 ====== Fazit ====== ====== Fazit ======
  
-__//conus arenatus//__+====conus arenatus====
  
 {{ ss21:arenatus_thresh_strip_bend_a_minor_natural_equal_temperament_8_400_330bpm_bass.mp3 }} {{ ss21:arenatus_thresh_strip_bend_a_minor_natural_equal_temperament_8_400_330bpm_bass.mp3 }}
  
-Tonleiter: Western Minor \\+Tonleiter: Western Minor, Equal Temperament \\
 Instrument: Bass \\ Instrument: Bass \\
 bpm: 330 \\ bpm: 330 \\
-\\ + 
-__//conus nussatella//__+====conus nussatella====
  
 {{ ss21:nussatella_thresh_colored_1und2_arabic_rast_on_c_modern_1_8_120.mp3 }} {{ ss21:nussatella_thresh_colored_1und2_arabic_rast_on_c_modern_1_8_120.mp3 }}
  
-Tonleiter: Arabic \\+Tonleiter: Arabic Rast on C \\
 Instrument: Synthesizer \\ Instrument: Synthesizer \\
 bpm: 120 \\ bpm: 120 \\
-\\ 
-__//conus textile//__ 
  
 +{{ ss21:partitur.png }} 
 +**Abbildung 8**: Generierte Klavier-Partitur für //C. nussatella//
 +
 +\\
 +====conus textile====
 {{ ss21:conus_textile_lightbox_thresh_strip_dots_balafon_1_8_400_300bpm_piano.mp3 }} {{ ss21:conus_textile_lightbox_thresh_strip_dots_balafon_1_8_400_300bpm_piano.mp3 }}
  
-Tonleiter: Balafon \\+Tonleiter: Balafon \\
 Instrument: Piano \\ Instrument: Piano \\
 bpm: 300 \\ bpm: 300 \\
 +
 +
  • ss21/mushell.1636977856.txt.gz
  • Zuletzt geändert: 2021/11/15 13:04
  • von juju_kinha