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

(σχεδόν) Universal MIDI SysEx CC Programmer (and Sequencer ): 7 βήματα (με εικόνες)
(σχεδόν) Universal MIDI SysEx CC Programmer (and Sequencer ): 7 βήματα (με εικόνες)

Βίντεο: (σχεδόν) Universal MIDI SysEx CC Programmer (and Sequencer ): 7 βήματα (με εικόνες)

Βίντεο: (σχεδόν) Universal MIDI SysEx CC Programmer (and Sequencer ): 7 βήματα (με εικόνες)
Βίντεο: ЗАПРЕЩЁННЫЕ ТОВАРЫ с ALIEXPRESS 2023 ШТРАФ и ТЮРЬМА ЛЕГКО! 2024, Νοέμβριος
Anonim
(σχεδόν) Universal MIDI SysEx CC Programmer (and Sequencer…)
(σχεδόν) Universal MIDI SysEx CC Programmer (and Sequencer…)
(σχεδόν) Universal MIDI SysEx CC Programmer (and Sequencer…)
(σχεδόν) Universal MIDI SysEx CC Programmer (and Sequencer…)

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

Οι ίδιοι οι κατασκευαστές και οι εταιρείες τρίτων συνειδητοποίησαν προαιρετικά κουτιά γεμάτα πόμολα και/ή ρυθμιστικά για να σας επιτρέψουν να "παίζετε" με τους τόνους των συνθετικών σας, αλλά αυτά είναι ανόητα υπερτιμημένα στις μέρες μας και, όπως πάντα, είμαστε αναγκασμένοι να βρούμε φτηνές λύσεις μόνοι μας.)

Αυτό το έργο προέκυψε από την ανάγκη μου να προγραμματίσω εύκολα επιδιορθώσεις σε μερικά από τα τελευταία μου synths buy: ένα Roland Alpha Juno 2 και JX8P. Ξεκίνησε ως ένας απλός ελεγκτής SysEx, μετά μεγάλωσε πάνω μου και έγινε κάτι πιο περίπλοκο, με άλλα synths να υποστηρίζονται στο δρόμο (Korg DW8000, Oberheim Matrix 6/6R, SCI MAX) και ένα ενσωματωμένο sequencer.

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

Βήμα 1: Τι ακριβώς είναι αυτό το πράγμα (και τι δεν είναι …)

Τι ακριβώς είναι αυτό το πράγμα (και τι όχι…)
Τι ακριβώς είναι αυτό το πράγμα (και τι όχι…)
Τι ακριβώς είναι αυτό το πράγμα (και τι όχι…)
Τι ακριβώς είναι αυτό το πράγμα (και τι όχι…)
Τι ακριβώς είναι αυτό το πράγμα (και τι όχι…)
Τι ακριβώς είναι αυτό το πράγμα (και τι όχι…)

Ο ελεγκτής MIDI SysEx και Control Change εδώ είναι ουσιαστικά ένα 16 πόμολο (ποτενσιόμετρα) και ελεγκτής MIDI 4 κουμπιών. Το προεπιλεγμένο σκίτσο χειρίζεται τρεις "σελίδες", για συνολικά 48 παραμέτρους συνθετικού τόνου.

Έκανα το χειριστήριο συμβατό με τα μηνύματα MIDI αλλαγής ελέγχου (ένας απλός και "παγκόσμιος" τύπος μηνύματος MIDI που χρησιμοποιείται ευρέως από τους κατασκευαστές synth ειδικά από τη δεκαετία του '90) και τα μηνύματα SysEx (ένας άλλος τύπος μηνύματος MIDI, πολύ λιγότερο γενικός και ιδιαίτερα συνθετικός σε μεγάλο βαθμό χρησιμοποιείται στη δεκαετία του '80).

Συγκεκριμένα, ο ελεγκτής από προεπιλογή είναι συμβατός με:

- Roland Alpha Juno (1/2)

- Roland JX8P

- Korg DW8000

- Oberheim Matrix 6/6R (> 2,14 υλικολογισμικό)

- Διαδοχικά κυκλώματα MAX/SixTrak.

Μπορείτε τελικά να επιτρέψετε στον ελεγκτή να ενεργεί σε οποιοδήποτε synth που μπορεί να λάβει μηνύματα αλλαγής ελέγχου MIDI (CC), αλλά είναι απενεργοποιημένο από προεπιλογή.

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

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

