Οδηγός Sonic Pi για μουσικούς και εφευρέτες - Μέρος πρώτο

Αγαπητοί γονείς και παιδιά,

Έχοντας ολοκληρώσει το πρώτο μισό του εργαστηρίου Ηλεκτρονικής Μουσικής, είναι ευκαιρία να συνοψίσουμε τις εντολές για τις οποίες έχουμε μιλήσει.

Το Sonic Pi είναι ένα περιβάλλον προγραμματισμού για μουσική και ήχο γενικότερα. Προγραμματισμός; Τι είναι αυτό; Προγραμματισμός είναι η διαδικασία με την οποία περιγράφουμε μια σειρά από ενέργειες που θέλουμε νε εκτελεστούν από τον υπολογιστή. Τι ενέργειες; αριθμητικές πράξεις, προβολή εικόνων ή βίντεο στην οθόνη, αναπαραγωγή ήχων, φόρτωση ιστοσελίδων στον browser κλπ.

Για να προγραμματίσουμε τον Η/Υ χρησιμοποιούμε μια Γλώσσα Προγραμματισμού. Υπάρχουν πάρα πολλές γλώσσες προγραμματισμού, η Logo, η Python, η C, η Java κλπ. Η προγραμματιστές γλωσσών σχεδιάζουν γλώσσες για διαφορετικούς σκοπούς: Οι πύραυλοι που εκτοξεύονται στο διάστημα για να βάλουν δορυφόρους σε τροχιά γύρω από την Γη προγραμματίζονται σε μια γλώσσα που ονομάζεται Ada. Τα παιχνίδια, όπως το Minecraft, φτιάχνονται με την C++ (προφέρεται “C plus plus”).

Στο Sonic Pi χρησιμοποιούμε τη γλώσσα Ruby.

Για να χρησιμοποιήσετε τα παραδείγματα σε αυτό τον οδηγό αντιγράψτε τα στο Sonic Pi στον υπολογιστή σας:

Μέσα στο Sonic Pi:

Βασικές εντολές

Τι έχουμε κάνει στο Sonic Pi μέχρι σήμερα; Έχουμε μάθει να παράγουμε ακολουθίες από μουσικούς τόνους με τις εντολές play και sleep. Ας παίξουμε μια απλή ακολουθία:

Πρόγραμμα 1

use_bpm 120

play 60
sleep 1
play 62
sleep 1
play 64
sleep 1
play 65
sleep 1
play 67
sleep 1
play 69
sleep 1
play 71
sleep 1
play 72
sleep 1

Η εντολή use_bpm μας επιτρέπει να πούμε στο Sonic Pi πόσο γρήγορα θέλουμε να παίζει τη μουσική μας. Απλά βάλτε έναν αριθμο και δείτε πως αλλάζει το τέμπο.

Μέχρι τώρα όλα καλά. Όμως με τόσους αριθμούς εγώ μπερδεύομαι. Υπάρχει ευκολότερος τρόπος; Ναι… μπορώ να χρησιμοποιήσω τα σύμβολα για τις νότες στα Αγγλικά: A B C D E F G.

Πρόγραμμα 2

use_bpm 120

play :c
sleep 1
play :d
sleep 1
play :e
sleep 1
play :f
sleep 1
play :g
sleep 1
play :a
sleep 1
play :b
sleep 2
play :c
sleep 1  

Το παίξατε; Μπράβο!!!

Η ακολουθία αυτή ήταν σαν να ανεβαίνουμε μια σκάλα. Τουλάχιστον έτσι το φαντάζομαι εγώ…

Ίσως προσέξατε ότι η τελευταία νότα, ακούστηκε σαν να πέσαμε απότομα από το πιο ψηλό σκαλοπάτι κάτω στο πάτωμα. Άουτς! Ξανατρέξτε το πρόγραμμα 2 και ακούστε προσεκτικά.

Πως θα κάνουμε την τελευταία νότα στο προηγούμενο πρόγραμμα να ακουστεί σαν η πιο ψηλή από όλες τις προηγούμενες; Θα κολήσουμε ένα “5” δίπλα στη τελευταία νότα:

play :c5

Ok. Τι σημαίνει ο αριθμός 5 στο σύμβολο “:c5”; Ας το δούμε με ένα πρόγραμμα:

Πρόγραμμα 3

use_bpm 120

use_synth :pluck

# Δεύτερη οκτάβα

play :c2
sleep 1
play :d2
sleep 0.5
play :e2
sleep 1
play :f2
sleep 0.5
play :g2
sleep 1
play :a2
sleep 0.5
play :b2
sleep 2

# Τρίτη οκτάβα

play :c3
sleep 1
play :d3
sleep 0.5
play :e3
sleep 1
play :f3
sleep 0.5
play :g3
sleep 1
play :a3
sleep 0.5
play :b3
sleep 1

# Μπορείτε να μαντέψετε πως θα γράψουμε την τέταρτη οκτάβα???
# play :c4

Άρα, όταν βάζουμε αριθμούς δίπλα σε μια νότα σημειώνουμε σε ποια οκτάβα θέλουμε να παιχτεί αυτή η νότα.

Στο τέλος του παραπάνω προγράμματος έχω γράψει κάποια σχόλια που ξεκινάνε με το σύμβολο #. Χρησιμοποιήστε αυτό το σύμβολο για να γράψετε τα δικά σας σχόλια στα προγράμματά σας.

Ακόμα, χρησιμοποίησα την εντολή use_synth για να αλλάξω το μουσικό όργανο. Το Sonic Pi έχει πολλά διαφορετικά όργανα που τα λέμε συνθεσάιζερ.

Moog

Επανάληψη στο Sonic Pi

Ωραία! Αν τα έχετε καταφέρει ως εδώ, μπράβο!!!

Έχουμε ακόμη πολλά πράγματα να κάνουμε. Ας δούμε κάτι πιο δύσκολο…

Πρόγραμμα 4

use_bpm 240

use_synth :fm

play :a2
sleep 1
play :e3
sleep 1
play :c3

Το παραπάνω πρόγραμμα παίζει τρεις νότες και μετά σταματάει. Αν θέλουμε να επαναλάβουμε αυτές τις τρεις νότες μπορούμε απλώς να τις ξαναγράψουμε:

Πρόγραμμα 5

use_bpm 240

use_synth :fm

play :a2
sleep 1
play :e3
sleep 1
play :c3
sleep 1

play :a2
sleep 1
play :e3
sleep 1
play :c3

Μέχρι εδώ όλα καλά. Τώρα, ας πούμε ότι θέλω να επαναλάβω το παραπάνω μοτίβο πολλές φορές, πάρα πολλές φορές, πάρα πάρα πολλές…

Ο πιο σύντομος και έξυπνος τρόπος για να κάνουμε πολλές επαναλήψεις στον Sonic Pi είναι να χρησιμοποιήσουμε τους μηχανισμούς N.times do, και live_loop.

Το παραπάνω πρόγραμμα μπορεί να ξαναγραφτεί ως εξής:

Πρόγραμμα 6

use_bpm 240

use_synth :fm

2.times do
	play :a2
	sleep 1
	play :e3
	sleep 1
	play :c3
	sleep 1
end

Πολλές φωνές μαζί

Πρόγραμμα 7

use_bpm 240

live_loop :bububam do
  use_synth :fm
  play :a2
  sleep 1
  play :e3
  sleep 1
  play :c3
  sleep 2
end

Στο παραπάνω πρόγραμμα χρησιμοποίησα την φόρμα live_loop και την ονόμασα :bububam. Μέσα στην live_loop έβαλα τις εντολές που παίζουν τις νότες μου. Φανταστείτε την live_loop σαν μια κατσαρόλα στην οποία ανακατεύουμε συνεχώς τα υλικά, καρότα, κολοκύθια, πατάτες κλπ.

Enormous pot

Τώρα, το κόλπο με την live_loop είναι ότι μπορούμε να την χρησιμοποιήσουμε για να παίζουμε πολλούς ήχους μαζί:

Πρόγραμμα 8

use_bpm 240

live_loop :bububam do
  use_synth :fm
  use_transpose 0 #5
  play :a2
  sleep 1
  play :e3
  sleep 1
  play :c3
  sleep 2
end

live_loop :doda do
  use_synth :pretty_bell
  play :e4
  sleep 2
  play :f4
  sleep 6
end

live_loop :wait do
  sample :loop_weirdo
  sleep 8
end

# Βάλτε τη δική σας live_loop από κάτω
# live_loop 

# end

Μπορείτε να σκεφτείτε τι άλλο θα μπορούσαμε να κάνουμε με τη live_loop; Αλλάξτε τα φώτα του παραπάνω προγράμματος και δείτε τι συμβαίνει.

Στο επόμενο μέρος αυτού του οδηγού θα μιλήσουμε για το πως μπορούμε να παίζουμε ηχογραφημένους ήχους με την εντολή sample, πως μπορούμε να βάλουμε ηχητικά εφφέ στους ήχους μας και άλλα συναρπαστικά πράγματα.

Μέχρι τότε, σας συνιστώ να χρησιμοποιήσετε τον οδηγό του Sonic Pi τον οποίο μπορείτε να βρείτε μέσα στο ίδιο το πρόγραμμα πατώντας το κουμπί Help πάνω δεξιά. Τον ίδιο οδηγό μπορείτε να βρείτε στη διεύθυνση https://sonic-pi.net/tutorial.html

Κατεβάστε το Sonic Pi από τη διεύθυνση: https://sonic-pi.net/

Τέλος, σας αφήνω με δυο ωραία video clips για να χορέψετε μόνοι σας, με τους γονείς σας και με τους φίλους σας: