Εργαστήριο 2 Μέρος 1 ο - βασικά αντικείμενα σύνθεσης ήχου στο Max (1) Ας δούμε πως μπορούμε να παράγουμε ήχο στο max από απλές γεννήτριες ήχου (ταλαντωτές). 1. Αντιγράψτε το παρακάτω: Ενεργοποιώντας τον ήχο (πατάμε στο ηχείο με το patch κλειδωμένο) ακούμε ένα ημίτονο με συχνότητα 440Hz. 2. Με το [flonum] (σαν το number box που ξέρουμε αλλά με δεκαδικά ψηφία) πάνω από το [cycle~], μπορούμε να αλλάζουμε τη συχνότητα του ταλαντωτή. Ένα χρήσιμο αντικείμενο είναι το [gain~], το οποίο ελέγχει την ένταση όπως ακριβώς ένα fader σε μια κονσόλα. 3. προσθέστε ένα [gain~] στο patch σας. Κρατήστε και τα δύο στάδια ελέγχου της έντασης ([*~] και [gain~]), θα τα χρειαστούμε. Και τα δύο αντικείμενα κάνουν την ίδια δουλειά (πολλαπλασιάζουν κάθε δείγμα (sample) του σήματός μας επί κάποια τιμή ώστε να αλλάξουν την έντασή του. Το [gain~] απλά έχει και γραφικό περιβάλλον (fader) το οποίο μπορούμε εύκολα να ελέγξουμε με midi τιμές (0-127). Είναι σημαντικό να καταλάβετε και τους δύο τρόπους. 4. Παίξτε με το fader. Παρατηρήστε ότι οι τιμές στο number box είναι από 0 ως 158. Το 128 είναι το unity gain (0dB Fs) από εκεί και πάνω ενισχύουμε τον ήχο. Δείτε το help του για περισσότερες λεπτομέρειες. 1
5. Δημιουργήστε μια περιβάλλουσα (envelope) όπως είχαμε κάνει στο προηγούμενο εργαστήριο, με τη χρήση των αντικειμένων [function] και [line~] να ελέγχουν τον πολλαπλασιασμό. Δείτε τις σημειώσεις του προηγούμενου μαθήματος (2 volume envelope.maxpat).. Λύση: Με έναν αντίστοιχο τρόπο μπορείτε να ελέγξετε δυναμικά (με περιβάλλουσα) και τη συχνότητα του [cycle~] 6. Βρείτε έναν τρόπο να το κάνετε. ΣΗΜ: α) το [cycle~] μπορεί να δεχτεί και σήμα στην αριστερή είσοδό του (το flonum όχι), άρα μπορείτε να συνδεσετε [line~] β) Θα πρέπει να προσαρμόσετε τις τιμές του άξονα ψ στο [function] ώστε να δίνετε λογικές τιμές για τη συχνότητα (πχ. 100 5000Hz). Αυτό γίνεται από το inspector του (παράμετρος Lo and Hi Display Range) γ) θέλετε να τριγκάρετε και τις δύο περιβάλλουσες ταυτόχρονα (με το ίδιο [button]).. Λύση: 2
Μέρος 2 ο keyboard control Αντί να ελέγχουμε τη συχνότητα του ταλαντωτή μας με Hz, πιο εύχρηστο είναι να την ελέγχουμε με νότες από ένα keyboard. 1. Αντιγράψτε το παρακάτω ΣΗΜ: στο [kslider] (= το keyboard του max) όσο πιο ψηλά πατήσετε στο πλήκτρο, τόσο μεγαλύτερο είναι το velocity. 2. Προσθέτοντας και την περιβάλλουσα της έντασης του 1 ου μέρους, σκεφθείτε πως θα γίνει η μέγιστη ένταση της νότας μας να καθορίζεται από το velocity του keyboard.... 2 πιθανές λύσεις: 3
(Παρένθεση) Με το μήνυμα setrange στο δεύτερο τρόπο, αλλάζουμε τις ρυθμίσεις του αντικειμένου χωρίς τη χρήση του inspector. Υπάρχουν διάφοροι τρόποι για να δούμε όλα τα μηνύματα που δέχεται ένα αντικείμενο. Ένας είναι... κάνοντας δεξί κλικ στην αριστερή είσοδο ενός αντικειμένου εμφανίζεται το παραπάνω παράθυρο από όπου μπορούμε να επιλέξουμε το μήνυμα που θέλουμε. 4
...Συνέχεια - Προσθετική σύνθεση ήχου Μέχρι στιγμής έχουμε ένα synth που έχει μόνο μια αρμονική. Προσθέτοντας έξτρα ζευγάρια ταλαντωτή περιβάλλουσας μπορούμε να δημιουργήσουμε ένα απλό προσθετικό synthesizer. Η προσθετική σύνθεση (additive synthesis) είναι μια μέθοδος σύνθεσης ήχου που λειτουργεί βασισμένη στην αρχή ότι όλοι οι ήχοι αποτελούνται από (πολλές) αρμονικές. Αν λοιπόν προσθέσουμε (= μιξάρουμε) αρκετές αρμονικές (οι οποίες μπορούν να παραχθούν από ταλαντωτές) μπορούμε να δημιουργήσουμε οποιονδήποτε ήχο! Δείτε παραπάνω τη φασματική ανάλυση μιας νότας πιάνου. Στον άξονα χ έχουμε χρόνο, στον ψ συχνότητα. Παρατηρήστε ότι κάποιες αρμονικές εμφανίζονται μόνο στην ατάκα του ήχου ενώ γενικά οι ψηλές σβήνουν πιο γρήγορα από τις χαμηλές. Το αρμονικό περιεχόμενο των μουσικών οργάνων είναι αυτό που καθορίζει τη χροιά τους και γενικά δεν είναι σταθερό στο χρόνο, όπως φαίνεται και στο παραπάνω παράδειγμα. Άρα καλό θα είναι σε κάθε ταλαντωτή (που παράγει μια αρμονική) να έχουμε τη δυνατότητα να αλλάζουμε την περιβάλλουσά του ξεχωριστά. 3. Ας δημιουργήσουμε λοιπόν μια δεύτερη αρμονική. Πριν από αυτό όμως ας συμμαζέψουμε λίγο τον ταλαντωτή μας. Επιλέξτε τα στοιχεία του ταλαντωτή-περιβάλλουσας (χωρίς το [function]) και πηγαίνετε στο μενού Edit>Encapsulate για να τα βάλουμε σε ένα subpatcher. 5
à Αυτό που κάναμε είναι να βάλουμε τα επιλεγμένα αντικείμενα σε ένα υπό-patch, ένα κουτί για το μηχανισμό μας. Ανοίξτε (διπλό κλικ με το patch κλειδωμένο) το αντικείμενο [p] (αλλιώς [patcher]) που δημιουργήθηκε και δείτε τα περιεχόμενά του. Είναι τα ίδια με πριν, με την προσθήκη κάποιων αντικειμένων για τις εισόδους/εξόδους του subpatch. Καλό είναι να του δώσουμε ένα όνομα ώστε να θυμόμαστε τι κάνει, πχ όνομα είναι argument. (oscillator-envelope), προσέξτε το κενό, το 4. Δημιουργήστε ένα αντίγραφο (copy - paste ή duplicate (cmd/ctrl-d)) του συστήματος ταλαντωτή-περιβάλλουσας (μαζί με τον γραφικό έλεγχό της, το [function] και τη συνολική ένταση του ταλαντωτή [gain~]). 6
Άσκηση 1. Με τον ίδιο τρόπο δημιουργήστε 4 ακόμα αρμονικές (σύνολο 6). Αυτές θα πρέπει να είναι πολλαπλάσια της θεμελίου ώστε το αρμονικό περιεχόμενο του ήχου μας να είναι σταθερό ανεξάρτητα από τη νότα που παίζουμε στο keyboard. Τα πολλαπλάσια αυτά να είναι μεταβλητά (πχ. με ένα [flonum]) ώστε να έχουμε ευελιξία στο ποιες θα είναι αυτές οι αρμονικές. 2. Προσθέστε ένα αντικείμενο [preset] στο patch σας ώστε να μπορείτε να αποθηκεύετε ρυθμίσεις του synth που έχετε φτιάξει. (θυμηθείτε τη χρήση του αντικείμενου από τις Ειδικές Εφαρμογές Πληροφορικής δεν το συνδέουμε πουθενά, με shift-κλικ στα κυκλάκια αποθηκεύει, με σκέτο κλικ ανακαλεί) 3. Αλλάζοντας τις αρμονικές σχέσεις, τα σχήματα στις περιβάλλουσες και τις σχετικές εντάσεις των αρμονικών, εξερευνήστε τις δυνατότητές σύνθεσης διαφορετικών ήχων του synth σας και αποθηκεύστε τουλάχιστον 8 τέτοιους ήχους στο αντικείμενο [preset]. Αποθηκεύστε το patch ως ergasia2-additive_to_onoma_sas_am. 7