Μπορείτε να κατεβάσετε φύλλα εικόνων με τη "διάταξη" 4x4 που συνειδητοποίησα για τα Alpha-Junos, JX8P, DW8000, Matrix 6 και MAX/SixTrak σε αυτήν τη σελίδα: οι μπλε παράμετροι είναι αυτές που μπορείτε να αλλάξετε στη σελίδα 1, μαύρες αυτές στη σελίδα 2 και πορτοκαλί αυτά στη σελίδα 3.

Ακόμα κι αν το χειριστήριο δεν έχει οθόνη, το παιχνίδι με συνθετικά που σας δείχνουν ποια παράμετρος ρυθμίζεται σε πραγματικό χρόνο καθιστά τη διαδικασία δημιουργίας μιας ενημερωμένης έκδοσης κώδικα μια χαρά. Το JX8P και το Matrix 6, για παράδειγμα, είναι ικανά για αυτό. Το Alpha Juno, αντίθετα, δεν σας δείχνει την παράμετρο που αλλάζει και κάνει τα πράγματα λίγο πιο δύσκολα (αλλά η δημιουργία φοβερών επιδιορθώσεων είναι σίγουρα εφικτή και ευκολότερη από τη χρήση της ενσωματωμένης διεπαφής knobless). Το DW8000 έχει μόνο αριθμητικές οθόνες, αλλά μπορείτε να δείτε τις τροποποιήσεις σας σε πραγματικό χρόνο, ώστε να τοποθετείται ενδιάμεσα σε αυτό.

Τι γίνεται με αυτά τα κουμπιά εκεί;

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

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

Το τρίτο είναι για μια δευτερεύουσα συνάρτηση: το τυχαίο τυποποιητή/επιθεωρητή! Γυρίστε πλήρως αριστερόστροφα τα κουμπιά στα οποία θέλετε να ενεργοποιηθεί η παράμετρος για να κλειδώσουν στην ελάχιστη τιμή (π.χ. ταλαντωτή LFO, φάκελο ταλαντωτή κ.λπ.) ή να στρίψετε πλήρως δεξιόστροφα για να μεγιστοποιήσετε την τιμή (π.χ. ένταση μίξης ταλαντωτή, ένταση VCA κ.λπ.) και πατήστε το κουμπί για να ξεκινήσει τη διαδικασία τυχαιοποίησης για όλες τις άλλες παραμέτρους.

Το τέταρτο κουμπί είναι εκεί για να ενεργοποιήσετε ένα πασχαλινό αυγό (είδος…) Τοποθέτησα στον κώδικα αφού παρατήρησα ότι η διάταξη ήταν τέλεια για… έναν ακολουθιογράφο MIDI 16 βημάτων! Ακριβώς: πατήστε το τέταρτο κουμπί (κουμπί MODE), ο ελεγκτής θα εισέλθει στη "λειτουργία ακολουθίας" και θα έχετε τη δυνατότητα να ενεργοποιήσετε σημειώσεις με παρόμοιο τρόπο που έκαναν οι παλιοί αναλογικοί ακολουθιογράφοι. Ωραία ε!

Πατήστε ξανά το κουμπί MODE για να επιστρέψετε στη λειτουργία χειριστηρίου/επιδιόρθωσης.

Τι γίνεται με αυτά τα LED;

Υπάρχουν 4 LED που αντιστοιχούν σε κάθε κουμπί (στα δεξιά κάθε κουμπιού στη διάταξή μου). αυτές οι λυχνίες LED έχουν πολλαπλά ποτήρια:

1) σας λένε σε ποια σελίδα παραμέτρων βρίσκεστε (η επάνω λυχνία LED ανάβει όταν βρίσκεστε στη σελίδα 1, η λυχνία LED από κάτω ανάβει όταν η σελίδα 2 είναι ενεργή, η λυχνία 3 ανάβει … το καταλάβατε μόνοι σας). Περιοριζόμαστε σε 3 σελίδες ΑΤΜ, αλλά ο κώδικας μπορεί να συντονιστεί εύκολα για να χειριστεί περισσότερες σελίδες.

2) το δεύτερο LED υποδεικνύει τις παραμέτρους σελίδα 2 ΚΑΙ ανάβει όταν ο μικροελεγκτής στέλνει το προηγούμενο έμπλαστρο (ανάκληση κώδικα).

3) το τρίτο LED υποδεικνύει τις παραμέτρους σελίδα 3 ΚΑΙ ανάβει κατά τη διαδικασία τυχαιοποίησης.

