Εάν είστε λάτρης της μουσικής ή άμεσα ερασιτέχνης ή επαγγελματίας μουσικός, σίγουρα στο σπίτι σας έχετε συγκεντρώσει μια μεγάλη συλλογή μουσικών οργάνων. Για να κάνετε όλα αυτά τα μείγματα τέλεια, είναι καλύτερο να πάρετε ένα Ελεγκτής MIDI. Δυστυχώς, αυτοί οι τύποι αντικειμένων είναι συνήθως αρκετά ακριβοί, επομένως είναι δύσκολο για ένα άτομο χωρίς πάρα πολλούς πόρους να έχει πρόσβαση σε ό, τι μπορεί να προσφέρει.
Για να καταλάβετε καλύτερα τι είναι ο ελεγκτής MIDI, πείτε σας ότι προέρχεται η λέξη MIDI Ψηφιακή διεπαφή μουσικού οργάνου, δηλαδή, ένα είδος ελεγκτή που κάνει ηλεκτρονικές μουσικές συσκευές ικανές να επικοινωνούν μεταξύ τους. Εάν έχετε ένα ηλεκτρονικό πληκτρολόγιο στο σπίτι, για παράδειγμα, είναι πολύ πιθανό ότι διαθέτει μια διεπαφή MIDI. Πριν συνεχίσετε να προχωράτε, παρά το γεγονός ότι υπάρχουν ορισμένες τεχνικές λεπτομέρειες που μπορεί να οδηγήσουν κάποιον να πιστεύει διαφορετικά, πρέπει να είναι πολύ σαφές ότι Το MIDI δεν είναι ήχο.
Δημιουργήστε το δικό σας ελεγκτή MIDI με αυτό το απλό σεμινάριο
Μόλις είμαστε σαφείς σχετικά με αυτό, σίγουρα θα είναι πολύ πιο εύκολο για εσάς να καταλάβετε ότι το MIDI είναι απλό σύνολο εντολών ικανό να υποστηρίζει έως και 16 ανεξάρτητα κανάλια, που σημαίνει ότι μπορεί να υπάρχουν έως και 16 διαφορετικές συσκευές που επικοινωνούν ανεξάρτητα μεταξύ τους. Αυτές οι συσκευές πρέπει να συνδεθούν μέσω ενός καλωδίου DIN 5 ακίδων, το οποίο είναι βασικά ένα καλώδιο με πέντε ακίδες μέσα σε μια υποδοχή. Αναλυτικά, είναι πολύ συνηθισμένο να χρησιμοποιείτε USB αντί για DIN 5 ακίδων, σε περίπτωση χρήσης USB πρέπει να δημιουργήσουμε μια διεπαφή USB-MIDI.
Χωρίς άλλη παραλλαγή, σας αφήνω με το σύνδεσμο όπου μπορείτε να βρείτε το φροντιστήριο βήμα προς βήμα με πολλά περιγραφικές εικόνες όπου μπορούμε να εκτελέσουμε όλες τις απαραίτητες ενέργειες για να δημιουργήσουμε τον δικό μας ελεγκτή MIDI.
Πώς να φτιάξετε τον δικό σας ελεγκτή MIDI με το Arduino
Πολλοί είναι οι άνθρωποι που χρειάζονται, για διαφορετικούς λόγους τόσο προσωπικούς όσο και επαγγελματικούς, να χρησιμοποιήσουν ένα πλήρως προσαρμοσμένος ελεγκτής MIDI Επειδή ίσως και ως παράδειγμα, κάποια στιγμή στη ζωή σας ως καλλιτέχνης, η αγορά ενός φθηνού ελεγκτή MIDI μπορεί να μην ικανοποιεί τις προσδοκίες ή τις ανάγκες σας ενώ, όταν έρθει η ώρα, η επιλογή επαγγελματικής έκδοσης μπορεί να είναι υπερβολική και στους δύο οικονομικούς πόρους. ανάγκη, καθώς και ο μεγάλος αριθμός χαρακτηριστικών που μπορούν να προσφέρουν.
Λόγω αυτού, σήμερα θέλω να σας δείξω ό, τι χρειάζεστε, ώστε να μπορείτε να φτιάξετε το δικό σας ελεγκτή MIDI, υποδεικνύοντας και όλα όσα χρειάζεστε για την κατασκευή του και σας προσφέρει το λογισμικό που θα χρειαστεί να εγκαταστήσετε. Ως λεπτομέρεια, για αυτό το έργο η χρήση μιας πλακέτας Arduino είναι απαραίτητη, ένας ελεγκτής που είναι αρκετά ισχυρός για την εκτέλεση αυτής της εργασίας.
Τι είναι ο ελεγκτής MIDI;
Βασικά, ένας ελεγκτής MIDI είναι υπεύθυνος, σε γενικές γραμμές, για τη σύνδεση διαφορετικών μουσικών συσκευών μεταξύ τους. Πολλά είναι τα εργαλεία που ενσωματώνουν μια διεπαφή MIDI, αν και αυτό πρέπει να είναι πολύ σαφές δεδομένου ότι υπάρχουν πολλοί χρήστες που συχνά συγχέονται, το MIDI δεν είναι ένα αρχείο ήχου, αλλά ένα πολύ απλό σύνολο οδηγιών που μπορεί να λάβει ένα όργανο. ή ρυθμίσεις ήχου.
Μέσα στο MIDI υπάρχουν δύο διαφορετικοί τύποιΑφενός έχουμε αυτό που ονομάζεται Change Control, όπου έχει τον αριθμό ελεγκτή και μια τιμή μεταξύ 0 και 127. Χάρη σε αυτό, μπορούν να εκδοθούν μηνύματα όπου μπορούν να αλλάξουν διαφορετικές παράμετροι, όπως ένταση ήχος Διαφορετικά όργανα που δέχονται MIDI θα πρέπει να φέρουν ένα εγχειρίδιο που θα εξηγεί ποια κανάλια και μηνύματα ορίζονται από προεπιλογή και πώς να τα αλλάξετε.
Στη δεύτερη θέση έχουμε το Πρόγραμμα Αλλαγής, μια σειρά μηνυμάτων που με τη σειρά τους είναι πολύ απλούστερα από αυτά που συνθέτουν τον Έλεγχο αλλαγών. Αυτοί οι τύποι μηνυμάτων χρησιμοποιούνται για την αλλαγή της προεπιλογής ή της ενημέρωσης κώδικα μιας συσκευής. Όπως και στο Change Control, μαζί με το όργανο, ο κατασκευαστής πρέπει να περιλαμβάνει ένα εγχειρίδιο που να δείχνει ποιες προεπιλογές αλλάζουν από ένα συγκεκριμένο μήνυμα.
Εξαρτήματα που χρειάζονται για τη δημιουργία του δικού σας σπιτικού ελεγκτή MIDI
Για να μπορέσετε να δημιουργήσετε τον δικό σας ελεγκτή MIDI, θα χρειαστείτε μια σειρά κομματιών εκτός από, όπως έχουμε ήδη αναφέρει, έναν πίνακα Arduino. Πριν συνεχίσετε, απλώς πείτε σας ότι ίσως, στο μέλλον, επειδή θέλετε να επεκτείνετε το έργο, χρειάζεστε περισσότερα πράγματα, αν και, αυτή τη στιγμή με μερικά κομμάτια θα έχετε πολλά.
Χρειαζόμαστε ένα θηλυκό καλώδιο DIN 5 πόλων, 2 220 ohm αντιστάσεις, 2 στιγμιαίους διακόπτες, 2 10k ohm αντιστάσεις, καλώδια σύνδεσης, πλακέτα κυκλώματος, καλώδιο MIDI και συσκευή MIDI ή διασύνδεση USB. Μόνο με αυτά τα κομμάτια μπορείτε να ξεκινήσετε, ακολουθώντας τα βήματά μου, να φτιάξετε τον δικό σας ελεγκτή MIDI.
Πρώτα βήματα
Πριν ξεκινήσω, σας αφήνω μια εικόνα όπου μπορείτε να δείτε τις ακίδες του καλωδίου MIDI σας, με αυτόν τον τρόπο μπορούμε να αναγνωρίσουμε σωστά τις ακίδες και ειδικά πού να συνδέσουμε κάθε μία. Σε γενικές γραμμές, το μόνο που έχετε να κάνετε σε αυτό το σημείο είναι να συνδέσετε τον ακροδέκτη 5 του καλωδίου σε μια αντίσταση 220 ohm και από εκεί στην Arduino Transmit 1, pin 4 σε μια αντίσταση 220 ohm και από εκεί στην υποδοχή 5V του Arduino ενώ ακουμπάτε 2 πρέπει να είναι συνδεδεμένα στη σύνδεση γείωσης του ελεγκτή σας.
Μόλις γίνει αυτό το βήμα, δεν έχετε ένα λεπτομερές διάγραμμα στη φωτογραφία που βρίσκεται ακριβώς κάτω από αυτές τις γραμμές, είναι καιρός να συνδέσετε τα κουμπιά. Η ιδέα σε αυτήν την ενότητα είναι να επιτύχετε, χρησιμοποιώντας τον πείρο digitalRead (ικανός να ανιχνεύει πότε αλλάζει η τάση που φτάνει) για να μπορεί να χρησιμοποιήσει ένα τρανζίστορ για να επιτύχει, με το πάτημα ενός κουμπιού. Για αυτό πρέπει να χρησιμοποιήσουμε μόνο ένα κουμπί έτσι ώστε, στην αριστερή πλευρά του να το συνδέσουμε με 5V, τη δεξιά πλευρά με αντίσταση 220 ohms και από εκεί στη γείωση, ενώ, με τη σειρά του, συνδέουμε επίσης τη δεξιά πλευρά για να καρφιτσώσουμε 6. Το δεύτερο κουμπί θα εγκατασταθεί με τον ίδιο τρόπο αν και, όπως μπορείτε να δείτε στο διάγραμμα, αντί για τον ακροδέκτη 6 το συνδέουμε στο 7.
Λογισμικό για χρήση για τον οικιακό ελεγκτή midi
Μόλις τελειώσουμε με όλο το υλικό, είναι καιρός να συνδέσουμε το όργανο και τη δοκιμή μας. Πριν από αυτό πρέπει να έχουμε ένα Διεπαφή USB-MIDI και καλώδιο MIDI για να συνδέσετε τον πίνακα, ο οποίος στέλνει δεδομένα, με τον υπολογιστή μας. Για να το επιτύχουμε, επιλέξαμε τη βιβλιοθήκη MIDI v4.2 που δημιουργήθηκε από παιδιά από το Forty Seven Effects που πρέπει να έχουμε εγκαταστήσει στο Arduino και να συμπεριληφθεί στο έργο.
Στην περίπτωση του υπολογιστή, θα χρειαστούμε ένα πρόγραμμα ικανό να επιβλέπει όλα τα δεδομένα MIDI που προέρχονται από αυτό από το Arduino. Για αυτό έχουμε διαφορετικές δυνατότητες, όπως MIDI Monitor (OS X), MIDI-OX (Windows) ή Kmidimon (Linux)
Για να κάνουμε μια μικρή δοκιμή πρέπει απλώς να συνδέσουμε το Arduino στον υπολογιστή μας και να εκτελέσουμε τον ακόλουθο κώδικα:
#include #include #include #include #include MIDI_CREATE_INSTANCE(HardwareSerial,Serial, midiOut); // crear objeto de salida MIDI llamado midiOut void setup() { Serial.begin(31250); // configuracion de serial para MIDI } void loop() { midiOut.sendControlChange(56,127,1); // envío de señal MIDI CC -- 56 = nota, 127 = velocidad, 1 = canal delay(1000); // retraso midiOut.sendProgramChange(12,1); // envío de una señal MIDI PC -- 12 = valor, 1 = canal delay(1000); // retraso de 1 segundo }
Εάν όλα πάνε καλά, μπορείτε να πάτε στη δοκιμή κουμπιών, σε περίπτωση που αυτή η δοκιμή δεν έχει λειτουργήσει για εσάς, πρέπει να βεβαιωθείτε ότι όλες οι συνδέσεις είναι σωστές, το κύκλωμα είναι ακριβώς το ίδιο με το προηγούμενο διάγραμμα, το κύκλωμα είναι συνδεδεμένο σε διασύνδεση USB-MIDI με καλώδιο MIDI, τα καλώδια θύρας MIDI είναι σωστά συνδεδεμένα, το καλώδιο MIDI συνδέεται με την είσοδο της διεπαφής USB-MIDI, η πλακέτα Arduino είναι σωστά συνδεδεμένη στο ηλεκτρικό δίκτυο και έχει αρκετή ισχύ ...
Έλεγχος ότι τα κουμπιά λειτουργούν σωστά
Πριν συνεχίσετε να τροφοδοτείτε το πρόγραμμά μας με νέες λειτουργίες και κώδικα που μπορούμε να χαθούμε, αξίζει να σταματήσετε για μια στιγμή και ελέγξτε ότι τα κουμπιά λειτουργούν σωστά. Για αυτούς πρέπει να φορτώσουμε τον ακόλουθο κώδικα:
const int boton1 = 6; // asignacion del boton a una variable const int boton2 = 7; // asignacion del boton a una variable void setup() { Serial.begin(9600); // configuracion del serial pinMode(boton1,INPUT); // configuracion del boton1 como entrada pinMode(boton2,INPUT); // configuracion del boton2 como entrada } void loop() { if(digitalRead(boton1) == HIGH) { // prueba de estado del boton1 delay(10); // retraso if(digitalRead(boton1) == HIGH) { // prueba de estado de nuevo Serial.println("Boton 1 funciona correctamente!"); // log delay(250); } } if(digitalRead(boton2) == HIGH) { // prueba de boton 2 delay(10); // retraso if(digitalRead(boton2) == HIGH) { // prueba de estado de nuevo Serial.println("Boton 2 funciona correctamente!"); // log delay(250); } } }
Αυτός ο κωδικός πρέπει να καταρτιστεί και να εκτελεστεί έτσι ώστε, με το καλώδιο USB συνδεδεμένο, το πρόγραμμα να μας λέει εάν έχει πατηθεί κάποιο από τα κουμπιά.
Δημιουργούμε τον σπιτικό μας ελεγκτή MIDI
Μόλις εκτελέσουμε αυτές τις δοκιμές, είναι καιρός να συναρμολογήσουμε τον δικό μας ελεγκτή MIDI για αυτό, θα χρειαστεί να συντάξετε μόνο τον ακόλουθο κώδικα:
#include #include #include #include #include const int boton1 = 6; // asignamos boton a la variable const int boton2 = 7; // asignamos boton a la variable MIDI_CREATE_INSTANCE(HardwareSerial,Serial, midiOut); // create a MIDI object called midiOut void setup() { pinMode(boton1,INPUT); // configuracion del boton1 como una entrada pinMode(boton2,INPUT); // configuracion del boton2 como una entrada Serial.begin(31250); // configuracion MIDI de salida } void loop() { if(digitalRead(buttonOne) == HIGH) { // comprobacion de estado delay(10); // retraso if(digitalRead(buttonOne) == HIGH) { // comprobacion de estado de nuevo midiOut.sendControlChange(56,127,1); // envío un MIDI CC -- 56 = nota, 127 = velocidad, 1 = canal delay(250); } } if(digitalRead(buttonTwo) == HIGH) { // comprobacion de estado delay(10); // retraso if(digitalRead(buttonTwo) == HIGH) { // nueva comprobacion de estado midiOut.sendControlChange(42,127,1); // envío un MIDI CC -- 42 = nota, 127 = velocidad, 1 = canal delay(250); } } }
Για λεπτομέρειες, πείτε σας ότι δεν μπορείτε να χρησιμοποιήσετε την εντολή Serial.println () με έξοδο MIDI αυτή τη φορά, εάν θέλετε να εμφανίσετε κάποιο είδος μηνύματος στον υπολογιστή, απλώς αλλάξτε:
midiOut.sendControlChange(42,127,1);
από:
midiOut.sendControlChange(value, channel);
όπου η τιμή και το κανάλι πρέπει να έχουν τις επιθυμητές τιμές που θέλετε να εμφανίζονται.
Παράδειγμα λειτουργίας:
Το Arduino σας προσφέρει πολλές δυνατότητες να αναλάβετε έργα μόνοι σας https://www.juguetronica.com/arduino . Ένα από τα καλύτερα πράγματα είναι ότι μπορείτε να ξεκινήσετε χωρίς να είστε ειδικός και να συνεχίσετε να μαθαίνετε, παρακινώντας έτσι τον εαυτό σας να αυτοδίδακτος.
Χαιρετισμούς.
Προσπαθώ να πραγματοποιήσω αυτό το φανταστικό σεμινάριο… αλλά τα # δεν περιλαμβάνουν πλήρη….
Μπορείτε να μου πείτε ποια είναι απαραίτητα;
Σας ευχαριστώ πολύ.
Γεια σου.
Θα ήθελα να φτιάξω μια ηλεκτρονική μονάδα τυμπάνου αντικαθιστώντας τα κουμπιά με εισόδους υποδοχής στις οποίες θα φτάσει ένα πιεζοηλεκτρικό σήμα.
Θα ήταν δυνατόν να το κάνουμε;
Εάν μπορούσατε να δώσετε τα περιεχόμενα αυτού του κώδικα, με ενδιαφέρει αυτό το έργο.