MUSIC TECHNOLOGY AND PRODUCTION ADVANCED PRACTICE AND ENTERPRISE
Ambient Synchrony
ONE DRIVE: https://amcstudent-my.sharepoint.com/:f:/g/personal/spapairakli22b_amcstudent_edu_gr/EoHwsWX-BU9KmQDouEEDRo0BGxkiGbqKPNY-WYnxhNkqVQ?e=zNXUJp
SOUNDCLOUD: Ambient Synchrony
YOUTUBE: https://youtu.be/gSS-D85Bcw8?si=q2awaxTk6LYEDFjg
BANDCAMP: Ambient Synchrony
Ανάλυση Κεντρικής Ιδέας
Η παρούσα εργασία είναι η δημιουργία ενός live performance. Η μουσική έχει ambient χαρακτήρα και δημιουργήθηκε μέσω του Ableton Live. Επίσης, χρησιμοποιήθηκε το Arduino για τον έλεγχο μιας MIDI-controlled LED strip, η οποία συγχρονίστηκε με το SynthI και συγχρονίστηκε με τα πλήκτρα. Το Resolume χρησιμοποιήθηκε ως background και οπτικά εφέ, τα οποία αντέδρασαν με το MIDI και με το Ableton.
Θέματα Μελέτης
Σε αυτό το live performance συνδυάστηκαν η μουσική, ο φωτισμός και τα οπτικά εφέ. Τα θέματα μελέτης του project είναι τα εξής:
· Στο Performance Technologies υπήρξε αυτοσχεδιασμός. Δημιουργήθηκε ένα μέρος της μουσικής σε πραγματικό χρόνο.
· Στο Interactive Audio & Visual Tools περιλαμβανόταν ο έλεγχος μιας MIDI-controlled LED strip μέσω Arduino, ώστε ο φωτισμός να συγχρονιστεί με το MIDI. Το Resolume χρησιμοποιήθηκε για την προβολή οπτικών εφέ που επηρεάστηκαν από MIDI σήματα και η μουσική δημιουργήθηκε στο Ableton.
· Στο Composition & Design, υπήρξε σύνθεση ambient μουσικής και sound design.
· Στο Acoustic Cyberspace δημιουργήθηκε soundscape και ambient ατμόσφαιρα.
· Τέλος, στο Aesthetics η δημιουργία βασίστηκε σε ambient ηχοτοπία, minimal φωτισμό και οπτικά εφέ.
Ανάλυση Εξοπλισμού
- Mac M3 (Ableton Live, Arduino, Resolume)
- Yamaha PSR-S650 (Electronic Keyboard)
- AKAI Professional MPK Mini MK3 (MIDI Controller)
- Arduino Leonardo (Για τον έλεγχο της LED strip μέσω Keyboard)
- LED strip (SMD 5050, 36W/m, 144LED/m, WS2812/SK6812, DC 5V, RGB)
- Jumper Wires M/M (Σύνδεση εξαρτημάτων)
- Ένα micro USB για σύνδεση board-laptop
- Ένα MIDI to USB cable για σύνδεση MIDI-laptop
Στόχοι - Βήματα
Ο βασικός στόχος του project είναι η δημιουργία ενός live ambient performance, όπου ο ήχος, ο φωτισμός και τα visuals συνδυάζονται σε πραγματικό χρόνο. Οι στόχοι είναι η σύνθεση ambientμουσικής ο συγχρονισμός των Led strips και τον visuals με τον ήχο.
Στόχοι
- Σύνθεση ambient μουσικής σε real time.
- Συγχρονισμός LED strips με το synth μέσω Arduino.
- Ανάπτυξη visual στο Resolume που αντιδρούν μέσω Ableton.
Βήματα
29/3/2025
Άρχισα με την υλοποίηση του Arduino.
Έψαξα διαφορά βίντεο με ενωση Arduino και led και synth. Είναι τα παρακατω
https://www.youtube.com/playlist?list=PLGSfPwCspK8asmtxayTsUdgZbCWNd9IbO
https://www.youtube.com/watch?v=5VdeOb7PoQc
Και κατέληξα να κινηθώ με αυτό:
https://youtu.be/Rro5a_ohIT4?si=IuVMC0mq7xwzAjoX
Αρχικά, τα υλικά που χρησιμοποιήθηκαν για το πρότζεκτ ήταν τα εξής:
- Arduino Leonardo board
- WS2812/SK6812 LED Strips 144 LEDS/m
- Ένα micro USB για σύνδεση board-laptop
- Ένα MIDI to USB cable για σύνδεση MIDI-laptop
- Dupont/Jumper wires
Ο κώδικας που χρησιμοποίησα και προσάρμοσα για τις ανάγκες της εργασίας βρίσκεται σε αυτό το GitHub:
https://github.com/serifpersia/pianolux-arduino
Πρόκειται για μια υλοποίηση που εκτός από κώδικα για Arduino, περιλαμβάνει και μια Java εφαρμογή η οποία επιτρέπει στον χρήστη να συνδέσει laptop, Arduino board και πιάνο και να πειραματιστεί με τις ρυθμίσεις των LEDs μεταβάλλοντας τη φωτεινότητα, τα χρώματα, το animation κλπ. Λειτουργεί δηλαδή ως LED Visualizer.
Για να μπορώ να τρέξω την εφαρμογή, χρειάστηκε να εγκαταστήσω Java στο laptop μου που έχει MacOS. Πιο συγκεκριμένα, κατέβασα ένα παλιότερο Java version, το Java 17.0.7 από το site της Oracle:
https://www.oracle.com/java/technologies/javase/jdk17-archive-downloads.html
Στη συνέχεια για να ολοκληρωθεί η εγκατάσταση της Java στο laptop μου, προσάρμοσα το path μου από το terminal του Mac ώστε να βάλω τη μεταβλητή JAVA_HOME στο path. Αυτό έγινε δημιουργώντας ένα .zshrc αρχείο το οποίο περιλαμβάνει τις εξής εντολές:
export JAVA_HOME=$(/usr/libexec/java_home -v 17.0.7)
export PATH=$JAVA_HOME/bin:$PATH
https://youtu.be/hIikXmXQpD4?si=zWDeterks-JXtUfj9pI
Επίσης, στο Arduino IDE έκανα την επεξεργασία και την εκτέλεση του κώδικα για το Arduino LeonardoBoard καθώς και το latest release της εφαρμογής PianoLux από το GitHub που ανέφερα παραπάνω.
Έκανα τη σύνδεση του LED strip με το Arduino board ακολουθώντας την εξής συνδεσμολογία:
Έπειτα, άνοιξα τα αρχεία της εφαρμογής PianoLux στο Arduino IDE και εγκατέστησα τη βιβλιοθήκη FastLED που είναι απαραίτητη για τον προγραμματισμό του addressable LED strip, σύνδεσα laptop και board μέσω USB, ρύθμισα κατάλληλα τα ports και τσέκαρα για επικοινωνία laptop με Arduino boardχρησιμοποιώντας ένα basics Blink example.Τέλος, προσάρμοσα κάποια σημεία του κώδικα ώστε να ταιριάζουν με το δικό μου LED strip και έκανα Verify και Upload τον κώδικα του αρχείου Arduino_PianoLux.ino στο Arduino Board.
Μετά και από τη σύνδεση laptop-MIDI, το setup ήταν έτοιμο για να τεστάρω αν δουλεύει ο κώδικας με τα LEDs και το piano. Λόγω του λειτουργικού Mac OS που έχει το laptop μου, μετά από κάποιες αποτυχημένες απόπειρες όπου υπήρχε πρόβλημα επικοινωνίας μεταξύ board και laptop, συνειδητοποίησα ότι η PianoLux εφαρμογή τρέχει σωστά αν ξεκινήσω τη Java εφαρμογή από το terminal του Mac χρησιμοποιώντας την εντολή sudo για δικαιώματα διαχειριστή:
sudo java -jar /Users/sofiapapairakli/Desktop/PianoLux-arm64/PianoLuxv4.3.9-arm64.jar
Με την εκτέλεση αυτής της εντολής ξεκινάει να τρέχει η εφαρμογή PianoLux και αφού ρυθμίσω σωστά τα ports και τοποθετήσω το LED strip στη σωστή θέση, μπορώ να παίξω piano και τα αντίστοιχα LEDs να ανάβουν κάθε φορά. Για τον τερματισμό της εφαρμογής πατάω στο terminal Ctrl + C.
Ήθελα το βίντεο που θα συνοδεύει το live performance να είναι θεματικά σχετικό με το διάστημα. Έτσι, το πρώτο βήμα ήταν η αναζήτηση και επιλογή των βίντεο που θα χρησιμοποιούσα.
Μόλις βρήκα τα κατάλληλα βίντεο, ξεκίνησα να στήνω το project. Το main video ήταν ένας πλανήτης. Για τους υπόλοιπους ήχους που είχα ήδη προσθέσει στην μουσική (glitches, κιθάρα, και space ship) αντιστοίχισα και τα visuals, ώστε να παίζουν κάθε φορά που ακούγεται ο αντίστοιχος ήχος:
Έπειτα πήγα στο Ableton και δημιούργησα MIDI κανάλια με διαφορετικά MIDI channels και στο "MIDI To" επέλεξα το IAC Driver. Στα MIDI κανάλια δημιούργησα κενά MIDI clips και έβαλα σημεία/ενέργειες για να επηρεάζουν τα visuals στο Resolume.
Μόλις ολοκλήρωσα έκανα το mapping, αλλά επισης έκανα mapping ενός knob από το MIDI keyboard μου για να ελέγχω ενα glitch video μεσω απο τα FX που θα ελέγχω live.
Μόλις ολοκλήρωσα όλα τα tasks του project, στο live performance.
Την ημέρα του performance ξεκίνησα το στήσιμο του εξοπλισμού και άρχισα να κάνω πρόβες, ώστε να δω πως όλα λειτουργούν σωστά και συγχρονισμένα τόσο στον ήχο όσο και στα visuals. Έλεγξα τις συνδέσεις μεταξύ Ableton, Arduino, και Resolume, καθώς και τις αντιδράσεις των εφέ σε πραγματικό χρόνο. Μέσα από αυτές τις δοκιμές, επιβεβαίωσα ότι όλα ανταποκρίνονται όπως το είχα σχεδιάσει.





















Σχόλια
Δημοσίευση σχολίου