Δευτέρα, 7 Μαΐου 2018

Φτιάχνοντας ένα bytebeat plugin για το VCVRack


Το VCVRack του Andrew Belt είναι μια εξαιρετική πλατφόρμα για να φτιάξει κανείς ηλεκτρονική μουσική. Είναι ένα εικονικό αρθρωτό συνθεσάϊζερ (virtual modular synthesizer) που σου επιτρέπει να συνδέσεις αρθρώματα (modules) με εικονικά καλώδια και να φτιάξεις μουσική. Το καλύτερο με αυτό είναι ότι είναι λογισμικό ελεύθερου / ανοικτού κώδικα (open source software). Έτσι μπορείς πραγματικά εύκολα να φτιάξεις ένα module που να παράγει ήχους. Έτσι λοιπόν αποφάσισα να φτιάξω και εγώ ένα τέτοιο άρθρωμα το οποίο υλοποιεί ένα bytebeat javascript ταλαντωτή. Ώπα, τι είναι αυτό; Παλιότερα (το 2016) είχα ασχοληθεί με το bytebeat που είναι ουσιαστικά η παραγωγή μουσικής χρησιμοποιώντας κώδικα σε C και σε Javascript. Περισσότερα για το bytebeat μπορείτε να βρείτε εδώ: https://www.reddit.com/r/bytebeat/ και κυρίως εδώ: http://countercomplex.blogspot.gr/2011/10/algorithmic-symphonies-from-one-line-of.html http://countercomplex.blogspot.gr/2011/10/some-deep-analysis-of-one-line-music.html Έτσι λοιπόν έφτιαξα ένα άρθρωμα που σου επιτρέπει να γράψεις σε javascript μια συνάρτηση f(t) πχ την: function f(t){var r= (([1.122,1.259,1.498,1.681,1.887][((t >> 12) ^ ((t >> 10)+ 3561)) %5]) * t & 128 | (([1.122,1.259,1.498,1.681,1.887][((t >> 11) ^ ((t >> 9) +2137)) %5]) * t) & ((t>>14)%120+8) | (t>>4) ); return r;} η οποία γυρνάει μια τιμή η οποία μετά πετσοκόβεται σε έναν 8-bit αριθμό που τελικά ακούγεται από τα ηχεία μας. Παρεπιπτόντως, η προηγούμενη συνάρτηση παράγει την σύνθεση μου Κινέζικα Παράθυρα -> http://bokontep.blogspot.gr/search/label/bytebeat Τον κώδικα του plugin μπορείτε να τον βρείτε εδώ αρχικά: https://github.com/bokontep/BokontepByteBeatMachine

Δεν υπάρχουν σχόλια:

Δημοσίευση σχολίου