Πίνακας περιεχομένων:

Arpeggiating Synthesizer (Mosquito I): 6 βήματα
Arpeggiating Synthesizer (Mosquito I): 6 βήματα

Βίντεο: Arpeggiating Synthesizer (Mosquito I): 6 βήματα

Βίντεο: Arpeggiating Synthesizer (Mosquito I): 6 βήματα
Βίντεο: Top 10 Most Expensive Synthesizers In The World 2024, Ιούλιος
Anonim
Arpeggiating Synthesizer (Mosquito I)
Arpeggiating Synthesizer (Mosquito I)

Το Mosquito I είναι ένα μικρό συνθεσάιζερ που χρησιμοποιεί ένα Arduino Nano και τη βιβλιοθήκη σύνθεσης ήχου Mozzi. Μπορεί να παίξει πάνω από είκοσι ακολουθίες 8 βημάτων, αλλά μπορείτε να προσθέσετε όσες προσαρμοσμένες ακολουθίες θέλετε. Είναι σχετικά απλό στη ρύθμιση και δεν απαιτεί πολλά μέρη.

Προμήθειες:

  • Arduino Nano (ή οποιοδήποτε Arduino πρέπει πραγματικά να λειτουργεί)
  • 5 ea Ποτενσιόμετρα (10K Γραμμικά)
  • 2 ea Πατήστε κουμπιά
  • 1 ea LED
  • 1 ea Resistor (330 ohm)
  • 2 ea Resistor (1K)
  • 1 ea Resistor (2K)
  • 1 ea Ηλεκτρολυτικός πυκνωτής (100 uF)
  • Κεραμικός πυκνωτής 1 ea (33 nF)
  • 1 στερεοφωνικό βύσμα
  • Σύρμα σύνδεσης
  • Breadboard

Βήμα 1: Ρύθμιση του Arduino

Ρύθμιση του Arduino
Ρύθμιση του Arduino
Ρύθμιση του Arduino
Ρύθμιση του Arduino

Αρχικά, ας βάλουμε το Nano στο breadboard και να θέσουμε τη δύναμή μας:

  1. Τοποθετήστε το Nano στην σανίδα ψωμιού. Τοποθετήστε όπως φαίνεται στην παραπάνω εικόνα. Θα πρέπει να βρίσκεται στο κέντρο του καναλιού της σανίδας ψωμιού. Θα θέλετε να βρίσκεται προς το ένα άκρο του breadboard, με τη θύρα USB να βλέπει προς αυτήν την πλευρά. Με αυτόν τον τρόπο το καλώδιο δεν θα σας εμποδίσει όταν το συνδέσουμε. Εάν χρησιμοποιείτε μεγαλύτερο Arduino όπως το Uno ή το Mega, δεν θα το τοποθετήσετε φυσικά στο breadboard.
  2. Συνδέστε τις ράγες τροφοδοσίας στο Arduino. Συνδέστε μία από τις θετικές (κόκκινες) ράγες του ψωμιού σας στον πείρο 5V του Arduino χρησιμοποιώντας σύρματα ή καλώδια βραχυκυκλωτήρων. Στη συνέχεια, συνδέστε μία από τις αρνητικές (μπλε) ράγες σε μία από τις ακίδες GND του Nano.
  3. Συνδέστε τις ράγες τροφοδοσίας μεταξύ τους. Για να αποκτήσετε ισχύ στις ράγες και στις δύο πλευρές του breadboard, συνδέστε τις ράγες και στις δύο πλευρές του breadboard μεταξύ τους περνώντας ένα καλώδιο από τη θετική ράγα στη μία πλευρά στη θετική ράγα στην άλλη πλευρά. Επαναλάβετε αυτό με τις αρνητικές ράγες.

Βήμα 2: Προσθήκη των στοιχείων ελέγχου

Προσθήκη των στοιχείων ελέγχου
Προσθήκη των στοιχείων ελέγχου

Το Mosquito I χρησιμοποιεί πέντε ποτενσιόμετρα και δύο κουμπιά για χειριστήρια.

Ποτενσιόμετρα:

  1. Τοποθετήστε τις κατσαρόλες στο ψωμί. Τοποθετήστε τα δοχεία έτσι ώστε κάθε καρφίτσα να βρίσκεται στη δική του σειρά.
  2. Συνδέστε τα δοχεία στις ράγες τροφοδοσίας. Συνδέστε τον αριστερό πείρο κάθε κατσαρόλας (αν κοιτάτε την πλευρά του πόμολου) σε μία από τις αρνητικές ράγες στο ψωμί. Συνδέστε το δεξιό πείρο κάθε κατσαρόλας σε μία από τις θετικές ράγες του ψωμιού.
  3. Συνδέστε γλάστρες στο Arduino. Συνδέστε τον κεντρικό πείρο κάθε δοχείου σε έναν από τους αναλογικούς πείρους στο Arduino. Ο κεντρικός πείρος του πρώτου δοχείου συνδέεται με το Α0, το δεύτερο δοχείο με το Α1 και ούτω καθεξής με το τελευταίο δοχείο να συνδέεται με το Α4.

Κουμπιά ώθησης:

  1. Τοποθετήστε τα κουμπιά στον πίνακα ψωμιού. Τοποθετήστε τα δύο κουμπιά στο breadboard έτσι ώστε να βρίσκονται στο κέντρο του καναλιού.
  2. Συνδέστε τις θετικές πλευρές. Στη μία πλευρά του breadboard, συνδέστε μία από τις καρφίτσες του κουμπιού στη θετική ράγα.
  3. Συνδέστε τις αρνητικές πλευρές. Τοποθετήστε μία από τις αντιστάσεις 1Κ στο breadboard έτσι ώστε το ένα άκρο να είναι συνδεδεμένο με τον αχρησιμοποίητο πείρο του κουμπιού και η άλλη πλευρά της αντίστασης να συνδέεται με την αρνητική ράγα.
  4. Κουμπί σύνδεσης στο Arduino. Τραβήξτε ένα καλώδιο στη σειρά που συνδέει το κουμπί με την αρνητική ράγα με τον πείρο D2. Κάντε το ίδιο με το άλλο κουμπί αλλά συνδέστε το στο D3.

Βήμα 3: Προσθήκη εξόδων

Προσθήκη εξόδων
Προσθήκη εξόδων

Βγάζουμε ήχο από την ακίδα 9 καθώς και αναβοσβήνουμε ένα LED στο πρώτο βήμα κάθε ακολουθίας. Δείτε πώς μπορείτε να ρυθμίσετε το υλικό για αυτό.

LED

  1. Τοποθετήστε μια λυχνία LED σε κενό χώρο στο ψωμί.
  2. Συνδέστε το αρνητικό (κοντό) σκέλος του LED στην αρνητική ράγα.
  3. Τοποθετήστε αντίσταση περιορισμού ρεύματος. Συνδέστε τη μία πλευρά μιας αντίστασης 330 ohm στο θετικό (μακρύ) πόδι του LED. Συνδέστε την άλλη πλευρά της αντίστασης στην ακίδα D4 του Arduino.

Εξοδος ήχου

  1. Τοποθετήστε το δίκτυο RC. Το σήμα εξόδου από το Arduino προέρχεται από τον ακροδέκτη 9, αλλά το σήμα μπορεί να είναι λίγο πιο ζεστό από ό, τι μπορούν να χειριστούν ορισμένα ηχεία. Για να το κατεβάσω σε κάτι πιο κοντά στο επίπεδο γραμμής, πρόσθεσα ένα δίκτυο RC (βασισμένο σε σχέδιο της Notes & Volts). Τοποθετήστε τους πυκνωτές 33nF και 100uF, μαζί με την αντίσταση 2K όπως φαίνεται στην εικόνα/σχηματικό. Βεβαιωθείτε ότι ο ηλεκτρολυτικός πυκνωτής 100uF είναι συνδεδεμένος με τη σωστή πολικότητα (το θετικό/μακρύ πόδι θα καρφώσει το 9 στο Arduino και το αρνητικό/κοντό πόδι συνδεδεμένο στον γρύλο).
  2. Συνδέστε την αρνητική πλευρά της υποδοχής ήχου στη γείωση. Οι συνδέσεις υποδοχής ήχου θα διαφέρουν ελαφρώς ανάλογα με τον τύπο που χρησιμοποιείτε, αλλά γενικά λειτουργούν όλες το ίδιο. Πρέπει να συνδέσουμε το μανίκι του γρύλου στη γείωση. Αυτό μερικές φορές επισημαίνεται με σύμβολο μείον ή επισημαίνεται ως "μανίκι", "δαχτυλίδι" ή "gnd". Εάν δεν υπάρχουν ετικέτες στην υποδοχή ήχου, ίσως χρειαστεί να συμβουλευτείτε το φύλλο δεδομένων ή απλώς να κάνετε μια στενή επιθεώρηση της υποδοχής και να δείτε αν μπορείτε να καθορίσετε ποια ακίδα είναι συνδεδεμένη στο περίβλημα ή τον εξωτερικό δακτύλιο της υποδοχής.
  3. Συνδέστε τη θετική πλευρά της υποδοχής ήχου με την αρνητική πλευρά του πυκνωτή 100uF. Το ηχητικό μας σήμα ρέει τώρα από την ακίδα 9 του Arduino μέσω του δικτύου RC και βγαίνει από την αρνητική πλευρά του πυκνωτή 100uF. Θα το συνδέσουμε με τη θετική πλευρά της υποδοχής ήχου. Αυτό συνήθως επισημαίνεται με ένα σύμβολο συν ή μπορεί να φέρει την ένδειξη "άκρη". Και πάλι, εάν δεν έχει επισημανθεί, ίσως χρειαστεί να το επιθεωρήσετε για να καταλάβετε ποια καρφίτσα θα συνδεθεί στην άκρη του γρύλου. Επίσης, εάν χρησιμοποιείτε στερεοφωνική υποδοχή, ενδέχεται να υπάρχει σύνδεση L tip και R tip. Δεδομένου ότι εξάγουμε ένα μονοφωνικό σήμα, μπορείτε απλά να συνδεθείτε σε οποιαδήποτε από τις συνδέσεις άκρων.

Σημαντικό: Εάν διαπιστώσετε ότι ο ήχος είναι πολύ αθόρυβος, ίσως μπορείτε να εξαλείψετε το δίκτυο RC στο βήμα 1 και να συνδεθείτε απευθείας στον ήχο από την ακίδα 9 του Arduino. Αυτό πρέπει να είναι εντάξει εάν συνδέετε τον ήχο σε κάτι με προενισχυτή όπως εξωτερικά ηχεία υπολογιστή, όπου έχετε κουμπί έντασης, αλλά δεν θα το συνιστούσα για πράγματα όπως ακουστικά, ακουστικά ή απευθείας καλωδίωση σε ηχείο. Εάν αποφασίσετε να εξαλείψετε το δίκτυο RC, προτείνω να χαμηλώσετε την ένταση των ηχείων σας μέχρι να ενεργοποιήσετε το Arduino και, στη συνέχεια, να αυξήσετε σταδιακά την ένταση για να αποφύγετε να φυσήξετε τα ηχεία σας.

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

Βήμα 4: Μεταφόρτωση του κώδικα

Τώρα που το υλικό έχει ρυθμιστεί, είμαστε έτοιμοι να αντιμετωπίσουμε την πλευρά του λογισμικού:

  1. Εκκινήστε το Arduino IDE. Στον υπολογιστή σας, εκκινήστε το Arduino IDE (εάν δεν το έχετε, μπορείτε να το κατεβάσετε από τη διεύθυνση
  2. Κατεβάστε τη βιβλιοθήκη Mozzi. Η βιβλιοθήκη Mozzi είναι αυτό που μας επιτρέπει να χρησιμοποιούμε το Arduino ως συνθεσάιζερ. Για να αποκτήσετε αυτήν τη βιβλιοθήκη στο IDE σας, μεταβείτε στη σελίδα github Mozzi https://sensorium.github.io/Mozzi/download/. Κάντε κλικ στο πράσινο κουμπί "Κωδικός" και επιλέξτε Λήψη ZIP.
  3. Εγκαταστήστε τη βιβλιοθήκη Mozzi από το αρχείο zip. Στο Arduino IDE, μεταβείτε στο Sketch-> Include Library-> Add. ZIP Library… Μεταβείτε στο αρχείο zip που κατεβάσατε για να το προσθέσετε. Θα πρέπει τώρα να δείτε το Mozzi να αναφέρεται στην ενότητα Sketch-> Include Library.
  4. Κατεβάστε τον κώδικα Mosquito I Arduino. Μπορείτε να το λάβετε από τον ιστότοπό μου github https://github.com/analogsketchbook/mosquito_one. (Σημειώστε ότι τα διαγράμματα είναι επίσης διαθέσιμα εκεί, εάν τα χρειάζεστε για αναφορά καλωδίωσης.
  5. Συνδέστε το Arduino στον υπολογιστή και ανεβάστε τον κωδικό.

Βήμα 5: Μπέρδεμα

Αυτό είναι. Θα πρέπει να είστε σε θέση να συνδέσετε τα ηχεία σας στην υποδοχή ήχου και να ακούσετε τον γλυκό ήχο της σύνθεσης με arpeggiated από αυτό το ittybitty Nano! Εάν δεν ακούτε τίποτα στην αρχή, δοκιμάστε να κεντράρετε τα κουμπιά σε όλες τις κατσαρόλες για να βεβαιωθείτε ότι παίρνετε αξιοπρεπείς τιμές εκκίνησης.

Δείτε τι κάνουν τα χειριστήρια:

Γλάστρες:

Ρυθμός: Αυτό ελέγχει πόσο γρήγορα αναπαράγεται ο ακολουθιογράφος. Η απενεργοποίηση παίζει διακριτές νότες με τη σειρά. Το γυρίζοντας πολύ επαλείφει τις νότες μαζί για να δημιουργήσει εντελώς νέες κυματομορφές.

Legato: Το δεύτερο δοχείο ελέγχει το legato ή το μήκος της νότας. Στρέφοντάς το περισσότερο προς τα αριστερά παράγει σύντομες νότες sticatto, ενώ στρέφοντάς το προς τα δεξιά παράγει μεγαλύτερες νότες.

Βήμα: Αυτό θέτει το βασικό βήμα για την ακολουθία. Ο έλεγχος βήματος ρυθμίζει τιμές MIDI, επομένως αυξάνει/μειώνει το βήμα σε ημιτονία και όχι μια συνεχή μετατόπιση βήματος.

Φάση: Στρέφοντας αυτό το κουμπί προς τα δεξιά εισάγεται ένα λεπτό αποτέλεσμα σταδιακής κατάργησης. Από τεχνική άποψη, αυτό προκαλεί ελαφρά αποσύνδεση των δύο ταλαντωτών στο Mosquito I, κάτι που προκαλεί τη σταδιακή κατάργηση. Δεν είναι, ωστόσο, η παρακολούθηση με το γήπεδο, οπότε το φαινόμενο σταδίων είναι πιθανότατα πιο αισθητό στις χαμηλότερες νότες.

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

Κουμπιά:

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

Βήμα 6: Προσαρμογή

Προσαρμογή
Προσαρμογή

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

Αλλαγή σημειώσεων σε υπάρχουσα ακολουθία

Οι ακολουθίες αποθηκεύονται σε μια σειρά συστοιχιών που ονομάζονται ΣΗΜΕΙΩΣΕΙΣ. Κάθε νότα αποθηκεύεται ως τιμή σημείωσης MIDI, οπότε αν θέλετε να αλλάξετε σημειώσεις σε μια συγκεκριμένη ακολουθία, απλώς αλλάξτε τους αριθμούς σημειώσεων MIDI για αυτήν την ακολουθία. Η προεπιλεγμένη ρύθμιση είναι να παίζετε 8 βήματα ανά ακολουθία, ώστε να μπορείτε να έχετε μόνο 8 τιμές MIDI σε μια ακολουθία (δείτε παρακάτω αν θέλετε να έχετε διαφορετικά μήκη ακολουθίας).

Ένα πράγμα που πρέπει να σημειωθεί, το κουμπί βήματος προσθέτει μια μετατόπιση σημείωσης στις τιμές MIDI που καθορίζονται στον πίνακα NOTES. Όταν το κουμπί είναι κεντραρισμένο, παίζει τις σημειώσεις MIDI που αναφέρονται στον πίνακα, αλλά καθώς γυρίζετε το κουμπί βήματος προσθέτει ή αφαιρεί έναν ημι-τόνο στις νότες που παίζονται.

Προσθήκη νέων ακολουθιών

Μπορείτε να προσθέσετε νέες ακολουθίες στον πίνακα NOTES προσθέτοντας απλώς έναν νέο πίνακα 8 σημειώσεων στο τέλος της λίστας. Αν το κάνετε αυτό, θα χρειαστεί επίσης να αλλάξετε την τιμή της μεταβλητής numSequences για να ταιριάζει με τον νέο αριθμό ακολουθιών. Για παράδειγμα, ο πίνακας NOTES έχει 21 ακολουθίες από προεπιλογή, οπότε η μεταβλητή numSequences έχει οριστεί σε 21. Εάν προσθέσετε μία νέα ακολουθία, θα πρέπει να αλλάξετε τη μεταβλητή numSequences σε 22.

Μπορείτε να προσθέσετε όσες νέες ακολουθίες θέλετε.

Αλλαγή μήκους ακολουθίας

Αν θέλετε να αλλάξετε το μήκος των ακολουθιών σας (αν θέλετε να πείτε μια ακολουθία 4 βημάτων ή 16 βημάτων), μπορείτε να το κάνετε αυτό, αλλά η μόνη προειδοποίηση είναι ότι όλες οι ακολουθίες πρέπει να έχουν το ίδιο μήκος. Θα χρειαστεί επίσης να ορίσετε τη μεταβλητή numNotes ώστε να ταιριάζει με το μήκος των ακολουθιών σας.

Άλλες Αλλαγές

Υπάρχουν πολλές άλλες προσαρμογές που είναι δυνατές, όπως αλλαγή τύπων κυματομορφής, ρυθμίσεις/τιμές φίλτρου, οι οποίες είναι πέρα από το πεδίο αυτού του σεμιναρίου. Η εύρεση του κώδικα Mozzi μπορεί να είναι λίγο δύσκολη στην αρχή, αλλά προσπάθησα να τεκμηριώσω τον κώδικα όσο το δυνατόν περισσότερο για να δείξω τι κάνουν τα διάφορα μέρη του κώδικα.

Υπάρχουν μερικά βασικά μέρη του κώδικα για το Mozzi που έχουν αρκετά συγκεκριμένες χρήσεις και τα παραθέτω παρακάτω για να σας δώσω και ιδέα για το τι χρησιμοποιούνται:

  • setup () - Εάν έχετε προγραμματίσει για το Arduinos προτού εξοικειωθείτε με αυτήν τη λειτουργία και χρησιμοποιείται σχεδόν το ίδιο στο Mozzi. Το χρησιμοποιούμε κυρίως για τη ρύθμιση των προεπιλεγμένων ρυθμίσεων για ταλαντωτές, φίλτρα κ.λπ.
  • updateControl () - Αυτό είναι όπου η μερίδα του λέοντος του κώδικα Mozzi κάνει τη δουλειά του. Είναι όπου διαβάζουμε τιμές κατσαρόλας και κουμπιού, χαρτογραφούμε και μετατρέπουμε αυτές τις τιμές για να τροφοδοτήσουμε στο συνθεσάιζερ και όπου γίνεται η αλληλουχία.
  • updateAudio () - Αυτή είναι η τελική έξοδος από τη βιβλιοθήκη Mozzi. Συνήθως ο κώδικας εδώ διατηρείται πολύ μικρός και αδύνατος γιατί αυτή η συνάρτηση χρησιμοποιείται από τον Mozzi για να μεγιστοποιήσει όλους τους κύκλους ρολογιού που μπορεί. Όπως μπορείτε να δείτε στον κώδικα κουνουπιών, μπορεί να είναι λίγο κρυπτικό, αλλά το μόνο που κάνουμε είναι να συνδυάζουμε/πολλαπλασιάζουμε τις διάφορες κυματομορφές μας και στη συνέχεια να τις μετατοπίζουμε για να ταιριάζουν σε ένα συγκεκριμένο εύρος αριθμών. Είναι καλύτερο να διατηρήσετε αυτήν τη λειτουργία πολύ ελαφριά (όχι σειριακές κλήσεις ή ακίδες ανάγνωσης) και να βάλετε τα περισσότερα από τα πράγματα στη λειτουργία controlUpdate (). Η τεκμηρίωση της Mozzi το αναφέρει λεπτομερέστερα.

Συνιστάται: