Cuprins:

MIDIfying a Electronic Organ: 6 Steps
MIDIfying a Electronic Organ: 6 Steps

Video: MIDIfying a Electronic Organ: 6 Steps

Video: MIDIfying a Electronic Organ: 6 Steps
Video: Webinar n°6 (The Organ Sounds) 2024, Noiembrie
Anonim
MIDIfying a Electronic Organ
MIDIfying a Electronic Organ

Acest lucru instructiv vă ghidează să luați acea veche orgă neîndrăgită pe care o aveți în garaj sau la subsol și să o convertiți într-un instrument muzical modern. Nu ne vom gândi prea mult la detaliile organului pe care îl aveți, în afară de a spune că, în principiu, tastatura muzicală tipică este un set de taste care se conectează atunci când este apăsat la un autobuz comun. În lumea veche, existau circuite considerabile alături de taste care făceau ca o ieșire să fie transmisă pe autobuz, care la rândul său a fost amplificată și transmisă către un sistem audio. Astăzi tastatura este un set de senzori; citim starea tastelor individuale și trimitem modificările la un sintetizator software, care este condus de comenzi MIDI.

Instrucțiunile acoperă o mare parte din procesul implicat, de la colectarea stării digitale a cheilor, gestionarea acestuia cu un microprocesor Arduino, construirea unui flux de date MIDI și transmiterea acestuia către un computer (inclusiv Raspberry Pi) care rulează sintetizatorul.

Pasul 1: tastatura abstractizată

Următorul reprezintă un organ electronic abstractizat, în care fiecare rând este un set de taste sau opritoare sau alte comutatoare de control. Intrările de coloană 0 reprezintă taste individuale, iar - o magistrală la care este conectată tasta atunci când este apăsată. Marele Manual cu 61 de taste ar putea fi primul rând, Manualul de umflare al doilea rând, Pedalele al treilea și Stopurile etc. al patrulea. Rândurile conțin de fapt 64 de elemente datorită semnificației sale digitale ca putere de 2 dincolo de 61. În rândurile tastaturii, tastele respectă convenția muzicală normală cu C la stânga.

Autobuz 0 - 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ……………….. 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

Autobuz 1 - 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ……………….. 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

Autobuz 2 - 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ……………….. 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

Autobuz 3 - 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ……………….. 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

Fiecare autobuz este independent și izolat electric de colegii săi. Primele 8 elemente sunt evidențiate în Bold, cu 8 astfel de blocuri în aranjamentul de mai sus. Următorul pas detaliază o placă de circuit imprimat care funcționează pe elementele îndrăznețe și pe celelalte 7 blocuri ale acestora.

Tastele au fost reprezentate ca 0 de mai sus. Putem duce acest lucru puțin mai departe și putem spune că o tastă este un 1 digital atunci când este apăsat și 0 în caz contrar. Și tastele pot fi apartamente muzicale convenționale albe sau ascuțite negre, sau pedale de orgă, sau opritoare de orgă, sau o bancă de comutatoare rotative care ne-ar putea oferi un ton de saxofon. Pur și simplu considerăm instrumentul ca un set de comutatoare pe un set de autobuze și, în esență, un flux digital de 0 și 1.

Pasul 2: Cablarea de la tastaturi

Cablare de la tastaturi
Cablare de la tastaturi
Cablare de la tastaturi
Cablare de la tastaturi

Pentru a ajuta la cablarea tastaturilor, a fost construită o placă de circuite imprimate folosind Eagle CAD. Dimensiunea sa este de aproximativ 96mm X 43mm și sunt necesare 8, care se întind pe partea din spate a ansamblurilor de tastatură pentru organe.

Să ne uităm la această placă de circuit imprimat (PCB) în detaliu. Imaginea din stânga este partea din față a PCB-ului pe care sunt montate componentele, iar partea din dreapta este partea din spate, unde lipim componentele.

În primul rând, componentele 2X3 din partea de sus sunt destinate conectării la tastele de mai sus, cu cele două conexiuni superioare magistrala 0 și 1, următoarea pereche 2 și 3, iar perechea inferioară, de asemenea, autobuzele 2 și 3. S-a constatat că un PCB Antetul 2X3 a fost suficient de rigid pentru a găzdui firul de conectare a unui singur fir de la tastele împinse pur și simplu în antet, similar cu cablajul scutului Arduino. Sârma de conectare pe care am folosit-o a fost recuperată din organul original; are un diametru de 0,75 mm.

Deci, fiecare antet 2X3 găzduiește o coloană a tastelor evidențiate în bold sau, în termeni generali, o notă. Astfel, placa necesită 8 dintre aceste anteturi. Imaginea conține unul dintre aceste anteturi feminine din stânga sus. Secțiunea din mijloc a plăcii este populată cu 32 de diode (1N4148 sau similar), fiecare corespunzând uneia dintre intrările roșii. Polaritatea diodei este marcată pe tablă, cu catod (banda neagră) la capătul superior al plăcii. O singură diodă este ilustrată în poziția 4. În cele din urmă, un singur antet masculin 2X5 populează cea mai joasă secțiune a plăcii. Cei 2 pini superiori ai acestuia nu sunt conectați. Pinul 1 se află în colțul din dreapta jos și se conectează la cele 4 diode din stânga, Pinul 2 la diodele 5-8 și, în cele din urmă, 29-32 se conectează la pinul 8. Antetul poate fi tăiat dintr-o secțiune DIL mai lungă, așa cum este ilustrat pe tabla. Cablarea dintre diferitele componente este efectuată în interiorul PCB-ului, singura lipire necesară diodelor și antetelor.

8 dintre aceste plăci complete sunt montate imediat sub manuale folosind găurile de montare furnizate, întinzându-se convenabil pe organ. Funcția acestei plăci este astfel de a prelua un bloc de 8 taste pe 4 autobuze și de a-l prezenta unui antet masculin la care va fi conectat un cablu panglică cu 10 căi pentru transfer la etapa următoare. Designul plăcii poate fi descărcat din fișierul zip furnizat.

Pasul 3: Consolidarea ieșirilor tastaturii în registrele Shift

Consolidarea ieșirilor tastaturii în registrele de schimbare
Consolidarea ieșirilor tastaturii în registrele de schimbare

Sunt necesare încă două PCB-uri, așa cum este afișat mai sus. Sunt cunoscute sub numele de DIN R5 și sunt populare în lumea MIDI, deși oferă pur și simplu o funcție de registru de schimbare. În primul rând în secțiunea orizontală superioară, puteți vedea 4 anteturi masculine 2X5, care se conectează prin cablu cu bandă la omologul 2X5 de pe cele 8 plăci de mai sus. Avem nevoie de două plăci DIN pentru a găzdui cele 8 astfel de cabluri.

Mai jos, pe tablă sunt jetoane IC care formează un registru de schimbare pe 32 de biți și, în cele din urmă, ne interesează 2 alte anteturi 2X5, dintre care una (J2) se conectează la alte plăci DIN (a doua noastră) și cealaltă J1 la microprocesorul nostru Arduino sau Arduino.

Pentru a rezuma, avem -

  • Până la 4 autobuze cu 64 de chei care se alimentează
  • 8 plăci de 32 de intrări, 8 ieșiri pe magistrală
  • aceste 64 de ieșiri se alimentează în 2 registre de deplasare pe 32 de biți
  • microprocesorul Arduino va circula peste autobuze

Pasul 4: Asamblarea hardware-ului

Punerea împreună a hardware-ului
Punerea împreună a hardware-ului
Punerea împreună a hardware-ului
Punerea împreună a hardware-ului
Punerea împreună a hardware-ului
Punerea împreună a hardware-ului
Punerea împreună a hardware-ului
Punerea împreună a hardware-ului

Conexiunile dintre Arduino, cele două plăci DIN și cablurile panglică din complexul de chei pentru organe sunt ilustrate în imaginea de mai sus. Rețineți că al doilea DIN J2 este lăsat gol.

Conectorii folosesc tehnologia IDC (contact izolație-deplasare), iar firele nu trebuie să fie decupate sau separate. Acestea sunt aplicate pe cablu cu un instrument de compresie disponibil la pasionați. La stânga, capătul cablului sertizat poate fi îngrijit cu o lamă de ras; în centru partea inferioară a conectorului asigură o priză mamă 2X5; iar în dreapta o vedere de sus a conectorului.

Plăcile DIN și plăcile PCB personalizate au fost atașate la prelucrarea lemnului de organe folosind șuruburi și distanțieri din lemn de alamă cu cap rotund. O vedere parțială a plăcilor PCB personalizate montate în organ este ilustrată mai sus. Cablurile superioare ale cablului de conectare conectează opritoarele sau comenzile la plăci, iar masa din stânga emană de pe pedale. În cele din urmă, îndepărtarea generatoarelor de ton și a altor funcții asortate ale organului original a permis reutilizarea dulapului gol pentru depozitarea vinului.

Pasul 5: Complexul Arduino

Complexul Arduino
Complexul Arduino
Complexul Arduino
Complexul Arduino
Complexul Arduino
Complexul Arduino
Complexul Arduino
Complexul Arduino

Complexul Arduino văzut în stânga celor două plăci DIN de mai sus va fi acum discutat. Se compune din trei straturi distincte, interconectate ca scuturi Arduino. PCB-urile care cuprind straturile sunt colorate fortuit albastru, verde și roșu.

Stratul albastru (în partea de sus) este un scut produs de Freetronics, care oferă un afișaj de caractere cu cristale lichide 16X2. (2 rânduri de 16 caractere). Nu este strict esențial, dar este extrem de util în verificarea funcționării tastaturilor, pedalelor și opririlor. Este condus de biblioteca LiquidCrystal, iar alte variante hardware ar putea fi ușor substituite.

Stratul roșu (în partea de jos) este un Teensy 3.2 montat pe o placă Sparkfun Teensyduino. Teensy oferă suport MIDI direct și se comportă ca un Arduino UNO. Așadar, folosirea Teensy salvează componentele în aval. Conexiunea sursei de alimentare (5V 2A) este în partea stângă jos, iar conectorul USB care acceptă ieșirea serial sau MIDI în partea centrală stânga. Anteturile de la marginile de sus și de jos oferă funcționalitatea standard a ecranului Arduino.

Stratul verde (încastrat între albastru și roșu) este o placă PCB personalizată. Scopul său este, în linii mari, să susțină biți și piese, cum ar fi legătura cu plăcile DIN, și să taie cablurile externe. O parte din funcționalitatea sa este redundantă. Include câteva circuite pentru suportul MIDI printr-un standard Arduino UNO. De asemenea, oferă un antet masculin 2X5 pentru conectarea cablului panglică la antetul J1 de pe prima placă DIN. Alte funcționalități includ controlul volumului; Organul original a folosit un potențiometru de 10K (oală) acționat de un Foot Shoe.

Cele patru anteturi orizontale oferă conectivitate standard a ecranului Arduino la placa Teensy de mai jos și la afișajul cu cristale lichide. Amprenta asemănătoare unei stații de autobuz din colțul din stânga jos este un rest, iar antetul vertical lung din stânga oferă conectivitate la cele patru autobuze, controlul volumului și sol.

Placa personalizată a fost dezvoltată utilizând Eagle CAD, iar fișierele zip ale complexului Gerber trimise către fabricanții de PCB sunt disponibile în fișierul zip PCB2.

Pasul 6: Software-ul Arduino

Software-ul a fost inițial dezvoltat pentru un Arduino UNO și ulterior a fost modificat cu foarte puține modificări pentru a utiliza Teensy. Utilizarea pinului este neschimbată.

Afișajul cu cristale lichide folosește o jumătate de duzină de pini și s-a decis utilizarea pinilor analogici în modul digital pentru a obține un bloc de pini adiacenți pentru autobuze. Controlul volumului utilizează un alt pin analogic în modul analogic.

O mare parte a software-ului se referă la citirea tastelor individuale, a pedalei și a tastelor de oprire, permițând fiecare autobuz pe rând și marcând valorile de biți din registrele de schimbare furnizate de plăcile DIN.

Mediul din aval va include de obicei un procesor care rulează Windows sau UNIX sau Linux și un sintetizator software precum FluidSynth, care ar putea fi la rândul său gestionat de jOrgan. FluidSynth este acționat în cele din urmă de unul sau mai multe Soundfont (e), care specifică ce sunet este generat atunci când este recepționată o anumită comandă MIDI. Există o anumită analogie cu fonturile de procesare a textului. Pentru tastatură și pedale, o modificare față de scanarea anterioară va duce la generarea unei secvențe MIDI Note On sau Note Off. Tasta din stânga este MIDI 36 și crește pe tastatură. Indexul autobuzului va oferi cu ușurință domeniul de aplicare al numărului canalului MIDI. Pentru tastele de oprire, se generează secvențe de control ale programului MIDI, sau ar putea fi sensibil să generezi Note On / Off și să-l lași jOrgan sau un software MIDI similar în aval pentru a interpreta, regla și extinde. Indiferent de cursul urmat, decizia finală este impusă de definiția fonturilor sonore din aval. Software-ul a fost folosit în diferite moduri pentru a genera MIDI prin USB către Windows care operează aplicația Wurlitzer și FluidSynth, și pentru un Raspberry Pi care rulează FluidSynth și un General MIDI Soundfont. Această descriere este, desigur, incompletă, dar oricine este familiarizat cu mediul Arduino sau C nu va avea nicio dificultate să o modifice în scopuri proprii; există o documentație internă rezonabilă și o modularitate rezonabilă.

Software-ul Arduino este conținut în organino.zip.

Recomandat: