Real-time sonification/el: Difference between revisions

From Soundscapes
Jump to navigation Jump to search
(Created page with "'''Οδηγίες βήμα προς βήμα (δείτε το βίντεο):'''")
(Created page with "Η λογική πίσω από αυτό το παράδειγμα είναι πολύ παρόμοια με την προηγούμενη. Ωστόσο, ένα επιπλέον κανάλι MIDI 10 (θα μπορούσε να είναι οποιοσδήποτε άλλος αριθμός μεταξύ 1 και 16) ορίζεται '''κατά την έναρξη''' ως μεταβλητή '''Instrument_2'''. Έτσι, οποιεσδήποτε αλλαγές σε αυτή...")
 
(16 intermediate revisions by the same user not shown)
Line 241: Line 241:
'''Οδηγίες βήμα προς βήμα (δείτε το βίντεο):'''
'''Οδηγίες βήμα προς βήμα (δείτε το βίντεο):'''


<div lang="en" dir="ltr" class="mw-content-ltr">
# Εγκαταστήστε την επέκταση MIDI για το Makecode (MIDI Extension [https://projectgus.github.io/hairless-midiserial/ Hairless MIDI]).
# Install the [https://makecode.microbit.org/pkg/microsoft/pxt-midi MIDI Extension] for Makecode.
# Δημιουργήστε ένα πολύ απλό πρόγραμμα χρησιμοποιώντας την επέκταση MIDI για να ελέγξετε τη ρύθμισή σας [https://makecode.microbit.org/_RKp9zi8Jw11L very basic program using the MIDI extension].
# Create a [https://makecode.microbit.org/_RKp9zi8Jw11L very basic program using the MIDI extension] to test your setup.
# Εγκαταστήστε το Hairless MIDI,[https://projectgus.github.io/hairless-midiserial/ Hairless MIDI], ανοίξτε το και από το αναπτυσσόμενο μενού «serial port» επιλέξτε τη θύρα COM (θύρα USB) στην οποία είναι συνδεδεμένο το micro:bit.
# Install [https://projectgus.github.io/hairless-midiserial/ Hairless MIDI], open it, and from serial port drop-down menu select the com port (USB port) to which the micro:bit is connected to.
# Εγκαταστήστε το loopMIDI, [https://www.tobias-erichsen.de/software/loopmidi.html loopMIDI], ανοίξτε το και κάντε κλικ στο κουμπί + στην κάτω αριστερή γωνία για να δημιουργήσετε μια νέα εικονική θύρα.
# Install [https://www.tobias-erichsen.de/software/loopmidi.html loopMIDI], open it, and click the '''+''' button at the bottom-left corner to create a new virtual port.
# Επιστρέψτε στο παράθυρο του HairlessMIDI και από το αναπτυσσόμενο μενού MIDI out επιλέξτε τη θύρα loopMIDI.
# Go back to the HairlessMIDI window and on the MIDI out drop-down menu select '''loopMIDI port'''
6. Ίσως χρειαστεί να αποσυνδέσετε και να συνδέσετε ξανά το micro:bit για να λειτουργήσει.
# You might need to unplug and plug in the micro:bit again for it to work.
7. Είστε έτοιμοι να παίξετε!
# You are ready to play!
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
'''Πώς λειτουργεί:''' Το micro:bit στέλνει μηνύματα MIDI μέσω σειριακής επικοινωνίας. Αυτά τα μηνύματα λαμβάνονται στη συνέχεια από το Hairless MIDI, το οποίο τα προωθεί στο LoopMIDI. Λειτουργώντας ως εικονική θύρα MIDI, το LoopMIDI καθιστά τα μηνύματα MIDI προσβάσιμα σε λογισμικό υπολογιστή/εφαρμογές ιστού (όπως DAW ή ψηφιακούς συνθεσάιζερ) που λαμβάνουν αυτά τα μηνύματα και παράγουν τους αντίστοιχους ήχους, ολοκληρώνοντας τη σύνδεση.
'''How it works:''' The micro:bit sends MIDI messages through serial communication. These messages are then received by Hairless MIDI, which forwards them to LoopMIDI. Acting as a virtual MIDI port, LoopMIDI makes the MIDI messages accessible to computer software/web apps (like DAWs or digital synthesizers) that receive these messages and generate the corresponding sounds, completing the connection.
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
Υπάρχουν πολλά δωρεάν (και μερικά ανοιχτού κώδικα, διαπλατφορμικά) DAW όπως το [https://lmms.io/ LMMS], που μπορείτε να κατεβάσετε και να ρυθμίσετε για να αναπαράγετε MIDI. Η ευκολότερη μέθοδος είναι να παίζετε απευθείας από τον browser μέσω μιας διαδικτυακής εφαρμογής όπως το [https://midi.city/ midi.city], το Online Sequencer  ([https://onlinesequencer.net/ Online Sequencer])  και πολλές άλλες που μπορείτε να ανακαλύψετε στο διαδίκτυο. Κατ' αρχήν, εφαρμογές ιστού όπως το midi.city θα ανιχνεύσουν αμέσως το MIDI όργανό σας (το micro:bit σε αυτή την περίπτωση) και θα είστε έτοιμοι να παίξετε αφού δώσετε στον πλοηγό άδεια πρόσβασης στη συσκευή σας (κάτι που θα σας ζητηθεί να κάνετε).
There are plenty of free (and some open-source, cross-platform) DAW stations like [https://lmms.io/ LMMS] that you can download and configure to play
MIDI input. The easiest method is to play directly from the browser through a web app such as [https://midi.city/ midi.city], the [https://onlinesequencer.net/ Online Sequencer] and many others to discover online. In principle, web apps such as midi.city will readily detect your midi instrument (the micro:bit in this case) and you are ready to play after giving the browser permissions to access your device (which you will be asked to do).
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
Το MIDI είναι ένα ισχυρό εργαλείο για ηχοποίηση, καθώς σας επιτρέπει να ελέγχετε ένα ευρύ φάσμα παραμέτρων ήχου, όπως το ύψος, την ένταση και το ηχόχρωμα. Αυτή η ρύθμιση επιτρέπει σε πολλά Microbits να στέλνουν δεδομένα MIDI σε έναν μόνο συνθεσάιζερ, επιτρέποντας τη συγχρονισμένη ηχοποίηση πολλαπλών ροών δεδομένων. Επιτρέπει επίσης σε ένα μόνο micro:bit να στέλνει δεδομένα MIDI μέσω πολλαπλών καναλιών MIDI.
MIDI is a powerful tool for sonification because it allows you to control a wide range of sound parameters, such as pitch, volume, and timbre. This setup allows for multiple Microbits to send MIDI data to a single synthesizer, enabling synchronized sonification of multiple data streams. It also  allows a single micro:bit to send  MIDI data over multiple MIDI chanels.
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
Σημείωση: Σε Linux εγκαταστήστε το ttymidi ([http://www.varal.org/ttymidi/ ttymidi]) αντί για τα hairlesMIDI και loopMIDI.
'''Note:''' On Linux install [http://www.varal.org/ttymidi/ ttymidi] instead of hairlesMIDI and loopMIDI.
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
<span id="Sensor_data_over_MIDI"></span>
==== Sensor data over MIDI ====
====Δεδομένα αισθητήρων μέσω MIDI====
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
Τα προηγούμενα παραδείγματα που χρησιμοποιούν δεδομένα αισθητήρων μπορούν να προσαρμοστούν ώστε να στέλνουν δεδομένα μέσω MIDI με την επέκταση Makecode MIDI, πράγμα που σημαίνει ότι οι ήχοι δεν θα αναπαράγονται στο micro:bit, αλλά μέσω ενός κατάλληλα διαμορφωμένου λογισμικού υπολογιστή ή διαδικτυακής εφαρμογής. Το παρακάτω παράδειγμα αντιστοιχίζει την '''ένταση του φωτός''' σε νότες MIDI και τις στέλνει μέσω του καναλιού MIDI 1.<ref name="code" group="Note"/>
Previous examples using sensor data can be adapted to send data over MIDI with the Makecode MIDI extension, meaning that the sounds will play not on the micro:bit but through a properly configured computer software/web application. The following example maps the '''light level''' to MIDI notes and sends them through MIDI channel 1 <ref name="code" group="Note"/>.
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
<div lang="en" dir="ltr" class="mw-content-ltr">
Line 282: Line 268:
</div>
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
'''Λεπτομερής εξήγηση του κώδικα:'''
'''Detailed explanation of the code:'''
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
Τα μπλοκ που βρίσκονται μέσα στο μπλοκ κατά την '''έναρξη''' εκτελούνται διαδοχικά πριν από οτιδήποτε άλλο στο πρόγραμμα, όταν ενεργοποιείται το micro:bit.
The blocks inside the '''on start''' block are evaluated sequentially before anything else in the program when the micro:bit is turned on.
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
# Εμφανίζουμε ένα όμορφο εικονίδιο μουσικής νότας στην οθόνη LED, απλώς για να το κάνουμε πιο ευχάριστο.
# Show a fancy musical note icon on the LED screen just to make it nicer.
# Ορίζουμε τη μεταβλητή '''Instrument_1''' στο '''κανάλι MIDI 1'''. Έτσι, οποιεσδήποτε αλλαγές στη μεταβλητή '''Instrument_1''' αντιστοιχούν σε ενέργειες στο κανάλι MIDI 1.
# Set the '''Instrument_1''' variable to '''midi channel 1'''. Thus any changes to the variable '''Instrument_1''' are actions on the MIDI channel 1.  
# Το '''midi use raw serial''' είναι αυτό που θα κάνει το micro:bit να «μιλήσει» στη συσκευή εξόδου MIDI.
# '''midi use raw serial''' is what will get the micro:bit to "talk" to the MIDI output device.
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
Τα μπλοκ μέσα στο μπλοκ '''για πάντα''' αξιολογούνται διαδοχικά σε έναν βρόχο από πάνω προς τα κάτω μετά την ακολουθία '''on start''':
The blocks within the block '''forever''' are evaluated sequentially in a loop from top to bottom after the '''on start''' sequence:
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
# Ορίστε τη μεταβλητή '''Note''' σε μια νότα MIDI αντιστοιχίζοντας το εύρος των πιθανών τιμών του '''επιπέδου φωτός''' στο επιλεγμένο εύρος MIDI 40 έως 85 (εντός 0 και 128) χρησιμοποιώντας το μπλοκ '''αντιστοίχισης''' (map).
# Set the '''Note''' variable to a MIDI note by mapping the '''light level''' range of possible values to the chosen MIDI range 40 to 85 (within 0 and 128) using the '''map''' block.
# Ορίστε την ένταση ήχου του ''''Instrument_1''' (στο κανάλι MIDI 1) στο 100.
# Set the sound volume of '''Instrument_1''' (on MIDI channel 1) to 100.
# Παίξτε τη νότα MIDI '''Note''' (μετρημένο επίπεδο φωτός αντιστοιχισμένο σε MIDI) με το '''Instrument_1''' (στο κανάλι MIDI 1).
# Play MIDI note '''Note''' (measured light level mapped to MIDI) with '''Instrument_1''' (on MIDI channel 1).
# Κάντε παύση για 250 ms.
# Pause for 250 ms.
# Σταματήστε την αναπαραγωγή της νότας MIDI '''Note'''.
# Stop playing the MIDI note '''Note'''.
# Παύση για 100 ms.
# Pause for 100 ms.
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
<span id="Using_multiple_MIDI_channels"></span>
==== Using multiple MIDI channels ====
====Χρήση πολλαπλών καναλιών MIDI====
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
Αυτό το παράδειγμα αντιστοιχίζει το '''επίπεδο φωτός''' στο MIDI και χρησιμοποιεί πολλαπλά κανάλια MIDI, επιτρέποντας στον χρήστη να επιλέξει να παίξει τις νότες είτε με ένα κουμπί είτε κουνώντας το micro:bit.<ref name="code" group="Note"/>.
This example maps the '''light level''' to MIDI and uses multiple MIDI channels allowing one to choose to play the notes either with a button or by shaking the micro:bit <ref name="code" group="Note"/>.
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
<div lang="en" dir="ltr" class="mw-content-ltr">
Line 323: Line 296:
</div>
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
'''Λεπτομερής εξήγηση του κώδικα:'''
'''Detailed explanation of the code:'''
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
Η λογική πίσω από αυτό το παράδειγμα είναι πολύ παρόμοια με την προηγούμενη. Ωστόσο, ένα επιπλέον κανάλι MIDI 10 (θα μπορούσε να είναι οποιοσδήποτε άλλος αριθμός μεταξύ 1 και 16) ορίζεται '''κατά την έναρξη''' ως μεταβλητή '''Instrument_2'''. Έτσι, οποιεσδήποτε αλλαγές σε αυτή τη μεταβλητή αντιστοιχούν σε ενέργειες στο κανάλι MIDI 10. Η αντιστοίχιση της έντασης φωτισμού με το MIDI εξακολουθεί να ορίζεται εντός του βρόχου, αλλά τα μπλοκ και οι παύσεις που σχετίζονται με το '''Instrument_1''' μετακινήθηκαν στο μπλοκ εισόδου '''κατά το πάτημα του κουμπιού B'''. Το μπλοκ εισόδου '''κατά την κίνηση''' απλώς επαναλαμβάνει τον ίδιο κώδικα για το '''Instrument_2'''. Σημειώστε ότι όταν παίζετε μια νότα, ανεξάρτητα από το επιλεγμένο όργανο, μια μουσική νότα εμφανίζεται και εξαφανίζεται από την οθόνη LED.
The logic behind this example is very similar to the previous one. However, an extra MIDI channel 10 (it could have been any other number between 1 and 16) is set '''on start''' as variable '''Instrument_2'''. Thus, any changes on this variable are actions on the MIDI channel 10. The mapping of the light level to MIDI is still set within the loop, but the '''Instrument_1''' related blocks and '''pauses''' were moved to the input block '''on button B pressed'''. The input block '''on shake''' just repeats the same code for '''Instrument_2'''. Note, that when you play a note, irrespectively of the instrument chosen, a musical note appears and disappears from the LED screen.
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
<span id="Notes"></span>
==Notes==
==Φθόγγοι (νότες)==
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
<div lang="en" dir="ltr" class="mw-content-ltr">
<references group="Note" />
<references group="Note" />
</div>
</div>

Latest revision as of 12:59, 2 April 2026

Η ηχοποίηση σε πραγματικό χρόνο είναι μια συναρπαστική τεχνική που μπορεί να ενισχύσει σημαντικά τη συμμετοχή των μαθητών στους τομείς STEAM. Η ηχοποίηση σε πραγματικό χρόνο σημαίνει ότι, λόγω της ταχύτητας της διαδικασίας, δεν μπορούμε να αντιληφθούμε το χρονικό διάστημα που μεσολαβεί μεταξύ της συλλογής των δεδομένων και της αντίστοιχης ήχου που παράγεται από τη συσκευή ηχοποίησης. Επιπλέον, οι μέθοδοι δημιουργίας ηχητικών αναπαραστάσεων των δεδομένων καθορίζονται ταυτόχρονα με τη συλλογή των δεδομένων (σε «πραγματικό χρόνο»).

Πριν ξεκινήσουμε, θέλουμε να τονίσουμε ότι η ποιότητα του ήχου, η οποία είναι υποκειμενική και επομένως εξαρτάται από το γούστο του χρήστη, πρέπει να είναι τέτοια ώστε τουλάχιστον να μην ενοχλεί τον χρήστη. Αντίθετα, θα είναι καλύτερα, αν είναι αρκετά ελκυστική ώστε να προσελκύει την προσοχή τού χρήστη. Από την άλλη πλευρά, όταν προσπαθούμε να κάνουμε κάτι «ευχάριστο», υπάρχει ο κίνδυνος να δημιουργηθούν ηχητικά αποτελέσματα που δεν εκπληρώνουν τον στόχο της καλής περιγραφής της συμπεριφοράς των δεδομένων εισόδου. Είναι επομένως απαραίτητο να βρεθεί ένας συμβιβασμός: ο ήχος πρέπει να είναι αρκετά ευχάριστος, αλλά και πλήρως ενημερωτικός.

Συσκευές Ηχοποίησης σε πραγματικό χρόνο

View of the micro:bit on the both sides
Ο μικροελεγκτής BBC micro:bit

Για τη δημιουργία μιας συσκευής ηχοποίησης σε πραγματικό χρόνο, είναι χρήσιμο να χρησιμοποιηθεί ένας μικροελεγκτής. Αυτοί είναι σαν «μικροί και απλοί υπολογιστές» με μία μόνο μονάδα επεξεργαστή. Ωστόσο, δεν είναι υπολογιστές. Η αρχιτεκτονική τους είναι πολύ απλούστερη και δεν μπορούν να εκτελέσουν λειτουργικό σύστημα. Παρ’ όλα αυτά, μπορούν να προγραμματιστούν ώστε να εκτελούν ένα μόνο πρόγραμμα κάθε φορά, το οποίο μπορεί να εκτελεί πολλαπλές εργασίες, αλλά διαδοχικά, σύμφωνα με τη σειρά των εντολών που αναφέρονται στο πρόγραμμα. Υπάρχουν διάφοροι τύποι μικροελεγκτών, με τον Arduino (arduino.cc) να είναι ο πιο δημοφιλής.

Αρχικά, το έργο SoundScapes προτείνει τη χρήση του μικροελεγκτή BBC micro:bit. Αυτό το εργαλείο είναι πολύ απλό στη χρήση, ευέλικτο και περιλαμβάνει διάφορους ενσωματωμένους αισθητήρες έτοιμους προς χρήση, εξαλείφοντας την ανάγκη κατασκευής ενός συγκεκριμένου ηλεκτρικού κυκλώματος για τη λειτουργία του. Το micro:bit μπορεί να προγραμματιστεί διαδικτυακά με το Makecode (χρησιμοποιώντας τον πλοηγό Chrome browser για καλύτερη συμβατότητα) σε python, javascript ή μπλοκς.

Ηχοποίηση με micro:bit

Πριν ξεκινήσετε την ηχοποίηση με το micro:bit, πρέπει πρώτα να εξοικειωθείτε με το περιβάλλον προγραμματισμού Makecode. Στην κεντρική σελίδα υπάρχουν διάφορα εκπαιδευτικά βίντεο, όπως το «Flashing Heart», το «Name Tag» κ.λπ., από τα οποία μπορείτε να επιλέξετε για να ξεκινήσετε. Εάν εγγραφείτε στην πλατφόρμα, τα έργα σας θα αποθηκευτούν στον λογαριασμό σας και θα μπορείτε να έχετε πρόσβαση σε αυτά από οποιαδήποτε συσκευή, αρκεί να συνδεθείτε. Διαφορετικά, αποθηκεύονται ούτως ή άλλως ως cookies, ωστόσο, μπορεί να τα χάσετε εάν καθαρίσετε την προσωρινή μνήμη του προγράμματος περιήγησής σας.

Έννοιες ήχου στο micro:bit

Στον επεξεργαστή Makecode, Makecode editor, υπάρχει μια χρήσιμη και ελκυστική βιβλιοθήκη αφιερωμένη στη μουσική, ειδικά για νεαρούς μαθητές. Αυτή η μουσική βιβλιοθήκη music library προσφέρει διάφορα μπλοκς που διευκολύνουν τη δημιουργία ήχων και μελωδιών. Υπάρχουν πολλά μπλοκς και συνδυασμοί μπλοκς που μπορείτε να χρησιμοποιήσετε για να δημιουργήσετε διαφορετικά είδη ήχων. Εδώ σας παρουσιάζουμε τα πιο βασικά μπλοκς και προχωράμε σε πιο σύνθετα παραδείγματα. Είναι μια καλή άσκηση να πειραματιστείτε με τα διαφορετικά μπλοκς και να ακούσετε τι συμβαίνει για να εξοικειωθείτε μαζί τους.

Δημιουργία ενός μεμονωμένου ήχου=

Δημιουργία ενός μεμονωμένου ήχου

Ο παρακάτω κώδικας δημιουργεί έναν μεμονωμένο ήχο με προκαθορισμένη συχνότητα «Μεσαίο Ντο» και διάρκεια 1 κτύπου όταν πατηθεί το κουμπί Α, ή έναν συνεχή ήχο «Μεσαίο Μι» όταν πατηθεί το κουμπί Β. Είναι δυνατό να αλλάξετε τη συχνότητα των τόνων, κάνοντας κλικ στα λευκά πεδία εισαγωγής με τις τιμές «Μεσαίο Ντο» και «Μεσαίο Μι». Από τα βέλη του αναπτυσσόμενου μενού, είναι επίσης δυνατό να αλλάξετε τη διάρκεια του παλμού του «Μεσαίου Ντο» καθώς και το αν ο ήχος θα αναπαραχθεί διαδοχικά με άλλα μπλοκς, στο παρασκήνιο ή σε επανάληψη. [Note 1].

Αναπαραγωγή μελωδίας

Για να αναπαράγετε μια μελωδία, χρησιμοποιήστε το παρακάτω σύστημα και κάντε κλικ πάνω του για να δημιουργήσετε τη μελωδία:

alt=Play melody block
alt=Play melody block

To παρακάτω παράδειγμα κώδικα αναπαράγει δύο μελωδίες με διαφορετικές τιμές χτύπων ανά λεπτό για τα κουμπιά A και B και σταματά όλους τους ήχους όταν πατηθούν ταυτόχρονα τα κουμπιά A και B. Μπορείτε να αλλάξετε τις μελωδίες κάνοντας κλικ στα λευκά πεδία εισαγωγής με τις πολύχρωμες μουσικές νότες. Όπως και στο προηγούμενο παράδειγμα, μπορείτε επίσης να αλλάξετε τη διάρκεια του ρυθμού και να ορίσετε αν ο ήχος θα αναπαραχθεί διαδοχικά με άλλα μπλοκς, στο παρασκήνιο ή σε επανάληψη.[Note 1]

Επεξεργασία της μεταβολής της συχνότητας, της κυματομορφής, της έντασης και της διάρκειας

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

alt=Complex sounds block
alt=Complex sounds block

Το παρακάτω παράδειγμα αναπαράγει δύο σύνθετους ήχους διαδοχικά, χωρίς διακοπή [Note 1]:

Ηχοποίηση μιας λογικής τιμής

Στην επιστήμη των υπολογιστών, ο τύπος δεδομένων Bool, ή λογικής, είναι μια θεμελιώδης πρωτότυπη τιμή που μπορεί να λάβει μία από τις δύο πιθανές τιμές: αληθής ή ψευδής, που συχνά αναπαρίστανται ως 1 ή 0. Για να απεικονίσουμε αυτή την έννοια, θα μετατρέψουμε σε ήχο τον απλούστερο τύπο δεδομένων, δεδομένων λογικής (του Bool). Συνηθισμένα παραδείγματα αισθητήρων που παράγουν λογικά δεδομένα περιλαμβάνουν αισθητήρες παρουσίας, αισθητήρες επαφής, διακόπτες και κουμπιά.

Το παρακάτω υλοποιεί τη μετατροπή ενός αισθητήρα Bool σε ήχο χρησιμοποιώντας το micro:Bit, εστιάζοντας συγκεκριμένα στο κουμπί Α. Όταν πατηθεί το κουμπί, θα ακούσουμε τη νότα Ντο, και όταν απελευθερωθεί, η νότα θα αλλάξει σε Φα. Αυτή η ακουστική ανατροφοδότηση παρέχει μια σαφή αναπαράσταση της κατάστασης του κουμπιού, ενισχύοντας την κατανόησή μας για τα δεδομένα Bool σε ένα πρακτικό πλαίσιο.[Note 1].

Λεπτομερής εξήγηση του κώδικα:

Τα μπλοκς αξιολογούνται διαδοχικά από πάνω προς τα κάτω μέσα στον βρόγχο «για πάντα», το οποίο επαναλαμβάνει την ακόλουθη ακολουθία αξιολόγησης έως ότου κάτι διακόψει το πρόγραμμα:

  1. Ορίστε τη μεταβλητή X στην κατάσταση του κουμπιού (αληθής ή ψευδής ανάλογα με το αν το ροζ κουμπί Α είναι πατημένο κατά τη στιγμή της επικύρωσης)
  2. Εάν η μεταβλητή/συνθήκη X δηλώνει το αληθές (το κουμπί είναι πατημένο), ήχος κλήσης (Hz), Μεσαίο Ντο, αλλιώς, ήχος κλήσης (Hz), Μεσαίο Μι

Ηχοποίηση εύρους τιμών (με αισθητήρες εισόδου)

Οι περισσότεροι αισθητήρες παρέχουν ένα εύρος τιμών, όχι μόνο 0 ή 1, οπότε πρέπει πρώτα να προσδιορίσουμε ποιές είναι οι χαμηλότερες και οι υψηλότερες πιθανές τιμές πριν ορίσουμε την αντιστοίχιση για τη μετατροπή σε ήχο. Αυτή η μεταβλητή είσοδος από τον αισθητήρα μπορεί να προέρχεται από τον αισθητήρα φωτεινότητας, το επιταχυνσιόμετρο, το μαγνητόμετρο, την ένταση του ήχου που καταγράφεται από το μικρόφωνο ή άλλους αισθητήρες που είναι συνδεδεμένοι στο micro:bit μέσω των ακίδων. Αυτά τα δεδομένα μπορούν εύκολα να συλλεχθούν από τον μικροελεγκτή.

Αλλαγή τόνου με σταθερό ρυθμό

Σε αυτό το παράδειγμα, δείχνουμε πώς να αντιστοιχίσουμε το επίπεδο φωτός σε ένα εύρος συχνοτήτων. Ο εσωτερικός αισθητήρας φωτός του micro:bit παρέχει μια τιμή μεταξύ 0 (σκοτεινό) και 255 (πολύ φωτεινό). Ονομάζουμε αυτή τη μεταβλητή εισόδου x. Ορίζουμε επίσης τις μεταβλητές x-Min και x-Max με τις ελάχιστες και μέγιστες τιμές του αισθητήρα μας. Με σκοπό την ηχοποίηση του μετρημένου επιπέδου φωτός, θα αντιστοιχίσουμε την τιμή του επιπέδου φωτός σε ένα ύψος μεταξύ 200 Hz (ελάχιστη τιμή) και 2000 Hz (μέγιστη τιμή), που παίζεται με σταθερό ρυθμό. [Note 1].

Λεπτομερής εξήγηση του κώδικα:

Τα μπλοκ που βρίσκονται μέσα στο μπλοκ «κατά την έναρξη» εκτελούνται διαδοχικά πριν από οτιδήποτε άλλο στο πρόγραμμα, όταν ενεργοποιείται το micro:bit.

  1. Ορίστε τη μεταβλητή x-Min στην χαμηλότερη δυνατή τιμή μέτρησης του επιπέδου φωτισμού, δηλαδή στο 0.
  2. Ορίστε τη μεταβλητή x-Max στην υψηλότερη δυνατή τιμή μέτρησης του επιπέδου φωτισμού, δηλαδή στο 255.

Τα μπλοκ μέσα στο μπλοκ «για πάντα» αξιολογούνται διαδοχικά σε έναν βρόχο από πάνω προς τα κάτω μετά την ακολουθία «κατά την έναρξη»:

  1. Ορίστε τη μεταβλητή x στο μετρημένο επίπεδο φωτός
  2. Παίξτε έναν ήχο ενός 1 χτύπου με συχνότητα που προκύπτει από την αντιστοίχιση της τιμής x (στο εύρος x-Min έως x-Max) στο επιλεγμένο εύρος συχνοτήτων στο μπλοκ «map».

Αλλαγή ρυθμού με σταθερό τόνο

Μια άλλη επιλογή είναι να διατηρηθεί ένας σταθερός τόνος ενώ μεταβάλλεται ο ρυθμός με βάση το επίπεδο φωτός. Αυτό μπορεί να επιτευχθεί παίζοντας μια νότα μικρής διάρκειας και εισάγοντας παύσεις που ποικίλλουν σε μήκος, κυμαινόμενες από 1000 ms (για συνθήκες σκοταδιού) έως 20 ms (για πολύ φωτεινές συνθήκες). Αυτή η προσέγγιση επιτρέπει μια δυναμική ακουστική αναπαράσταση των μεταβαλλόμενων επιπέδων φωτός.[Note 1]

Λεπτομερής εξήγηση του κώδικα:

Τα μπλοκ που βρίσκονται μέσα στο μπλοκ «κατά την έναρξη» εκτελούνται διαδοχικά πριν από οτιδήποτε άλλο στο πρόγραμμα, όταν ενεργοποιείται το micro:bit.

  1. Ορίστε τη μεταβλητή x-Min στην χαμηλότερη δυνατή τιμή μέτρησης του επιπέδου φωτός, δηλαδή στο 0.
  2. Ορίστε τη μεταβλητή x-Max στην υψηλότερη δυνατή τιμή μέτρησης του επιπέδου φωτός, δηλαδή στο 255.

Τα μπλοκ μέσα στο μπλοκ «για πάντα» αξιολογούνται διαδοχικά σε έναν βρόχο από πάνω προς τα κάτω μετά την ακολουθία «κατά την έναρξη»:

  1. Ορίστε τη μεταβλητή x στο μετρημένο επίπεδο φωτός.
  2. Παίξτε έναν ήχο Υψηλού Ρε ενός 1 χτύπου.
  3. Κάντε παύση για ένα διάστημα που υπολογίζεται από την αντιστοίχιση της τιμής x (στο εύρος x-Min έως x-Max) στο επιλεγμένο εύρος χρόνου στο μπλοκ «map».

Υπενθύμιση: Μπορείτε να αντικαταστήσετε το μπλοκ εισόδου στάθμης φωτός (input block) με οποιοδήποτε άλλο μπλοκ εισόδου αισθητήρα micro:bit input block (ή οποιουσδήποτε άλλους αισθητήρες συνδεδεμένους στο micro:bit μέσω των ακίδων) που παρέχει ένα εύρος τιμών. Απλά φροντίστε να επαναπροσδιορίσετε τις τιμές x-Min και x-Max αναλόγως, καθώς το επιταχυνσιόμετρο accelerometer και ο προσανατολισμός της πυξίδας compass, για παράδειγμα, λειτουργούν σε διαφορετικό εύρος.

Χρήση εξωτερικών αισθητήρων εισόδου

Για να χρησιμοποιήσετε έναν εξωτερικό ψηφιακό/αναλογικό αισθητήρα σε μια ακίδα micro ή χρησιμοποιώντας, για παράδειγμα, το πρωτόκολλο I2C (όλα αυτά τα μπλοκ βρίσκονται στις κατηγορίες για προχωρημένους), μπορείτε να χρησιμοποιήσετε τα ίδια προγράμματα, αλλά απλά αντικαταστήστε το μπλοκ εισόδου στάθμης φωτός με το αντίστοιχο μπλοκ ως εξής:

Digital read pin
Digital read pin
Analog read pin
Analog read pin
i2c
i2c

Προσοχή στον αριθμό ακίδας ή στη διεύθυνση i2c!

Πολλαπλές είσοδοι αντιστοιχισμένες σε έναν μόνο ήχο

Τα συστήματα ηχοποίησης συχνά χρησιμεύουν για την παροχή περισσότερων από μία πληροφοριών. Μπορούμε να αντιστοιχίσουμε τόσες μεταβλητές όσες είναι οι ηχητικές παράμετροι που μπορούμε να ελέγξουμε. Αρκεί ο ήχος να μην γίνεται δυσνόητος λόγω των πολλαπλών ηχητικών στρωμάτων που αναπαράγονται ταυτόχρονα. Αν λάβουμε υπόψη ότι μια φιλαρμονική ορχήστρα μπορεί να έχει πάνω από εκατό μέλη, διαθέτουμε κάποιο περιθώριο για την επικάλυψη αρκετών ήχων. Αντιθέτως στα οπτικά ερεθίσματα δεν μπορούμε να υπερβούμε έναν ορισμένο αριθμό, συνήθως μικρότερο από αυτόν των ηχητικών ερεθισμάτων. Τέλος, όπως και στην ορχήστρα, οι ήχοι πρέπει να συνδυάζονται προσεκτικά μεταξύ τους σε περίπτωση μεγάλου αριθμού.

Το παρακάτω ηχοποιeί το επίπεδο φωτός που αντιστοιχεί στο τονικό ύψος με μια παύση που ορίζεται από τον προσανατολισμό της πυξίδας που αντιστοιχεί σε χιλιοστά του δευτερολέπτου.[Note 1].

Η επέκταση ηχοποίησης SoundScapes για το micro:bit

Σε όλα τα προηγούμενα παραδείγματα, οι αριθμοί αντιστοιχίζονταν σε ένα συνεχές φάσμα συχνοτήτων, κάτι που είναι υπέροχο! Αλλά ακούγεται ελκυστικό; Για να βελτιώσετε την ακουστική εμπειρία, μπορείτε να αντιστοιχίσετε τους αριθμούς σε μια μουσική κλίμακα. Η επέκταση ηχοποίησης του SoundScapes for MakeCode micro:bit (SoundScapes) καθιστά αυτόν τον τύπο αντιστοίχισης εύκολο και προσιτό.

Ακολουθεί η διαδικασία εγκατάστασης της επέκτασης:

Install datalogger extension
Install datalogger extension

Αντιστοίχιση και αναπαραγωγή δεδομένων απευθείας από έναν αισθητήρα micro:bit

Για να αντιστοιχίσετε και να αναπαράγετε δεδομένα απευθείας από έναν αισθητήρα micro:bit, μπορείτε να χρησιμοποιήσετε το παρακάτω μπλοκ, το οποίο διαθέτει ένα αναπτυσσόμενο μενού για την επιλογή του αισθητήρα. Το εύρος εισόδου επιλέγεται αυτόματα ώστε να αντιστοιχεί στις ελάχιστες και μέγιστες τιμές που μπορούν να ληφθούν από τους αισθητήρες του micro:bit.

Αν και η σκληρή δουλειά γίνεται στα παρασκήνια, αυτό καθιστά για εσάς μεγαλύτερη πρόκληση να καινοτομήσετε στον τομέα της ηχοποίησης :)

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

Αντιστοίχιση και αναπαραγωγή μιας μεμονωμένης τιμής σε μουσική κλίμακα

Η συνάρτηση χαρτογράφησης επιστρέφει έναν ακέραιο αριθμό από την αντιστοίχιση ενός αριθμού σε ένα συγκεκριμένο εύρος [χαμηλό, υψηλό] σε μια καθορισμένη μουσική κλίμακα, σε έναν καθορισμένο αριθμό οκτάβων. Για παράδειγμα, το ακόλουθο παράδειγμα αντιστοιχίζει την τιμή του επιπέδου φωτισμού στο εύρος [0,255] στη Μεσαία Ντο Μείζονα σε μία οκτάβα και την αναπαράγει για 500 ms επ' αόριστον:

Μπορούν επίσης να χρησιμοποιηθούν και άλλοι αισθητήρες (συμπεριλαμβανομένων εξωτερικών αισθητήρων που συνδέονται μέσω ακίδων στο micro:bit) καθώς και διαφορετικά εύρη εισόδου. Αυτό είναι χρήσιμο για την ηχοποίηση σε πραγματικό χρόνο, όταν ηχοποιείτε τα δεδομένα την ίδια στιγμή που τα συλλέγετε.

Για παράδειγμα, το παρακάτω παράδειγμα αντιστοιχίζει την τιμή της έντασης φωτός στο εύρος [0,255] στη Μεσαία Ντο Μείζονα σε μία οκτάβα και την αναπαράγει για 500 ms συνεχώς:

Μπορούν επίσης να χρησιμοποιηθούν και άλλοι αισθητήρες (συμπεριλαμβανομένων εξωτερικών αισθητήρων που συνδέονται μέσω ακίδων στο micro:bit) καθώς και διαφορετικά εύρη εισόδου. Αυτό είναι χρήσιμο για την ηχοποίηση σε πραγματικό χρόνο, όταν ηχοποιείτε τα δεδομένα την ίδια στιγμή που τα συλλέγετε.

Αντιστοίχιση και αναπαραγωγή σε προσαρμοσμένη κλίμακα

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

Για παράδειγμα, το παρακάτω αντιστοιχίζει την τιμή του επιπέδου φωτός στο εύρος [0,255] στην αρμονική του μεσαίου Ντο σε μία οκτάβα και την αναπαράγει για 500 ms:

όπου το "Αρμονικό" (harmonic) είναι ένας πίνακας αριθμών που περιέχει τις αναλογίες συχνοτήτων της αρμονικής κλίμακας. Δεδομένου ότι κάθε νότα στην αρμονική κλίμακα απέχει ακριβώς μία οκτάβα από την προηγούμενη, η αλλαγή του αριθμού της οκτάβας σε αυτή τη συγκεκριμένη περίπτωση θα επεκτείνει απλώς το εύρος της αρμονικής σειράς.

Ηχοποίηση με MIDI (το micro:bit ως όργανο MIDI)

Ο ήχος που παράγει το ηχείο (βουζέρ) του micro:bit έχει μικρή ισχύ και δεν αναπαράγει χαμηλές συχνότητες. Το micro:bit έχει επίσης πολύ περιορισμένη ικανότητα να παράγει ταυτόχρονα πολλαπλούς ήχους και ήχους με πιο σύνθετα ηχοχρώματα. Στο τελευταίο παράδειγμα, χρησιμοποιήσαμε ένα «τέχνασμα» για να μετατρέψουμε σε ήχο τις τιμές πολλαπλών εισόδων. Χρησιμοποιήσαμε την παύση (διάρκεια σιωπής μεταξύ διαδοχικών ήχων) ως έξοδο ηχοποίησης. Έξυπνο, αλλά αυτό που θα μας άρεσε πραγματικά θα ήταν η ταυτόχρονη αναπαραγωγή πολλών ήχων που θα εξέφραζαν διάφορα επίπεδα δεδομένων. Μπορούμε να επιτύχουμε καλύτερη ποιότητα ήχου και να παίζουμε περισσότερα όργανα ταυτόχρονα χρησιμοποιώντας το πρωτόκολλο MIDI.

Το MIDI είναι ένα πρωτόκολλο που διευκολύνει την επικοινωνία σε πραγματικό χρόνο μεταξύ ηλεκτρονικών μουσικών οργάνων. Το MIDI σημαίνει Musical Instrument Digital Interface (Ψηφιακή Διεπαφή Μουσικών Οργάνων) και αναπτύχθηκε στις αρχές της δεκαετίας του ’80 για την αποθήκευση, την επεξεργασία, τη μεταποίηση και την αναπαραγωγή ακολουθιών ψηφιακών γεγονότων που συνδέονται με ηλεκτρονικά όργανα παραγωγής ήχου, ειδικά εκείνα που χρησιμοποιούν την χρωματική κλίμακα 88-φθόγγων ενός πληκτρολογίου πιάνου. Μπορούμε, σε γενικές γραμμές αλλά εύκολα, να κατανοήσουμε το MIDI ως τον προηγμένο διάδοχο των «πιανιστικών ρολών», τα οποία, πριν από περισσότερο από έναν αιώνα, ήταν διάτρητα χαρτιά ή κύλινδροι με καρφίτσες, στα οποία οι μουσικές εκτελέσεις είτε καταγράφονταν (σε πραγματικό χρόνο) είτε σημειώνονταν (σε βήματα). Αυτά τα ρολά χαρτιού αναπαράγονταν στη συνέχεια αυτόματα από ειδικά σχεδιασμένα μηχανικά όργανα, τα μηχανικά πιάνα (πιανόλες), χρησιμοποιώντας τα ως «πρόγραμμα» τους. (Βλέπε και την ενότητα: Ηχοποίηση στην πράξη).

Ρύθμιση MIDI

Το παρακάτω βίντεο εξηγεί αναλυτικά πώς να συνδέσετε το micro:bit στο DAW (Digital Audio Workstation) ή στον ψηφιακό συνθεσάιζερ μέσω MIDI σε περιβάλλον Windows:


Οδηγίες βήμα προς βήμα (δείτε το βίντεο):

  1. Εγκαταστήστε την επέκταση MIDI για το Makecode (MIDI Extension Hairless MIDI).
  2. Δημιουργήστε ένα πολύ απλό πρόγραμμα χρησιμοποιώντας την επέκταση MIDI για να ελέγξετε τη ρύθμισή σας very basic program using the MIDI extension.
  3. Εγκαταστήστε το Hairless MIDI,Hairless MIDI, ανοίξτε το και από το αναπτυσσόμενο μενού «serial port» επιλέξτε τη θύρα COM (θύρα USB) στην οποία είναι συνδεδεμένο το micro:bit.
  4. Εγκαταστήστε το loopMIDI, loopMIDI, ανοίξτε το και κάντε κλικ στο κουμπί + στην κάτω αριστερή γωνία για να δημιουργήσετε μια νέα εικονική θύρα.
  5. Επιστρέψτε στο παράθυρο του HairlessMIDI και από το αναπτυσσόμενο μενού MIDI out επιλέξτε τη θύρα loopMIDI.

6. Ίσως χρειαστεί να αποσυνδέσετε και να συνδέσετε ξανά το micro:bit για να λειτουργήσει. 7. Είστε έτοιμοι να παίξετε!

Πώς λειτουργεί: Το micro:bit στέλνει μηνύματα MIDI μέσω σειριακής επικοινωνίας. Αυτά τα μηνύματα λαμβάνονται στη συνέχεια από το Hairless MIDI, το οποίο τα προωθεί στο LoopMIDI. Λειτουργώντας ως εικονική θύρα MIDI, το LoopMIDI καθιστά τα μηνύματα MIDI προσβάσιμα σε λογισμικό υπολογιστή/εφαρμογές ιστού (όπως DAW ή ψηφιακούς συνθεσάιζερ) που λαμβάνουν αυτά τα μηνύματα και παράγουν τους αντίστοιχους ήχους, ολοκληρώνοντας τη σύνδεση.

Υπάρχουν πολλά δωρεάν (και μερικά ανοιχτού κώδικα, διαπλατφορμικά) DAW όπως το LMMS, που μπορείτε να κατεβάσετε και να ρυθμίσετε για να αναπαράγετε MIDI. Η ευκολότερη μέθοδος είναι να παίζετε απευθείας από τον browser μέσω μιας διαδικτυακής εφαρμογής όπως το midi.city, το Online Sequencer (Online Sequencer) και πολλές άλλες που μπορείτε να ανακαλύψετε στο διαδίκτυο. Κατ' αρχήν, εφαρμογές ιστού όπως το midi.city θα ανιχνεύσουν αμέσως το MIDI όργανό σας (το micro:bit σε αυτή την περίπτωση) και θα είστε έτοιμοι να παίξετε αφού δώσετε στον πλοηγό άδεια πρόσβασης στη συσκευή σας (κάτι που θα σας ζητηθεί να κάνετε).

Το MIDI είναι ένα ισχυρό εργαλείο για ηχοποίηση, καθώς σας επιτρέπει να ελέγχετε ένα ευρύ φάσμα παραμέτρων ήχου, όπως το ύψος, την ένταση και το ηχόχρωμα. Αυτή η ρύθμιση επιτρέπει σε πολλά Microbits να στέλνουν δεδομένα MIDI σε έναν μόνο συνθεσάιζερ, επιτρέποντας τη συγχρονισμένη ηχοποίηση πολλαπλών ροών δεδομένων. Επιτρέπει επίσης σε ένα μόνο micro:bit να στέλνει δεδομένα MIDI μέσω πολλαπλών καναλιών MIDI.

Σημείωση: Σε Linux εγκαταστήστε το ttymidi (ttymidi) αντί για τα hairlesMIDI και loopMIDI.

Δεδομένα αισθητήρων μέσω MIDI

Τα προηγούμενα παραδείγματα που χρησιμοποιούν δεδομένα αισθητήρων μπορούν να προσαρμοστούν ώστε να στέλνουν δεδομένα μέσω MIDI με την επέκταση Makecode MIDI, πράγμα που σημαίνει ότι οι ήχοι δεν θα αναπαράγονται στο micro:bit, αλλά μέσω ενός κατάλληλα διαμορφωμένου λογισμικού υπολογιστή ή διαδικτυακής εφαρμογής. Το παρακάτω παράδειγμα αντιστοιχίζει την ένταση του φωτός σε νότες MIDI και τις στέλνει μέσω του καναλιού MIDI 1.[Note 1]

Λεπτομερής εξήγηση του κώδικα:

Τα μπλοκ που βρίσκονται μέσα στο μπλοκ κατά την έναρξη εκτελούνται διαδοχικά πριν από οτιδήποτε άλλο στο πρόγραμμα, όταν ενεργοποιείται το micro:bit.

  1. Εμφανίζουμε ένα όμορφο εικονίδιο μουσικής νότας στην οθόνη LED, απλώς για να το κάνουμε πιο ευχάριστο.
  2. Ορίζουμε τη μεταβλητή Instrument_1 στο κανάλι MIDI 1. Έτσι, οποιεσδήποτε αλλαγές στη μεταβλητή Instrument_1 αντιστοιχούν σε ενέργειες στο κανάλι MIDI 1.
  3. Το midi use raw serial είναι αυτό που θα κάνει το micro:bit να «μιλήσει» στη συσκευή εξόδου MIDI.

Τα μπλοκ μέσα στο μπλοκ για πάντα αξιολογούνται διαδοχικά σε έναν βρόχο από πάνω προς τα κάτω μετά την ακολουθία on start:

  1. Ορίστε τη μεταβλητή Note σε μια νότα MIDI αντιστοιχίζοντας το εύρος των πιθανών τιμών του επιπέδου φωτός στο επιλεγμένο εύρος MIDI 40 έως 85 (εντός 0 και 128) χρησιμοποιώντας το μπλοκ αντιστοίχισης (map).
  2. Ορίστε την ένταση ήχου του 'Instrument_1 (στο κανάλι MIDI 1) στο 100.
  3. Παίξτε τη νότα MIDI Note (μετρημένο επίπεδο φωτός αντιστοιχισμένο σε MIDI) με το Instrument_1 (στο κανάλι MIDI 1).
  4. Κάντε παύση για 250 ms.
  5. Σταματήστε την αναπαραγωγή της νότας MIDI Note.
  6. Παύση για 100 ms.

Χρήση πολλαπλών καναλιών MIDI

Αυτό το παράδειγμα αντιστοιχίζει το επίπεδο φωτός στο MIDI και χρησιμοποιεί πολλαπλά κανάλια MIDI, επιτρέποντας στον χρήστη να επιλέξει να παίξει τις νότες είτε με ένα κουμπί είτε κουνώντας το micro:bit.[Note 1].

Λεπτομερής εξήγηση του κώδικα:

Η λογική πίσω από αυτό το παράδειγμα είναι πολύ παρόμοια με την προηγούμενη. Ωστόσο, ένα επιπλέον κανάλι MIDI 10 (θα μπορούσε να είναι οποιοσδήποτε άλλος αριθμός μεταξύ 1 και 16) ορίζεται κατά την έναρξη ως μεταβλητή Instrument_2. Έτσι, οποιεσδήποτε αλλαγές σε αυτή τη μεταβλητή αντιστοιχούν σε ενέργειες στο κανάλι MIDI 10. Η αντιστοίχιση της έντασης φωτισμού με το MIDI εξακολουθεί να ορίζεται εντός του βρόχου, αλλά τα μπλοκ και οι παύσεις που σχετίζονται με το Instrument_1 μετακινήθηκαν στο μπλοκ εισόδου κατά το πάτημα του κουμπιού B. Το μπλοκ εισόδου κατά την κίνηση απλώς επαναλαμβάνει τον ίδιο κώδικα για το Instrument_2. Σημειώστε ότι όταν παίζετε μια νότα, ανεξάρτητα από το επιλεγμένο όργανο, μια μουσική νότα εμφανίζεται και εξαφανίζεται από την οθόνη LED.

Φθόγγοι (νότες)

  1. 1.0 1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 Click the button "Simulator" on the top bar to interact with a virtual micro:bit and test the code. You can edit the code by clicking "Edit" on the top-right corner.