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

Arduino Multi-track MIDI Loop Station: 6 Βήματα
Arduino Multi-track MIDI Loop Station: 6 Βήματα

Βίντεο: Arduino Multi-track MIDI Loop Station: 6 Βήματα

Βίντεο: Arduino Multi-track MIDI Loop Station: 6 Βήματα
Βίντεο: Output DC or AC Voltage using MCP4725 DAC with LCD and PWM to Voltage Converter with Arduino 2024, Νοέμβριος
Anonim
Arduino Multi-track MIDI Loop Station
Arduino Multi-track MIDI Loop Station
Arduino Multi-track MIDI Loop Station
Arduino Multi-track MIDI Loop Station
Arduino Multi-track MIDI Loop Station
Arduino Multi-track MIDI Loop Station

Ένας σταθμός βρόχου ή ένα looper, είναι ουσιαστικά ένα εργαλείο για την αναπαραγωγή σε πραγματικό χρόνο των instrumental ριφ (βρόχων) σας. Δεν προορίζεται ως μέσο εγγραφής, αλλά ως όργανο για να διαμορφώσει την έμπνευση χωρίς περισπασμούς (και τελικά να εκτελέσει ζωντανά…).

Υπάρχουν πολλοί σταθμοί βρόχου εγγραφής ήχου, τόσο με τη μορφή ειδικού υλικού (σχεδόν κάθε κατασκευαστής πεντάλ κιθάρας έχει το δικό του προϊόν) είτε λογισμικού υπολογιστή (το εξαιρετικό Linux Sooper Looper ή Windows Mobius, για να αναφέρω τα πιο γνωστά). Μπορούσα να βρω μόνο λίγα έργα για DIY μη-ήχους αλλά MIDI loopers, που σημαίνει ένα εργαλείο για την εγγραφή συμβάντων MIDI και την αναπαραγωγή τους αμέσως σε έναν βρόχο. τα περισσότερα από αυτά τα έργα (όλα, θα έπρεπε να πω) εγκαταλείπονται ή χάνονται … λοιπόν, εδώ είμαστε με ένα ολοκληρωμένο έργο για όλους!

Αυτός ο σταθμός βρόχου Arduino MIDI απλώς παρακολουθεί τα εισερχόμενα συμβάντα MIDI και τα αναπαράγει. Δεν έχετε παρά να πατήσετε το πεντάλ εγγραφής, να δημιουργήσετε το καλύτερο riff σας και να σταματήσετε την εγγραφή πατώντας ξανά το πεντάλ. Εξαιρετικά εύκολο:)

Αυτό το έργο βασίζεται σε εύχρηστο ανοιχτό υλικό (Arduino DUE), λογισμικό (το δικό μου υλικολογισμικό και Arduino IDE) και μπορεί να προσαρμοστεί ώστε να αντικατοπτρίζει τις προτιμήσεις σας.

Ας το κάνουμε!

ΥΓ: ναι, είναι εξαιρετικά φθηνό!

Βήμα 1: Όρια

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

- λόγω ορίων υλικού (ουσιαστικά μνήμη Aduino DUE), το προεπιλεγμένο μέγιστο μήκος της φράσης που μπορείτε να εγγράψετε περιορίζεται στα 46 δευτερόλεπτα.

- οι βρόχοι δεν μπορούν να αποθηκευτούν και να αναπαραχθούν μετά το κλείσιμο. Ωστόσο, μπορείτε να τα στείλετε σε υπολογιστή και να τα αποθηκεύσετε.

- δεν υπάρχει κβαντισμός σημειώσεων.

- Το ρολόι MIDI υποστηρίζεται, αλλά σε προκαταρκτικό στάδιο αυτήν τη στιγμή.

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

- η μέγιστη πολυφωνία έχει οριστεί σε 10 από προεπιλογή (πάλι, όρια μνήμης Aduino DUE).

Στα θετικά, υποστηρίζονται ροές MIDI από πολλά διαφορετικά όργανα, το καθένα που εκπέμπει στο δικό του κανάλι. αυτό σημαίνει ότι μπορείτε να ηχογραφήσετε πολλαπλά όργανα MIDI ταυτόχρονα, σε στρώσεις ή με το δικό τους κομμάτι (περισσότερα πλεονεκτήματα στο επόμενο βήμα;)).

Εάν το να ζείτε με αυτούς τους περιορισμούς φαίνεται λογικό (και είναι για μένα), θα περάσετε πολύ καλά με αυτό το πράγμα;)

Βήμα 2: Πώς λειτουργεί

Ο σταθμός βρόχου MIDI εδώ είναι πολύ απλός στη λειτουργία. Λειτουργεί με τρόπο παρόμοιο με αυτούς τους σταθμούς ήχου βρόχου υλικού που κάθε κατασκευαστής πεντάλ κιθάρας έχει στον δικό του κατάλογο.

1) Επιλέξτε το κομμάτι στο οποίο θέλετε να ηχογραφήσετε τη σειρά MIDI. Από προεπιλογή, επιλέγεται το "ένα", αλλά μπορείτε να το αλλάξετε πατώντας ένα από τα κουμπιά των κομματιών (ένα για κάθε κομμάτι).

2) Όταν πιέζετε το διακόπτη "REC"/το πεντάλ ποδιού την πρώτη φορά, ο βρόχος ενεργοποιείται. Η πράσινη λυχνία LED ανάβει. Θα περιμένει μέχρι να ληφθεί η πρώτη σας νότα πριν ξεκινήσετε την εγγραφή της πραγματικής ακολουθίας/riff.

3) Όταν ολοκληρώσετε την ακολουθία σας, πατήστε ξανά το διακόπτη "REC"/πεντάλ για να καθορίσετε το πραγματικό μήκος του riff. Η πράσινη λυχνία LED σβήνει. Ο βρόχος θα αρχίσει να αναπαράγει τη σειρά MIDI σας αμέσως. Εάν φτάσετε στο μέγιστο χρόνο, η εγγραφή θα σταματήσει αυτόματα και η ακολουθία θα αρχίσει να αναπαράγεται σε έναν βρόχο.

4) Τώρα, μπορείτε να αποφασίσετε να παραβιάσετε την ακολουθία σας στο τρέχον κομμάτι ή να επιλέξετε ένα νέο κομμάτι και να κάνετε εγγραφή σε αυτό, πατώντας το διακόπτη/πεντάλ "REC". Και στις δύο περιπτώσεις η κίτρινη λυχνία LED θα ανάψει, ακόμη και αν το νέο κομμάτι είναι άδειο, επειδή είναι ένα κομμάτι "slave" (σκλάβος στο πρώτο ηχογραφημένο κομμάτι). Πιέστε ξανά για να σταματήσετε την υπερβολική ρύθμιση (σβήνει η κίτρινη λυχνία LED).

Για εσάς που είστε άνετοι με σταθμούς βρόχου ήχου, αυτή η εξέλιξη MIDI ονομάζεται "REC/PLAY/OVERDUB" και είναι η μόνη που υποστηρίζεται.

Εάν οποιαδήποτε στιγμή αισθανθείτε ότι το τελευταίο σας overdub δεν είναι εντάξει, μπορείτε να το διαγράψετε πατώντας το διακόπτη "αναίρεση"/πεντάλ ποδιού. Μπορείτε να διαγράψετε ολόκληρο το τρέχον κομμάτι κρατώντας πατημένο το πεντάλ "REC" για περισσότερο από 3 δευτερόλεπτα. μπορείτε να επαναφέρετε το looper (επαναφορά λογισμικού) πατώντας ταυτόχρονα τα τρία πρώτα κουμπιά κομματιού ή διαγράφοντας όλα τα χρησιμοποιημένα κομμάτια.

Μπορείτε να κάνετε σίγαση/σίγαση ενός κομματιού πατώντας το κουμπί του κομματιού του τρέχοντος κομματιού.

Μπορείτε να στείλετε έναν ΠΑΝΙΚΟ! μήνυμα πατώντας το κουμπί πανικού. Μπορείτε ακόμη και να στείλετε έναν ΠΑΝΙΚΟ! πιέζοντας ταυτόχρονα τα δύο πρώτα κουμπιά κομματιών.

Το looper έχει ενσωματωμένο απλό μετρονόμο: μια σημείωση στο μήνυμα MIDI για τον αριθμό σημείωσης "64" αποστέλλεται με 100 BPM στο κανάλι 10 (το κανάλι που υποτίθεται ότι ακούτε το τύμπανο). Μπορείτε να αυξήσετε ή να μειώσετε το ρυθμό μέσω του οπτικού κωδικοποιητή. πατώντας το διακόπτη οπτικού κωδικοποιητή μπορείτε να ενεργοποιήσετε/απενεργοποιήσετε το μετρονόμο. Παρατηρήστε ότι το τύμπανο σας πρέπει να ρυθμιστεί ώστε να παίζει ήχο (παγίδα, μπάσο ή όποιος ήχος προτιμάτε) όταν λαμβάνετε τη σημείωση MIDI "64", διαφορετικά ο μετρονόμος θα είναι σίγατος.

Μια γυμνή έκδοση αυτού του MIDI loopstation θα μπορούσε να δημιουργηθεί με έναν διακόπτη για έναρξη και διακοπή της εγγραφής. Κρατώντας πατημένο το διακόπτη για περισσότερα από 3 δευτερόλεπτα, θα ενεργοποιηθεί εκ νέου ο σταθμός βρόχου.

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

ΣΗΜΑΝΤΙΚΗ ΣΗΜΕΙΩΣΗ: το υλικό στις εικόνες μου είναι ένα πρωτότυπο. Χρησιμοποίησα περισσότερες υποδοχές jack από ό, τι χρειαζόταν, αλλά μόνο τέσσερα κουμπιά για κομμάτια. Αυτό συμβαίνει γιατί όταν ξεκίνησα το έργο δεν ήμουν απόλυτα σίγουρος ποιες θα ήταν οι τελικές απαιτήσεις.

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

Βήμα 3: Υλικό

Σκεύη, εξαρτήματα
Σκεύη, εξαρτήματα
Σκεύη, εξαρτήματα
Σκεύη, εξαρτήματα
Σκεύη, εξαρτήματα
Σκεύη, εξαρτήματα
Σκεύη, εξαρτήματα
Σκεύη, εξαρτήματα

Λογαριασμός υλικών:

Πλήρης σταθμός βρόχου MIDI 5 κομματιών

1x Arduino ΛΟΓΩ

7x στιγμιαία κουμπιά

1x πλαστική θήκη (χρησιμοποίησα θήκη 150 x 110 x 70 mm)

2x βύσμα 5 ακίδων DIN θηλυκό πάνελ βάσης MIDI υποδοχή πρίζας

Υποδοχή για υποδοχή βάσης 1x 6,3 mm

1x διπλής όψης 50x70 mm διάφανη σανίδα

LED 5x 3 mm (πράσινο)

LED 1x 3 mm (κίτρινο)

1x οπτικός κωδικοποιητής

1x οπτικό ζεύγος H11L1

1x δίοδος 1N4148

Αντιστάσεις 3x 1000 ohm

Αντίσταση 3x 220 ohm

10x 470 ohm αντιστάσεις

Κάποιο σύρμα συγκόλλησης, μερικά καλώδια, σταθμός συγκόλλησης… και ελεύθερος χρόνος:)

Χρόνος που απαιτείται για την ολοκλήρωση του έργου: 6-9 ώρες

Γιατί όχι UNO;

Οι πρώτες δοκιμές (και ο αρχικός κώδικας εργασίας) γράφτηκαν σε έναν "κανονικό" πίνακα arduino UNO. Αυτός ο πίνακας έχει όρια RAM που με ανάγκασαν να μειώσω την πολυφωνία σε "4", μέγιστο μήκος σε λιγότερο από 4 δευτερόλεπτα και ανάλυση 40 ms στο μέγιστο. Αυτό χωρίς χειρισμό πολλαπλών καναλιών. Αφαιρώντας επίσης την παρακολούθηση ταχύτητας, μπόρεσα να αυξήσω τον χρόνο εγγραφής έως και 7 δευτερόλεπτα.

Με ένα UNO μπορείτε να πραγματοποιήσετε έναν "λειτουργικό" σταθμό βρόχου MIDI τότε, αλλά πολύ περιορισμένο.

Βήμα 4: Λογισμικό

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

Το Arduino IDE και η κοινότητά του είναι ένα άλλο σημαντικό μέρος αυτής της "επιτυχίας".

Δεν θα μπω σε λεπτομέρειες για το πώς να ανεβάσετε το σκίτσο στο arduino σας ΛΟΓΩ. Εάν αυτή είναι η πρώτη σας εμπειρία με το arduino IDE, διαβάστε πρώτα αυτό.

Έγραψα δύο διαφορετικές εκδόσεις του κώδικα, βασισμένες σε δύο εντελώς διαφορετικές προσεγγίσεις.

Η αρχή λειτουργίας της έκδοσης 1 είναι ότι κατά τη διάρκεια της εγγραφής ή της υπερβολής του Arduino DUE ελέγχει και αποθηκεύει στη (πτητική) μνήμη του τα υποστηριζόμενα συμβάντα MIDI (σημείωση, απενεργοποίηση, αλλαγή ελέγχου και κάμψη του βήματος). ο άξονας του χρόνου κβαντίζεται σε βήματα των 20 ms και τα ληφθέντα μηνύματα αποθηκεύονται αντίστοιχα σε αυτές τις υποδοχές. Κατά την αναπαραγωγή, τα αποθηκευμένα μηνύματα MIDI στέλνονται πίσω στο synth τηρώντας την κβαντοποίηση του χρόνου.

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

Υπάρχει επίσης ένας προκαταρκτικός χειρισμός ρολογιού, αλλά θα χρειαστεί κάποιες τροποποιήσεις για να λειτουργήσει όπως πρέπει. Ο κώδικας προϋποθέτει ότι καταγράφετε ένα βρόχο 4/4 - 4 γραμμών (16 παλμούς).

Μπορείτε να απενεργοποιήσετε το εξωτερικό ρολόι πατώντας συνεχώς το κουμπί "πανικού" κατά την ενεργοποίηση του βρόχου.

Οι κωδικοί ανεβαίνουν ΕΔΩ. Τα σχόλια τοποθετούνται σε όλα, ώστε να μπορείτε να λυγίζετε το υλικολογισμικό κατά βούληση;)

Βήμα 5: Συνδετήρες

Wirings
Wirings
Wirings
Wirings
Wirings
Wirings

Τα κυκλώματα MIDI IN και MIDI OUT αναφέρονται στις συνημμένες φωτογραφίες. Παρατηρήστε ότι χρησιμοποιούνται TX1 και RX1 και όχι TX0 και RX0.

Οι ακίδες εισόδου Arduino DUE δεν μπορούν να χειριστούν 5V, αλλά 3.3V. Αυτός είναι ο λόγος για τον οποίο χρησιμοποιείται ένας οπτικός ζεύκτης H11L1 αντί ενός συνηθέστερου 6N138. Έχω αποδείξεις ότι η χρήση ενός 6N138 σε συνδυασμό με ένα διαχωριστή τάσης για τη μείωση της τάσης σήματος που πηγαίνει στο TX1, όπως στο πρώτο μου πρωτότυπο, θα μπορούσε να λειτουργήσει ασταθώς σε ορισμένες ρυθμίσεις.

Οι λυχνίες LED συνδέονται με τις ακίδες εξόδου Arduino DUE μέσω αντιστάσεων 470 Ohm. Μπορείτε να χρησιμοποιήσετε αντιστάσεις έως 1K ohm για να μειώσετε το ρεύμα που πηγαίνει σε LED και να μειώσετε τη φωτεινότητά τους.

Τα κουμπιά/διακόπτες/βύσματα συνδέονται απευθείας με τις ακίδες εισόδου Arduino χάρη στις αντιστάσεις έλξης εισόδου, που ενεργοποιούνται στο σκίτσο. Δεν χρειάζεται εξωτερικές αντιστάσεις.

Ο οπτικός κωδικοποιητής είναι συνδεδεμένος σε GND και +5V. Πηγαίνει στις ακίδες εισόδου Arduino που περνούν από 2 αντιστάσεις 480 ohm, μία για κάθε έξοδο οπτικών δεδομένων.

Το Arduino DUE τροφοδοτείται απευθείας από ακίδα 5V και γείωση μέσω διανομέα +5V DC.

Όλοι οι λόγοι συνδέονται με το αν.

Επισυνάπτεται ένας πίνακας με συνδέσεις από ακίδες arduino σε περιφερειακό IN/OUT. Οι αριθμοί καρφιών Arduino αντικατοπτρίζουν αυτούς του υλικού του πρωτοτύπου μου και θα μπορούσαν να φαίνονται (κατά κάποιο τρόπο…) τυχαίοι. Μπορείτε εύκολα να τροποποιήσετε τη θέση της καρφίτσας στο σκίτσο κατά βούληση;)

Βήμα 6: Τι γίνεται αν έχω περισσότερες από μία πηγές MIDI;

Τι γίνεται αν έχω περισσότερες από μία πηγές MIDI
Τι γίνεται αν έχω περισσότερες από μία πηγές MIDI

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

Ο διακόπτης MIDI είναι μια παθητική συσκευή που ενεργοποιεί μια πηγή MIDI και απενεργοποιεί όλες τις άλλες πηγές. Τόσο απλό.

Η καρδιά ενός διακόπτη MIDI είναι ένας διακόπτης πολλαπλών θέσεων (ο δικός μου είναι 6 θέσεων), 2 πόλων. Είναι πολύ σημαντικό ο αριθμός των πόλων να είναι "2" επειδή κάθε πρίζα MIDI πρέπει να κοπεί εντελώς εάν δεν επιλεγεί και όχι σε επικοινωνία με τους άλλους. Επισυνάπτεται μια φωτογραφία από αυτήν που συνειδητοποίησα για δική μου χρήση.

ΣΕ ΑΥΤΟ ΤΟΝ ΣΥΝΔΕΣΜΟ ένα σχέδιο.

Συνιστάται: