Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen Revision Vorhergehende Überarbeitung Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
ss21:mushell [2021/11/15 12:51] – juju_kinha | ss21:mushell [2022/02/18 10:13] (aktuell) – amichel92 | ||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
+ | ====== MuShell ====== | ||
+ | Ein Projekt von Daniel Viladrich Herrmannsoerfer, | ||
+ | |||
+ | |||
====== 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: | {{ ss21: | ||
+ | **Abbildung 1**: Aufbau der MuShell-Musicbox, | ||
====== 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: | + | In seinem Buch „The algorithmic beauty of sea shells”, liefert Hans Meinhardt folgenden Erklärungsansatz: |
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: | {{ ss21: | ||
- | Abbildung: Schale einer //c. textile// | + | **Abbildung |
Die parallelen dunkelbraunen Linien, in rot hervorgehoben, | Die parallelen dunkelbraunen Linien, in rot hervorgehoben, | ||
In grün hervorgehoben, | In grün hervorgehoben, | ||
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, | 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, | ||
- | 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, | Dies ist eine weitere Ähnlichkeit zu Walzenspieldosen, | ||
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, | Zunächst haben wir geeignete Kegelschnecken (conus) ausgewählt, | ||
- | Dabei haben wir uns auf //c. textile//, //c. arenatus//, und //c. nussatella// | + | Dabei haben wir uns auf //C. textile//, //C. arenatus//, und //C. nussatella// |
+ | 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, |
- | Ä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, | + | 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, |
- | 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, | ||
- | **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 |
- | Dabei werden alle Schnecken in die gleiche | + | Dabei werden alle Schnecken in die gleiche |
- | Es entsteht eine Quadratische png Bilddatei. | + | Es entsteht eine quadratische PNG-Bilddatei. |
{{ ss21: | {{ ss21: | ||
+ | **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 | + | Auf das Bild werden Filter wie Difference of Gaussians oder Sobel Edge detection angewandt, um die Punkt und Streifenmuster |
- | Dieses Bild wird dann mit der Threshold Funktion in ein Binäres | + | Dieses Bild wird dann mit der Threshold-Funktion in ein binäres |
- | Es werden interessante Teile des gesamten Musters ausgeschnitten, | + | Es werden interessante Teile des gesamten Musters ausgeschnitten, |
- | {{ ss21: | + | {{ss21: |
- | \\ | + | |
- | **Computer Vision (Python und openCV)** \\ | + | |
- | OpenCV ist eine open-source library, die mehrere unterschiedliche computer vision (= computerbasiertes Sehen) algorithmen enthält. Die in unserem Python Projekt verwendeten Algorithmen erlauben uns als Input verwendete Bilder zu bearbeiten, sowie 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, | + | |
- | **Anpassung an eine Tonleiter**\\ | + | **Abbildung 4**: Plakate |
- | Würde man die Pixelkoordinaten des Bildes direkt als Noten übernehmen, | + | |
- | 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 | ||
- | - Pelog | ||
- | - Western Major / Minor | ||
- | - Arabic | ||
- | **MIDIutil**\\ | + | ====Computer Vision (Python und openCV)==== |
- | Die Tabellarisch Aufgefassten | + | OpenCV ist eine Open-Source Bibliothek, die mehrere unterschiedliche computer vision (= computerbasiertes Sehen) Algorithmen enthält. |
+ | Die x- und y-Koordinaten des Zentrums | ||
+ | Andere Eigenschaften wie zum Beispiel die vertikale Länge der Box bestimmen die Zeitdauer der jeweils generierten Note. | ||
- | **GarageBand**\\ | + | ====Anpassung an eine Tonleiter==== |
- | Im letzten Schritt ist der größte Interpretationsspielraum enthalten, da wir die erhaltenen MIDI-Dateien in Garage Band nach unserem subjektiven Geschmack | + | 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. |
- | Dabei haben wir sowohl traditionelle als auch moderne synthetische Klänge benutzt, | + | Wir wissen jedoch, dass verschiedene Kulturen |
- | Bei feinen Mustern mit einer hohen Punktdichte eignen sich eher staccato Klänge, | + | Durch eine Quantisierung der x- und y-Koordinaten werden |
+ | 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 | ||
+ | ====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. | ||
+ | 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 eher fließende Töne. | ||
{{ ss21: | {{ ss21: | ||
- | Abbildung: Prozess-Poster | + | **Abbildung |
====== 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 |
* Draht | * Draht | ||
* Thermoplastic | * Thermoplastic | ||
Zeile 113: | Zeile 124: | ||
{{ ss21: | {{ ss21: | ||
- | Abbildung: Arduino- und Schrittmotor-Verschaltung | + | **Abbildung |
{{ ss21: | {{ ss21: | ||
- | Abbildung: Finale Musicbox | + | **Abbildung |
**GitHub Link**: https:// | **GitHub Link**: https:// | ||
Zeile 122: | Zeile 133: | ||
====== Fazit ====== | ====== Fazit ====== | ||
+ | ====conus arenatus==== | ||
+ | |||
+ | {{ ss21: | ||
+ | |||
+ | Tonleiter: Western Minor, Equal Temperament \\ | ||
+ | Instrument: Bass \\ | ||
+ | bpm: 330 \\ | ||
+ | |||
+ | ====conus nussatella==== | ||
+ | |||
+ | {{ ss21: | ||
+ | |||
+ | Tonleiter: Arabic Rast on C \\ | ||
+ | Instrument: Synthesizer \\ | ||
+ | bpm: 120 \\ | ||
+ | |||
+ | {{ ss21: | ||
+ | **Abbildung 8**: Generierte Klavier-Partitur für //C. nussatella// | ||
+ | |||
+ | \\ | ||
+ | ====conus textile==== | ||
+ | {{ ss21: | ||
+ | |||
+ | Tonleiter: Balafon 1 \\ | ||
+ | Instrument: Piano \\ | ||
+ | bpm: 300 \\ | ||