Η τέταρτη λυχνία LED δεν κάνει τίποτα στη λειτουργία ελεγκτή MIDI και χρησιμοποιείται για καθολική αλλαγή MODE.

Όλες αυτές οι λειτουργίες μεταδίδονται ως μηνύματα MIDI, οπότε για να είναι αποτελεσματικό, το synth σας πρέπει να είναι ικανό/ενεργοποιημένο να λαμβάνει και να ερμηνεύει αυτού του είδους τα μηνύματα

Βήμα 2: Ο "Κρυμμένος" Sequencer 16 Βημάτων

ο
ο

Όπως είπα, κατά τη δοκιμή του ελεγκτή συνειδητοποίησα ότι θα ήταν υπέροχο να αφήσω μια ακολουθία σημειώσεων να τρέξει έτσι ώστε να μπορώ να αλλάξω τις συνθετικές παραμέτρους και να έχω μια καλύτερη ιδέα για το τελικό αποτέλεσμα στον τόνο. Έχω ένα πρόγραμμα ακολουθίας λογισμικού (μου αρέσει το seq24 τόσο πολύ!), Αλλά αυτό το υλικό είναι ένας σχεδόν ΤΕΛΕΙΑ ακολουθιογράφος 16 βημάτων! Τότε ήταν μόνο θέμα κώδικα η εφαρμογή του.

Μπορείτε να κάνετε εναλλαγή μεταξύ λειτουργίας ελεγκτή και λειτουργίας ακολουθίας πατώντας το κουμπί #4 (κουμπί MODE).

Ενώ στη λειτουργία sequencer τα κουμπιά λειτουργούν διαφορετικά και τα LED σας δίνουν νέες πληροφορίες:

- το πρώτο κουμπί (κουμπί SHIFT) όταν πατηθεί επιτρέπει ρυθμό, μήκος σημειώσεων, κανάλια και τροποποίηση οκτάβας · η τιμή ρυθμού δίνεται από τη θέση του πρώτου ποτενσιόμετρου, το μήκος της νότας υπολογίζεται από τη δεύτερη θέση ποτενσιόμετρου, τα κανάλια MIDI από τις τρίτες και τέταρτες θέσεις ποτενσιόμετρου και οκτάβα (-1 o έως +2) από το πέμπτο δοχείο. Μπορείτε να ελέγξετε το τέμπο από 40 BPM (γυρίστε το ποτενσιόμετρο #1 αριστερόστροφα, ενώ κρατάτε πατημένο το κουμπί #1) έως σχεδόν 240 BPM (γυρίστε το ποτενσιόμετρο #1 δεξιόστροφα, ενώ κρατάτε πατημένο το κουμπί #1). Μπορείτε να ρυθμίσετε το μήκος των σημειώσεων σε μισή νότα, νότα τετάρτου, νότα οκτώ, νότα δεκαέξι, γυρίζοντας το δοχείο #2, ενώ κρατάτε πατημένο το κουμπί SHIFT. Μπορείτε να ορίσετε κανάλια MIDI (κύριο κανάλι και δευτερεύον κανάλι) από 1 έως 16. Το εύρος σημειώσεων βάσης (από C2 έως F#4) μπορεί να μειωθεί κατά μία οκτάβα ή να αυξηθεί κατά μία ή δύο οκτάβες.

Από προεπιλογή, ο ρυθμός ρυθμίζεται στα 120 BPM και το μήκος σημειώσεων στις σημειώσεις τέταρτου.

- το δεύτερο κουμπί εκκίνησης και διακοπής της ακολουθίας σημειώσεων. Όπως είπαμε, αν αλλάξετε λειτουργία πατώντας το κουμπί #4 (MODE) ενώ εκτελείτε την ακολουθία, θα μπείτε στη λειτουργία ελεγκτή, αλλά η ακολουθία θα συνεχίσει να εκτελείται.

- το τρίτο κουμπί είναι ΠΑΝΙΚΟΣ! Πατώντας το, όλες οι σημειώσεις θα κλείσουν.

- το τέταρτο χρησιμοποιείται για εναλλαγή μεταξύ καθολικών λειτουργιών (pather ή sequencer) όταν δεν πατάτε το κουμπί #1 ή μεταξύ λειτουργιών ακολουθίας (βλέπε παρακάτω) όταν πατάτε το #1.

Στη λειτουργία αλληλουχίας αν πατήσετε το κουμπί επιλογής λειτουργίας διατηρώντας πατημένο το κουμπί #1 (SHIFT) μπορείτε να κάνετε εναλλαγή μεταξύ 3 διαφορετικών τρόπων ακολουθίας:

Μονοφωνική ακολουθία 1 - 16 βημάτων

2 - 16 βήματα πολυ ακολουθία: ενεργοποιούνται επίσης σημειώσεις μία οκτάβα χαμηλότερες από αυτές που ορίζονται από τα δοχεία (αυτό αδειάζει 2 φωνές ανά ρυθμό)

3 - 8 βήματα πολυ ακολουθία, διπλό κανάλι: δύο παράλληλες ακολουθίες 8 βημάτων αποστέλλονται σε δύο διαφορετικά κανάλια (CH1 και CH2 από προεπιλογή). ορίζοντας την ίδια τιμή καναλιού τόσο στο κύριο όσο και στο δεύτερο κανάλι, μπορείτε να έχετε δύο παράλληλες ακολουθίες 8 βημάτων που παίζονται από τον ίδιο (πολυφωνικό) συνθεσάιζερ.

Σχετικά με τις λυχνίες LED: μόλις μπείτε στη λειτουργία ακολουθίας, θα ανάψουν και τα τέσσερα φώτα. Όταν ξεκινάτε την ακολουθία, τα LED θα ακολουθήσουν την ακολουθία (ή τις ακολουθίες). Τοποθέτησα ένα LED κάθε τέσσερα ποτενσιόμετρα και είναι αρκετά καλό για μένα. Θα ήταν απλό να τροποποιήσετε το σκίτσο για να χειριστεί 16 LED, ένα για κάθε βήμα.

Τα βήματα της ακολουθίας ακολουθίας που χάνονται από κάποιον μπορεί να θεωρηθούν απαραίτητα: MIDI sync IN, βήματα παρατεταμένα (μπορείτε να κλείσετε μόνο ένα βήμα), CV out.

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

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

Βήμα 3: Απαιτείται υλικό και κατασκευή

Απαιτείται υλικό και κατασκευή
Απαιτείται υλικό και κατασκευή
Απαιτείται υλικό και κατασκευή
Απαιτείται υλικό και κατασκευή
Απαιτείται υλικό και κατασκευή
Απαιτείται υλικό και κατασκευή
Απαιτείται υλικό και κατασκευή
Απαιτείται υλικό και κατασκευή

Μετά από όλα αυτά τα λόγια, ας διασκεδάσουμε!

Ακολουθούμε τον κοινό τρόπο Arduino. Χρησιμοποίησα ένα Arduino MEGA λόγω της μεγάλης ποσότητας αναλογικών εισόδων (θέλουμε ένα κουτί γεμάτο πόμολα, έτσι δεν είναι;:)).

Συγκεκριμένα, το Arduino MEGA μπορεί να χειριστεί 16 αναλογικές εισόδους (με κάποια προσαρμογή υλικού, δηλαδή με muxing, μπορείτε να το αυξήσετε, αλλά δεν ακολουθούμε αυτήν τη διαδρομή εδώ), οπότε θα στείλουμε τα 48 μηνύματα MIDI μέσω 16 ποτενσιόμετρων. Κάθε ποτενσιόμετρο θα ελέγχει στη συνέχεια τρεις παραμέτρους, μία για κάθε "σελίδα". οι σελίδες επιλέγονται με ένα κουμπί εναλλαγής.

Λίστα υλικού:

- 1x Arduino MEGA

- 16x γραμμικά, μονής στροφής 10 K ohm ποτενσιόμετρα

- Κουμπιά 16x κατσαρόλας

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

- 4x LED

- Αντίσταση 6x 220 ohm

- 1x υποδοχή MIDI

- 1x κουτί έργων ABS

Κάποιο καλώδιο, σύρμα συγκόλλησης και έξι - οκτώ ώρες ελεύθερου χρόνου.

Χρησιμοποίησα έναν πίνακα και μερικές κεφαλίδες καρφίτσας για να συνειδητοποιήσω ένα είδος ασπίδας, κόλλησα τις αντιστάσεις και κατευθύνω τα καλώδια. Αυτό έχει το πλεονέκτημα να σας αφήνει να βγάζετε το Arduino σας και να το χρησιμοποιείτε για άλλα έργα (όλοι κάποια στιγμή τελειώνουμε με τους πίνακες Arduino!). Δεν είναι υποχρεωτικό ούτως ή άλλως και μια άλλη καλή προσέγγιση θα μπορούσε να είναι η αποκόλληση των καρφιτσών arduino MEGA και των καλωδίων συγκόλλησης απευθείας στη θέση τους.

Χρησιμοποίησα αντιστάσεις 200 ohm στη θέση των αντιστάσεων 220 ohm και λειτουργούν τέλεια ούτως ή άλλως. θα έβαζα στοίχημα ότι ακόμη και 150 ohm αντιστάσεις θα λειτουργούσαν τέλεια (τόσο για επικοινωνία MIDI όσο και για LED).

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

Έκανα επίσης μια τρύπα για το βύσμα MIDI OUT και μια άλλη για το σύνδεσμο τροφοδοσίας arduino (χρησιμοποίησα απευθείας τον ενσωματωμένο σύνδεσμο τροφοδοσίας USB και κλείδωσα σταθερά το arduino MEGA στη θέση του).

ΠΡΟΕΙΔΟΠΟΙΗΣΗ: Φοράτε ΠΑΝΤΑ πάντα προστατευτικά για τα μάτια και τα χέρια κατά τη διάτρηση, σε όποιο υλικό και αν εργάζεστε (πλαστικό, ξύλο, μέταλλα, σύνθετα υλικά … δεν έχει σημασία: κινδυνεύετε τόσο όσον αφορά τα ηλεκτρικά εργαλεία όσο και τα τσιπς του υλικού που έχει διαβρωθεί/καεί από το κινούμενο εργαλείο).

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

Και πριν ρωτήσει κανείς: Το ξέρω, αυτό το κουτί που χρησιμοποίησα είναι άσχημο! Αλλά ήταν δωρεάν και τίποτα δεν είναι δωρεάν:)

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

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

Η καλωδίωση είναι εύκολη καθώς συνδέετε ένα ποτενσιόμετρο (x16), ένα κουμπί (x4) και LED (x4) σε μια πλακέτα μικροελεγκτή Arduino. Όλα τα βασικά του Arduino καλύπτονται εδώ:)

Επισυνάπτεται η καλωδίωση. Σημειώσε ότι:

- Χρησιμοποιούνται όλες οι αναλογικές ακίδες (από Α0 έως Α15), μία για κάθε ποτενσιόμετρο.

- Χρησιμοποιούνται 4 ψηφιακές ακίδες (είσοδοι) (από D51, D49, D47, D45), μία για κάθε κουμπί.

- χρησιμοποιούνται άλλες 4 ψηφιακές ακίδες (έξοδοι) για LED (D43, D41, D39, D37).

- Η σύνδεση MIDI out είναι πολύ απλή και ζητά δύο αντιστάσεις 220 ohm (αλλά έως 150 ohm θα λειτουργήσει)

- Τα κουμπιά δεν ζητούν αναδίπλωση αντιστάσεων, επειδή το σκίτσο ενεργοποιεί τις εσωτερικές αντιστάσεις έλξης του Arduino.

- Κάθε LED ζητάει μια αντίσταση περιορισμού (200-220 ohm είναι εντάξει για τις πράσινες λυχνίες LED).

Χρησιμοποίησα τις αναφερόμενες ψηφιακές καρφίτσες για εμπορεύματα, αλλά δεν είναι "ειδικές" καρφίτσες (δεν χρησιμοποιούμε την ικανότητα pwm ορισμένων καρφιτσών εδώ ή κάποια άλλη συγκεκριμένη καρφίτσα): μπορείτε να ορίσετε τις αγαπημένες σας ψηφιακές ακίδες, αλλά θυμηθείτε να τροποποιήσετε ο κωδικός ανάλογα ή τα κουμπιά/τα LED σας δεν θα λειτουργήσουν!

Παρακαλούμε, προσέξτε ότι η σύνδεση MIDI OUT στην εικόνα είναι ΕΜΠΡΟΣ (όχι πίσω).

Βήμα 5: Λογισμικό - Μερικοί σύνδεσμοι προς τη θεωρία

Δεν πρόκειται να εξηγήσω την πλήρη θεωρία πίσω από τα μηνύματα System Exclusive ή Control Change γιατί υπάρχουν πολλά καλά άρθρα εκεί έξω και είναι ανόητο να ξαναγράφω αυτό που έχει ήδη γραφτεί.

Απλώς ένας γρήγορος σύνδεσμος για την εφαρμογή του Roland SysEx:

- https://erha.se/~ronny/juno2/Roland%20Juno%20MIDI%2… (ΑΓΓΛΙΚΑ)

- https://www.2writers.com/eddie/tutsysex.htm (ΑΓΓΛΙΚΑ)

- https://www.chromakinetics.com/handsonic/rolSysEx.h… (ΑΓΓΛΙΚΑ)

- https://www.audiocentralmagazine.com/system-exclusi… (ITALIANO)

και κάποιο σύνδεσμο για το MIDI γενικά:

-

-https://www.music-software-development.com/midi-tut…

Βήμα 6: Λογισμικό - το σκίτσο

Επισυνάπτεται το σκίτσο που πρέπει να ανεβάσετε στο Arduino Mega.

Προσπάθησα να κρατήσω τον προγραμματιστή όσο το δυνατόν πιο "καθολικό", πράγμα που σημαίνει ότι προσπάθησα να μειώσω τα κομμάτια κώδικα που σχετίζονται με τη σύνθεση. Προσπάθησα να κρατήσω τον κώδικα όσο το δυνατόν πιο απλό. Η προσθήκη του sequencer βήμα έκανε τα πράγματα πιο περίπλοκα και τον κώδικα πιο ακατάστατο, έτσι κι αλλιώς άξιζε τον κόπο για μένα. Η διατήρηση του κώδικα "καθολικός" είναι ο λόγος που η διάταξη του ελεγκτή είναι τόσο "τυχαία": ακολουθεί τη σειρά παραμέτρων της εφαρμογής MIDI που ορίζει ο κατασκευαστής synth στο εγχειρίδιο. Μπορεί να είναι μπερδεμένο στην αρχή, αλλά θα το συνηθίσετε πολύ γρήγορα.

Ο προεπιλεγμένος κώδικας/σκίτσο/υλικολογισμικό υποστηρίζει "μόνο" 48 παραμέτρους (τρεις σελίδες με 16 κουμπιά η κάθε μία), οπότε δεν θα ήταν δυνατός ο έλεγχος όλων των μηνυμάτων MIDI που υποστηρίζονται από το synth σας (σκεφτείτε σε Access Virus ή Novation Supernova: δέχονται περισσότερα ή λιγότερες 110 παραμέτρους συμβατές με MIDI). Μπορείτε εύκολα να αλλάξετε το σκίτσο για υποστήριξη περισσότερων μηνυμάτων, εάν χρειάζεται.

Στην πραγματικότητα υποστηρίζονται μηνύματα SysEx συμβατά με Roland Alpha-Juno, JX8P, Korg DW8000 και Oberheim Matrix 6. Άφησα τον κωδικό για τα συμβατά μηνύματα Juno 106 σε περίπτωση που το χρειάζεστε.

Για το Matrix 6, έπρεπε να επιλέξω τις παραμέτρους για έλεγχο. Άφησα έξω τον τρίτο φάκελο, τη δεύτερη ράμπα και κάτι άλλο. Ο πίνακας δεν μπορεί να ελεγχθεί μέσω MIDI ούτως ή άλλως, οπότε είναι επίσης εκτός. Χρειάζεστε το ενημερωμένο υλικολογισμικό (έκδοση 2.14 ή νεότερη έκδοση) και πρέπει να ορίσετε την παράμετρο "Master -> Sysex Enable" σε "3".

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

Ο κώδικας περιλαμβάνει σχόλια, οπότε δεν χρειάζεται περαιτέρω σχολιασμός εδώ.

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

Πάντα μαθαίνω κάτι νέο διαβάζοντας έναν καλό κωδικοποιητή;)

Βήμα 7: Σχετικά έργα

Από όσο γνωρίζω, δεν υπάρχει ελεγκτής παραμέτρων MIDI και sequencer (ίσως το παλιό Behringer BCR2000 με τροποποιημένο υλικολογισμικό;)

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

- CTRL MIDI editor: αυτό είναι ένα λαμπρό, δωρεάν πρόγραμμα ανοιχτού κώδικα που τρέχει σε win/Linux/mac και μπορεί να μετατρέψει τον υπολογιστή σας σε πλήρη χειριστήριο για SysEx synths

- Μετατροπέας CC "junosex" του David Konsumer: αυτό το έργο ζητάει μικρή εργασία υλικού από την πλευρά σας και η ιδέα είναι υπέροχη - ένας μετατροπέας CC σε SysEx που βασίζεται σε arduino και σας επιτρέπει να χρησιμοποιείτε ένα κοινό μη SysEx MIDI ελεγκτή (δηλαδή ένα κύριο πληκτρολόγιο AKAI MPK) για να μιλήσετε με το σύνθετο που είναι έτοιμο για SysEx

Συνιστάται: