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

Arduino MIDI Chiptune Synthesizer: 7 βήματα (με εικόνες)
Arduino MIDI Chiptune Synthesizer: 7 βήματα (με εικόνες)

Βίντεο: Arduino MIDI Chiptune Synthesizer: 7 βήματα (με εικόνες)

Βίντεο: Arduino MIDI Chiptune Synthesizer: 7 βήματα (με εικόνες)
Βίντεο: Arcano MIDI NES Chiptune Synth II - an AVR, Nintendo-style synthesizer 2024, Ιούλιος
Anonim
Arduino MIDI Chiptune Synthesizer
Arduino MIDI Chiptune Synthesizer

Ξαναζήστε τη διασκέδαση της πρώιμης μουσικής παιχνιδιών υπολογιστή με έναν αυθεντικό συνθεσάιζερ chiptune 8-bit, τον οποίο μπορείτε να ελέγξετε μέσω του MIDI από την άνεση κάθε σύγχρονου λογισμικού DAW.

Αυτό το απλό κύκλωμα χρησιμοποιεί ένα Arduino για να οδηγήσει ένα προγραμματιζόμενο τσιπ γεννήτριας ήχου με προγραμματισμό AY-3-8910 (ή έναν από τους πολλούς κλώνους του) για να αναδημιουργήσει τον ήχο του 1980. Σε αντίθεση με τα πολλά σχέδια που χρειάζονται εξειδικευμένο λογισμικό για την επεξεργασία μουσικής, αυτό μοιάζει με μια τυπική συσκευή USB MIDI. Το συνθεσάιζερ έχει έναν έξυπνο αλγόριθμο που προσπαθεί να κρατήσει τις πιο μουσικά σχετικές νότες. σε πολλές περιπτώσεις μπορείτε να ρίξετε απευθείας αρχεία MIDI χωρίς επεξεργασία και η μελωδία βγαίνει αμέσως. Το συνολικό κόστος θα πρέπει να είναι περίπου 20 λίρες.

Βήμα 1: Πράγματα που θα χρειαστείτε

Πράγματα που θα χρειαστείτε
Πράγματα που θα χρειαστείτε
Πράγματα που θα χρειαστείτε
Πράγματα που θα χρειαστείτε
Πράγματα που θα χρειαστείτε
Πράγματα που θα χρειαστείτε

Η πλήρης λίστα μερών για αυτό, όπως βλέπετε στις εικόνες, έχει ως εξής:

  • Κλώνος Sparkfun Pro Micro (επιλογή 5V, 16MHz). Χρησιμοποίησα αυτό στο Amazon.
  • Τσιπ Yamaha YM2149F PSG. Πήρα το δικό μου από το eBay.
  • 2 κεραμικοί πυκνωτές 100nF
  • 1 το καθένα με αντιστάσεις 75R, 1K και 100K (η βαθμολογία 1/4 watt είναι καλή).
  • Πυκνωτής κεραμικού δίσκου 4.7nF
  • Ηλεκτρολυτικός πυκνωτής 1uF (ονομαστική τάση> 5V).
  • 40 ακίδα 0,6 "DIP IC υποδοχή
  • 2 κεφαλίδες 12 x 0,1 "(αυτή από το CPC)
  • Πίνακας πρωτοτύπων, 3 "επί 2" περίπου. Αγόρασα ένα μαζικό πακέτο από αυτά, ξανά στο Amazon.
  • Υποδοχή phono για βάση PCB
  • Μικροσκοπικό καλώδιο συμπαγούς πυρήνα (όπως αυτό).

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

Βήμα 2: Εναλλακτικά μέρη

Εναλλακτικά Μέρη
Εναλλακτικά Μέρη
Εναλλακτικά Μέρη
Εναλλακτικά Μέρη
Εναλλακτικά Μέρη
Εναλλακτικά Μέρη

Εναλλακτικά προγραμματιζόμενα τσιπ γεννήτρια ήχου

Το YM2149 που χρησιμοποίησα είναι ένας κλώνος του αρχικού IC General Instruments AY-3-8910 IC. (Το πρώτο πρωτότυπο χρησιμοποίησε ένα AY-3-8910 που αγόρασα από το eBay, αλλά αποδείχθηκε ότι η γεννήτρια λευκού θορύβου δεν λειτουργούσε. Λυπημένο πρόσωπο). Μπορείτε να χρησιμοποιήσετε είτε για αυτό το έργο χωρίς αλλαγές.

Η General Instruments έφτιαξε επίσης παραλλαγές AY-3-8912 και AY-3-8913, το οποίο ήταν το ίδιο πυρίτιο μέσα σε μικρότερες συσκευασίες, χωρίς επιπλέον πείρους εισόδου/εξόδου. Αυτές οι καρφίτσες δεν χρειάζονται για ακουστικούς σκοπούς και αυτό το έργο δεν τις χρησιμοποιεί. Μπορείτε να χρησιμοποιήσετε ένα AY-3-8912 ή -8913, απλώς ακολουθήστε τα pinouts που εμφανίζονται παραπάνω.

Εναλλακτικά Arduinos

Το "Pro Micro" που χρησιμοποίησα είναι ένα αντίγραφο της πλακέτας Pro Micro του Sparkfun. Εάν δεν είστε σίγουροι για τον κώδικα Arduino, είναι καλύτερο να μείνετε σε αυτό. εάν είστε ευτυχείς να προσαρμόσετε το σχέδιο, θα χρειαστείτε τις ακόλουθες προδιαγραφές

  • Συσκευή ATmega 16u4 ή 32u4 (απαιτείται για να λειτουργήσει ως συσκευή MIDI USB. Το ATmega 168 ή 328 δεν μπορεί να το κάνει αυτό).
  • Λειτουργία 5V (το AY-3-8910 λειτουργεί σε 5V) και ταχύτητα ρολογιού 16MHz.
  • Τουλάχιστον 13 ψηφιακές γραμμές εισόδου/εξόδου.

    Ο ακροδέκτης θύρας PB5 πρέπει να είναι συνδεδεμένος (χρησιμοποιείται για τη δημιουργία σήματος ρολογιού 1MHz). Στο Pro Micro αυτό χρησιμοποιείται ως ακίδα εισόδου/εξόδου D9

Οι πίνακες Arduino Leonardo και Micro ταιριάζουν και οι δύο στο λογαριασμό, αν και δεν τις έχω δοκιμάσει.

Άλλα συστατικά

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

Βήμα 3: Τοποθέτηση της πλακέτας κυκλωμάτων

Τοποθέτηση της πλακέτας κυκλωμάτων
Τοποθέτηση της πλακέτας κυκλωμάτων

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

Χρησιμοποιώντας την παραπάνω εικόνα ως οδηγό, τοποθετήστε την υποδοχή IC 40 ακίδων, αναποδογυρίστε την πλακέτα και κολλήστε πρώτα σε δύο αντίθετες γωνιακές ακίδες. Εάν η πρίζα δεν είναι στη συνέχεια επίπεδη στον πίνακα, είναι εύκολο να το διορθώσετε μεταπωλώντας τον έναν ή τον άλλο πείρο. Όταν είναι εντάξει, κολλήστε τα υπόλοιπα.

Τοποθετήστε τις δύο υποδοχές των 12 ακίδων και, στη συνέχεια, τοποθετήστε το Arduino σε αυτά για να τα κρατήσετε κάθετα και σταθερά κατά τη συγκόλληση. Και πάλι, η συγκόλληση δύο ακίδων σε κάθε άκρο θα επιτρέψει πρώτα έναν έλεγχο πριν από την τελική συγκόλληση.

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

Βήμα 4: Καλωδίωση

Καλωδίωση
Καλωδίωση
Καλωδίωση
Καλωδίωση

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

Τα εξαρτήματα εξόδου ήχου (R2, R3, C2, C3) και οι πυκνωτές αποσύνδεσης (C1, C4) μπορούν να συνδεθούν με καλώδιο συμπαγούς πυρήνα (ή εκτός σύνδεσης καλωδίων εξαρτημάτων). Οι συνδέσεις γείωσης και ισχύος από το Arduino στο τσιπ PSG (κόκκινα και μαύρα καλώδια, στην εικόνα) μπορούν τώρα να γίνουν.

Οι διάφορες έξοδοι του Pro Micro είναι συνδεδεμένες στο AY-3-8910 ως εξής (ανατρέξτε στον οδηγό σύνδεσης για αναθέσεις πείρων):

Signal Arduino AY-3-8910 pin

DA0 D2 37 DA1 D3 36 DA2 D4 35 DA3 D5 34 DA4 D6 33 DA5 D7 32 DA6 D8 31 DA7 A0/D18 30 BC1 D10 29 BC2 MOSI/D16 28 BDIR MISO/D14 27 RESET# SCLK/D15 23 CLOCK D9 22 (via R1, 75 ohm)

Βήμα 5: Προγραμματισμός χρησιμοποιώντας το Arduino IDE

Προγραμματισμός χρησιμοποιώντας το Arduino IDE
Προγραμματισμός χρησιμοποιώντας το Arduino IDE

Εάν είστε νέοι στο Arduino, θα συνιστούσα ανεπιφύλακτα να δοκιμάσετε ένα από τα πολλά σεμινάρια για τα βασικά. Ο οδηγός σύνδεσης του Sparkfun δίνει πλήρεις λεπτομέρειες. Μπορείτε να ελέγξετε ότι λειτουργεί ο βασικός προγραμματισμός ακολουθώντας το σεμινάριο "Blinkies". Το Arduinos μπορεί να είναι λίγο δύσκολο να πείσει για τη λειτουργία "bootloader" (όπου μπορείτε να φορτώσετε νέα σκίτσα), οπότε λίγη εξάσκηση με ένα απλό παράδειγμα είναι χρήσιμη.

Μόλις είστε ευχαριστημένοι, κατεβάστε το αρχείο chiptunes.ino που επισυνάπτεται σε αυτήν τη σελίδα και δημιουργήστε και ανεβάστε το. (Διαπίστωσα ότι η χρήση του τύπου "Arduino/Genuino Micro" είναι εντάξει για αυτό το σκίτσο, αν θέλετε να παραλείψετε την εγκατάσταση της υποστήριξης της πλακέτας Sparkfun).

Επίσης, σημειώστε ότι εάν χρησιμοποιείτε Mac, η ρύθμιση "Port" θα πρέπει να αλλάξει μόλις φορτώσετε το σκίτσο για πρώτη φορά. Με ένα "κενό" Arduino (ή χρησιμοποιώντας το σκίτσο Blinky) θα εμφανιστεί σαν /dev/cu.usbmodemXXXX, όπως φαίνεται στην παραπάνω εικόνα. Όταν η συσκευή USB MIDI είναι ενεργή (όπως χρησιμοποιείται από το chiptunes.ino σκίτσο) θα είναι /dev/cu.usbmodemMID1.

Βήμα 6: Δοκιμή και χρήση του Synth

Δοκιμή και χρήση του Synth
Δοκιμή και χρήση του Synth
Δοκιμή και χρήση του Synth
Δοκιμή και χρήση του Synth
Δοκιμή και χρήση του Synth
Δοκιμή και χρήση του Synth

Μόλις προγραμματιστεί το Arduino, ο σταθμός εργασίας σας θα πρέπει να το αναγνωρίζει αυτόματα ως συσκευή USB MIDI. Θα εμφανιστεί με το όνομα "Arduino Micro" - θα πρέπει να μπορείτε να το δείτε στη Διαχείριση συσκευών στα Windows ή στην εφαρμογή "Πληροφορίες συστήματος" στο Mac OS.

Σε Mac, μπορείτε να χρησιμοποιήσετε την εφαρμογή Audio MIDI Setup για να εκτελέσετε μια βασική δοκιμή. Ξεκινήστε την εφαρμογή και, στη συνέχεια, επιλέξτε Παράθυρο -> Εμφάνιση MIDI Studio. Αυτό θα εμφανίσει το παράθυρο MIDI Studio - όλες οι διεπαφές MIDI θα εμφανιστούν σε μια ελαφρώς τυχαία διάταξη - η οποία ελπίζουμε ότι θα περιλαμβάνει τη συσκευή «Arduino Micro». Εάν κάνετε κλικ στο εικονίδιο "Test Setup" στη γραμμή εργαλείων και, στη συνέχεια, κάντε κλικ στο κάτω βέλος (δείτε την εικόνα) στη συσκευή Arduino Micro, η εφαρμογή θα στείλει σημειώσεις MIDI στο synth. (Αυτά δεν είναι ιδιαίτερα συντονισμένα!) Το synth θα πρέπει να κάνει κάποιους τυχαίους ήχους σε αυτό το σημείο.

Στη συνέχεια, μπορείτε να προσθέσετε το «Arduino Micro» ως συσκευή εξόδου στη ρύθμιση MIDI του Σταθμού Digitalηφιακού Workχου και να αρχίσετε να παίζετε!

  • Το synth ανταποκρίνεται στα κανάλια MIDI 1 έως 4. Κάθε κανάλι έχει διαφορετικό ήχο (καλά, διαφορετικό φάκελο έντασης).
  • Οι σημειώσεις MIDI μεταξύ 24 και 96 (C1-C7) γίνονται δεκτές. οι σημειώσεις εκτός αυτού του εύρους αγνοούνται.
  • Το κανάλι MIDI 10 αναπαράγει ήχους τυμπάνου. Σημειώστε τους αριθμούς μεταξύ 35 και 50 (βλ

    www.midi.org/specifications-old/item/gm-level-1-sound-set) γίνονται αποδεκτά.

  • Υπάρχουν τρία κανάλια φωνής στο AY-3-8910. Το υλικολογισμικό synth προσπαθεί να αναπαράγει την πιο πρόσφατα αποσταλμένη νότα, διατηρώντας παράλληλα τις υψηλότερες και χαμηλότερες σημειώσεις που ζητούνται. Άλλες νότες (συνήθως οι μεσαίες νότες σε μια χορδή) κόβονται αν είναι απαραίτητο.

Και μέχρι εκεί. Καλα να περνατε!

Βήμα 7: Υποσημειώσεις

Σχετικά με την επίδειξη μελωδίας

Η επίδειξη μελωδίας - η διάσημη άρια του Queen Of The Night του Μότσαρτ - δημιουργήθηκε αρκετά γρήγορα από ένα αρχείο MIDI που βρήκα στο Διαδίκτυο (https://www.midiworld.com/mozart.htm). Κάποιος άλλος έκανε όλη τη σκληρή δουλειά!

Χρησιμοποιώ το Presonus Studio One σε Mac και το αρχείο MIDI εισήχθη σε τέσσερα ξεχωριστά κομμάτια. Χρειάστηκε μια μικρή ποσότητα επεξεργασίας όπου οι νότες συνοδείας είναι υψηλότερες από την κύρια μελωδία και για να αφαιρέσετε μερικές από τις πιο απαράδεκτες διακυμάνσεις μεταξύ των σημειώσεων.

Ο ήχος που ακούτε στο κλιπ είναι απευθείας από το synth, με ένα μόνο άγγιγμα EQ και κορεσμού για να του δώσετε μια αίσθηση χαμηλής έντασης «μηχανής arcade».

Συνιστάται: