Πίνακας περιεχομένων:
- Βήμα 1: Λίστα μερών
- Βήμα 2: Κατασκευή
- Βήμα 3: Λογισμικό
- Βήμα 4: Σύνδεσμοι
- Βήμα 5: Χρήση του πίνακα Sparkfun With the Adafruit Libraries
Βίντεο: Micro Midi Synthesizer: 5 βήματα (με εικόνες)
2024 Συγγραφέας: John Day | [email protected]. Τελευταία τροποποίηση: 2024-01-30 08:38
Αυτό το εκπαιδευτικό δείχνει τη χρήση του τσιπ VLSI VS1053b Audio και Midi DSP στη λειτουργία Midi σε πραγματικό χρόνο. Σε αυτήν τη λειτουργία λειτουργεί ως πολυφωνικός συνθέτης GM (General Midi) 64 φωνής Midi. Ένα αυτόνομο μικρό Arduino Uno ελέγχει μια οθόνη OLED, τρία κουμπιά (Επιλογή λειτουργίας και επάνω ή κάτω, και περνά τη ροή δεδομένων Midi στον ηχητικό DSP. Ο πίνακας μουσικής που επιλέχθηκε ήταν ο πίνακας ξεμπλοκαρίσματος κωδικοποιητή Adafruit VS1053, αλλά ένας πίνακας Sparkfun breakout μουσικής Οι βιβλιοθήκες Adafruit VS1053b χρησιμοποιήθηκαν αντί της πολύ μεγαλύτερης Βιβλιοθήκης SFEMP3 (προτείνεται από τον Sparkfun, παρόλο που έχουν και τις δικές τους βιβλιοθήκες), επειδή βρήκα ευκολότερο να κατανοήσω τον κώδικα Adafruit.
Ο περισσότερος κώδικας που χρησιμοποιείται για τον έλεγχο του ήχου/midi DSP αναπτύχθηκε χρησιμοποιώντας ένα Arduino Uno συνδεδεμένο με την πλακέτα ήχου/midi breakout μέσω ενός breadboard. Αφού διαπιστώθηκε ότι οι λειτουργίες λειτουργούσαν ικανοποιητικά, το Uno χρησιμοποιήθηκε ως προγραμματιστής για ένα αυτόνομο ATmega 328 το οποίο στη συνέχεια τοποθετήθηκε σε ένα μικρό Veroboard μεγέθους 30x20 μαζί με το οπτικό-απομονωτικό IC 6N139 που απαιτείται στην υποδοχή εισόδου Midi (ένα DIN 5 ακίδων) Το Επίσης συνδεδεμένη ήταν μια μικρή ασπίδα OLED (64x48), τρία κουμπιά, ένα LED Midi δραστηριότητας και ένας σύνδεσμος κάννης +5 volt για τροφοδοσία και προστέθηκε η υποδοχή στερεοφωνικής εξόδου ήχου. Οι απαιτήσεις ισχύος είναι πολύ μικρές - περίπου 20 mA στα 5 volt.
Βήμα 1: Λίστα μερών
ATmega328 Micro 28 pin DIP + 28 pin DIP socket6N138 or 6N139 optoisolator + 4 pin DIP socketWemos 64x48 I2C OLED Display or similarAdafruit VS1053b Codec breakout board3 miniature pushbuttons5 pin DIN Midi socket PCrel mount πρίζα για σύνδεση σε ενισχυτή ή ακουστικά Αντίσταση: 7 x 10k, 2 x 470 ohm, 2 x 220 ohm Πυκνωτές: 0.1uF 50v πλαστικοί, 10uf 25v ηλεκτρολυτικοί, κεραμικοί 2 x 27 pF Μικρά κομμάτια Veroboard (30 λωρίδες με 20 στήλες και 4 λωρίδες) με 16 στήλες), πλαστικό περίβλημα ABS περίπου 85x55x25mm, καλωδίωση και μερικές βίδες παξιμάδια και ροδέλες.
Βήμα 2: Κατασκευή
Το καπάκι του περιβλήματος φιλοξενεί την οθόνη OLED, τα τρία κουμπιά που είναι τοποθετημένα σε ένα άλλο μικρό κομμάτι του Veroboard και το βύσμα τροφοδοσίας του βαρελιού. Η κύρια πλακέτα κυκλώματος Vero έχει δύο οπές για να στερεώσει την πλακέτα Music breakout πάνω από το ATmega328. Για λεπτομέρειες σύνδεσης, ανατρέξτε στο διάγραμμα του πίνακα λωρίδων Fritzing.
Το προγραμματισμένο ATmega328 (ανατρέξτε στην επόμενη ενότητα για τον κωδικό) στη συνέχεια εισάγεται στην υποδοχή του, ακολουθούμενο από το 6N139 και όλα συνδέονται.
Το LED χρησιμοποιείται ως δείκτης δραστηριότητας Midi και τοποθετήθηκε στην μπροστινή πλευρά του περιβλήματος. Συνδέεται στην έξοδο D2 του ATmega328 μέσω αντίστασης 470 ohm.
Η οθόνη OLED χρησιμοποιεί έξοδο 3,3 volt από την πλακέτα Adafruit για ισχύ - απαιτεί λιγότερα από 20 mA.
Δοκιμάστε να αλλάξετε τις δύο συνδέσεις Midi Din εάν δεν ακούτε ήχο όταν χρησιμοποιείτε για πρώτη φορά το synth.
Βήμα 3: Λογισμικό
Λεπτομέρειες για το σκίτσο που πρέπει να ανεβάσετε στο ATmega328 δίνονται στο MidA.ino. Υπάρχουν επτά διαθέσιμες λειτουργίες:
Επιλογή P: Αλλαγή προγράμματος - αλλάξτε το GM Midi Instrument από 1 σε 128 (χρησιμοποίησα 0 σε 127) όπως ήχο πιάνου ή Synth. Επιλογή Β: Αλλάξτε την τράπεζα οργάνων μεταξύ Melodic (Bank 0) και Percussion (Bank 1). Επιλογή V: Ρυθμίστε την ένταση από το 1 στο 10. Επιλογή Γ: Αλλάξτε το κανάλι Midi στο οποίο θα ανταποκριθεί το Synth. Οι επιλογές είναι κανάλι 0, κανάλι 1, κανάλι 9 (κρουστά), κανάλι 0 και 9 και κανάλι 1 και 9. Επιλογή R: Ενεργοποιήστε ή απενεργοποιήστε το εφέ Reverb. Επιλογή S: Αποθηκεύστε τις τρέχουσες παραμέτρους στη μνήμη Eeprom (επάνω) ή Διαβάστε το (Κάτω) πίσω από τη μνήμη Eeprom. Αυτό συμβαίνει επειδή οι ρυθμίσεις κατά τα άλλα δεν αποθηκεύονται κατά την απενεργοποίηση. Επιλογή X: Στείλτε ένα μήνυμα απενεργοποίησης όλων των σημειώσεων (Midi Reset).
Μια όγδοη επιλογή δεν έχει ακόμη εφαρμοστεί - αυτό θα παρακάμψει το ATmega ως φίλτρο Midi και θα συνδέσει την έξοδο του οπτικοαπομονωτή απευθείας στην ακίδα Rx της πλακέτας DSP.
Σημειώστε ότι το VS1053b εκκινεί σε λειτουργία Midi σε πραγματικό χρόνο φορτώνοντας μια συμπιεσμένη ενημερωμένη έκδοση κώδικα 1039 byte κατά την εκκίνηση - αυτό αυξάνει επίσης το μέγεθος του buffer Midi και φιλτράρει τα αποκλειστικά byte δεδομένων Midi του συστήματος. Λεπτομέρειες για αυτό το έμπλαστρο μπορείτε να βρείτε στον ιστότοπο VLSI.
Μια ελαφρώς τροποποιημένη έκδοση της βιβλιοθήκης Adafruit Graphics είχε χρησιμοποιηθεί για να καλύψει την ανάλυση 64x48 pixel της οθόνης OLED - ανατρέξτε στους συνδέσμους που δίνονται στο τέλος για τον κ. Mcauser. Στον κώδικα σκίτσου παρέχεται μια λίστα με τις απαιτούμενες βιβλιοθήκες.
Είναι σημαντικό όταν το σκίτσο εκτελείται για πρώτη φορά στο ATmega328 είτε είναι σε Uno είτε σε αυτόνομο, ο κώδικας θα φορτώσει προεπιλογές παραμέτρων από το ATmega328 Eeprom που ενδέχεται να μην είναι έγκυρες. Σε αυτήν την περίπτωση, μπορείτε είτε να γράψετε όλα τα μηδενικά στο Eeprom χρησιμοποιώντας την επιλογή X με το κουμπί κάτω, είτε να σχολιάσετε τη γραμμή στη λειτουργία κενής ρύθμισης που φορτώνει τιμές από το Eeprom όταν ξεκινά για πρώτη φορά, να προσαρμόσετε τα όργανα σας κ.λπ. σας αρέσει και, στη συνέχεια, αποθηκεύστε τις προεπιλογές σας με το κουμπί επιλογής S Up.
Η πίστωση χορηγείται σε όλα τα πρόσωπα και τις οντότητες που αναφέρονται για τον κώδικα και τις βιβλιοθήκες τους.
Βήμα 4: Σύνδεσμοι
VLSI:
Adafruit:
Github VS1053b:
Github Graphics:
Oled:
Sparkfun:
Βήμα 5: Χρήση του πίνακα Sparkfun With the Adafruit Libraries
Ο πίνακας στην εικόνα εξηγεί τον τρόπο σύνδεσης είτε των Adafruit είτε των Sparkfun Music Boards για να χρησιμοποιήσετε μια άλλη βιβλιοθήκη.
Συνιστάται:
Water Synthesizer With MakeyMakey and Scratch: 6 βήματα (με εικόνες)
Water Synthesizer With MakeyMakey and Scratch: Η χρήση του MakeyMakey για τη μετατροπή διαφορετικών υλικών σε διακόπτες ή κουμπιά και έτσι ενεργοποίηση κινήσεων ή ήχων στον υπολογιστή είναι μια συναρπαστική υπόθεση. Κάποιος μαθαίνει ποιο υλικό διεξάγει την αδύναμη τρέχουσα ώθηση και μπορεί να εφεύρει και να πειραματιστεί με
Τροφοδοτικό Modular Synthesizer: 10 βήματα (με εικόνες)
Τροφοδοτικό Modular Synthesizer: Εάν χτίζετε ένα αρθρωτό συνθεσάιζερ, ένα πράγμα που σίγουρα θα χρειαστείτε είναι ένα τροφοδοτικό. Οι περισσότεροι σπονδυλωτοί συνθέτες απαιτούν σύστημα διπλού σιδηροδρόμου (0V, +12V και -12V είναι τυπικά), και μπορεί επίσης να είναι βολικό να έχετε και μια ράγα 5V αν είστε σχεδιασμένοι
Arduino MIDI Chiptune Synthesizer: 7 βήματα (με εικόνες)
Arduino MIDI Chiptune Synthesizer: Ξαναζήστε τη διασκέδαση της πρώιμης μουσικής παιχνιδιών στον υπολογιστή με έναν αυθεντικό συνθεσάιζερ chiptune 8-bit, τον οποίο μπορείτε να ελέγξετε μέσω του MIDI από την άνεση κάθε σύγχρονου λογισμικού DAW. Αυτό το απλό κύκλωμα χρησιμοποιεί ένα Arduino για να οδηγήσει ένα AY-3- 8910 προγραμματιζόμενες γενιές ήχου
Το Arduino Synthesizer: 20 βήματα (με εικόνες)
Το Arduino Synthesizer: Το Arduino είναι σε θέση να εξάγει ήχο μέσω μιας βιβλιοθήκης που έχει δημιουργηθεί και ονομάζεται Tone Library. Δημιουργώντας μια διεπαφή και ένα πρόγραμμα που μπορεί να καλέσει ορισμένες τιμές να εξάγονται σε έξοδο ήχου, το Arduino Synthesizer είναι ένα ισχυρό εργαλείο
Music Synthesizer Βασισμένο στο DE0-Nano-SoC: 5 βήματα (με εικόνες)
Music Synthesizer Βασισμένο στο DE0-Nano-SoC: Music Synthesizer Αυτός ο συνθέτης μουσικής είναι αρκετά απλός: απλά πρέπει να φυσήξετε, να τραγουδήσετε ή ακόμα και να παίξετε μουσική μπροστά στο μικρόφωνο και ο ήχος θα διαμορφωθεί και θα σταλεί μέσω του ηχείου. Το φάσμα του θα εμφανιστεί επίσης στην οθόνη LCD