MIDIfying et elektronisk orgel: 6 trinn
MIDIfying et elektronisk orgel: 6 trinn
Anonim
MIDIfying av et elektronisk orgel
MIDIfying av et elektronisk orgel

Denne instruksjonsguiden veileder deg i å ta det gamle, ikke -elskede elektroniske orgelet du har i garasjen eller kjelleren, og konvertere til et moderne musikkinstrument. Vi vil ikke dvele for mye ved detaljene til det bestemte orgelet du har, annet enn å si at det typiske musikalske tastaturet i grunnen er et sett med taster som kobles til når du trykker på en vanlig buss. I den gamle verden eksisterte det betydelige kretser ved siden av tastene som gjorde at en utgang ble sendt til bussen, som igjen ble forsterket og videreført til et lydsystem. I dag er tastaturet et sett med sensorer; vi leser tilstanden til de enkelte tastene, og sender endringene til en programvaresyntesizer, som er drevet av MIDI -kommandoer.

Den instruerbare dekker mye av prosessen som er involvert, fra å samle den digitale tilstanden til tastene, administrere den med en Arduino -mikroprosessor, bygge en MIDI -datastrøm og sende den videre til en datamaskin (inkludert Raspberry Pi) som kjører synthesizeren.

Trinn 1: Tastaturet abstrakt

Følgende representerer et abstrakt elektronisk organ, hvor hver rad er et sett med taster eller stoppere eller andre kontrollbrytere. 0 -kolonneoppføringene representerer individuelle taster, og - en buss som tasten er koblet til når den trykkes. Den 61 nøkkelen Great Manual kan være den første raden, Swell Manual den andre raden, Pedalene den tredje, og stoppene osv. Den fjerde. Radene inneholder faktisk 64 elementer på grunn av dens digitale betydning som effekt på 2 utover 61. Innen tastaturradene følger tastene normal musikalsk konvensjon med C til venstre.

Buss 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

Buss 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

Buss 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

Buss 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 0

Hver buss er uavhengig og elektrisk isolert fra sine jevnaldrende. De første 8 elementene er markert med fet skrift, med 8 slike blokker i arrangementet ovenfor. Det neste trinnet beskriver et kretskort som fungerer på de fet skriftene, og de andre 7 blokkene av dem.

Tastene har blitt representert som 0 over. Vi kan ta dette litt lenger, og si at en tast er en digital 1 når den trykkes, og 0 ellers. Og nøklene kan være konvensjonelle musikalske hvite leiligheter eller sorte skarpe, eller orgelpedaler, eller orgelstopp, eller en rekke roterende brytere som kan gi oss en saksofon tone. Vi ser ganske enkelt på instrumentet som et sett med brytere på et sett med busser, og egentlig en digital strøm på 0 og 1 -er.

Trinn 2: Kabling fra tastaturene

Kabling fra tastaturene
Kabling fra tastaturene
Kabling fra tastaturene
Kabling fra tastaturene

For å hjelpe til med tilkobling av tastaturene, har et kretskort blitt konstruert ved hjelp av Eagle CAD. Størrelsen er omtrent 96 mm x 43 mm, og 8 er nødvendig, som strekker seg over baksiden av orgeltastaturet.

La oss se på dette kretskortet (PCB) i detalj. Det venstre bildet er forsiden av kretskortet som komponentene er montert på, og høyre er baksiden der vi lodder komponentene.

For det første er 2X3 -komponentene på toppen beregnet på å koble til tastene ovenfor, med de to øverste tilkoblingene buss 0 og 1, det neste paret 2 og 3, og det nederste paret også buss 2 og 3. Det ble funnet at en PCB 2X3 header var stiv nok til å romme enkelttråds oppkoblingstråd fra nøklene som ganske enkelt ble presset inn i headeren, i likhet med Arduino skjoldledninger. Tilkoblingstråden som jeg brukte ble gjenopprettet fra det originale orgelet; den er 0,75 mm i diameter.

Så hvert 2X3 -topptekst rommer en kolonne med de uthevede tastene, eller stort sett ett notat. Styret krever dermed 8 av disse overskriftene. Bildet inneholder en av disse kvinnelige overskriftene øverst til venstre. Den midterste delen av brettet er fylt med 32 dioder (1N4148 eller lignende), som hver tilsvarer en av de røde inngangene. Diodens polaritet er som merket på tavlen, med katode (svart bånd) øverst på brettet. En enkelt diode er illustrert i posisjon 4. Til slutt befolker en enkelt 2X5 mannlig overskrift den laveste delen av brettet. De to øverste pinnene er ikke tilkoblet. Pin 1 er plassert i nedre høyre hjørne, og kobles til de 4 mest dioder til venstre, Pin 2 til dioder 5-8, og til slutt kobles 29-32 til pin 8. Overskriften kan kuttes fra en lengre DIL-seksjon, som vist på styret. Ledningene mellom de forskjellige komponentene føres i selve kretskortet, med den eneste lodding som kreves dioder og overskrifter.

8 av disse komplette brettene monteres rett under manualene ved hjelp av monteringshullene som følger med, og strekker seg praktisk over orgelet. Funksjonen til dette brettet er således å ta en blokk med 8 nøkler på tvers av 4 busser, og presentere den for en mannlig overskrift som 10-veis båndkabel vil bli koblet til for overføring til neste trinn. Brettdesignet kan lastes ned fra zip -filen som følger med.

Trinn 3: Konsolidere tastaturutganger i skiftregistre

Konsolidering av tastaturutganger i skiftregistre
Konsolidering av tastaturutganger i skiftregistre

Ytterligere to PCB -er kreves, som vist ovenfor. De er kjent som DIN R5, og er populære i MIDI -verdenen, selv om de ganske enkelt gir en skiftregisterfunksjon. For det første i den øvre horisontale delen kan du se 4 2X5 hannhoder, som via båndkabel kobles til 2X5 -motstykket på de 8 kortene ovenfor. Vi trenger to DIN -plater for å imøtekomme våre 8 slike kabler.

Lenger ned på brettet er IC-brikker som danner et 32-biters skiftregister, og til slutt av interesse for oss er ytterligere 2 2X5 hoder, hvorav den ene (J2) gjeng til ytterligere DIN-plater (vår andre), og den andre J1 til vår Arduino eller Arduino-lignende mikroprosessor.

For å oppsummere, har vi -

  • Opptil 4 busser med 64 nøkler som mates inn
  • 8 kort med 32 innganger, 8 utganger per buss
  • disse 64-utgangene mates inn i 2 32-biters skiftregistre
  • Arduino -mikroprosessoren vil sykle over bussene

Trinn 4: Sette maskinvaren sammen

Å sette sammen maskinvaren
Å sette sammen maskinvaren
Å sette sammen maskinvaren
Å sette sammen maskinvaren
Å sette sammen maskinvaren
Å sette sammen maskinvaren
Å sette sammen maskinvaren
Å sette sammen maskinvaren

Tilkoblingene mellom Arduino, de to DIN -brettene og båndkablene fra organknappkomplekset er illustrert på bildet ovenfor. Vær oppmerksom på at den andre DIN’s J2 bare er tom.

Kontaktene bruker IDC-teknologi (isolasjon-forskyvningskontakt), og ledningene trenger ikke å bli fjernet eller atskilt. De påføres kabelen med et komprimeringsverktøy tilgjengelig hos hobbyfolk. Til venstre kan enden av den krympede kabelen pyntes med et barberblad; i midten undersiden av kontakten gir en 2X5 hunkontakt; og til høyre sett ovenfra av kontakten.

DIN-platene og de egendefinerte PCB-platene ble festet til orgeltreverk ved bruk av rundskruede messing-treskruer og avstandsstykker. En oversikt over de tilpassede kretskortene som er montert i orgelet, er vist ovenfor. De øvre tilkoblingskablene koble stopper eller kontroller inn i brettene, og massen til venstre kommer fra pedalene. Til slutt har fjerningen av tonegeneratorene og andre forskjellige funksjoner til det originale orgelet gjort det mulig å gjenbruke tomrommet i kabinettet for lagring av vin.

Trinn 5: Arduino -komplekset

Arduino -komplekset
Arduino -komplekset
Arduino -komplekset
Arduino -komplekset
Arduino -komplekset
Arduino -komplekset
Arduino -komplekset
Arduino -komplekset

Arduino -komplekset sett til venstre for de to DIN -platene ovenfor vil nå bli diskutert. Den består av tre forskjellige lag, sammenkoblet som Arduino -skjold. PCB -ene som består av lagene er tilfeldig farget blått, grønt og rødt.

Det blå laget (øverst) er et skjold produsert av Freetronics, som gir et display på 16X2 flytende krystall. (2 rader med 16 tegn). Det er ikke strengt vesentlig, men er ekstremt nyttig for å sjekke hvordan tastatur, pedaler og stopper fungerer. Det er drevet av LiquidCrystal -biblioteket, og andre maskinvarevarianter kan enkelt byttes ut.

Det røde laget (nederst) er en Teensy 3.2 montert på et Sparkfun Teensyduino -brett. Teensy tilbyr direkte MIDI -støtte, og oppfører seg ellers som en Arduino UNO. Så bruk av Teensy sparer komponenter nedstrøms. Strømforsyningen (5V 2A) er nederst til venstre, og USB -kontakten støtter seriell eller MIDI -utgang i midten til venstre. Overskrifter på øvre og nedre kant gir standard Arduino -skjoldfunksjonalitet.

Det grønne laget (klemt mellom blått og rødt) er et tilpasset kretskort. Formålet er i stor grad å støtte biter og stykker, for eksempel lenke til DIN -kortene, og å kutte ned eksterne ledninger. Noe av funksjonaliteten er overflødig. Den inneholder noen kretser for å støtte MIDI via en standard Arduino UNO. Det gir også en 2X5 hannhodet for båndkabeltilkobling til J1 -hodet på det første DIN -kortet. Andre funksjoner inkluderer volumkontrollstøtte; det originale orgelet brukte et 10K potensiometer (gryte) drevet av en fotsko.

De fire horisontale hodene gir standard Arduino -skjermtilkobling til Teensy -kortet nedenfor og Liquid Crystal -skjermen. Avtrykket som ligner en busstasjon i nedre venstre hjørne er en rest, og den lange vertikale overskriften til venstre gir tilkobling til de fire bussene, volumkontroll og bakken.

Det tilpassede kortet ble utviklet ved hjelp av Eagle CAD, og zip -filer fra Gerber -komplekset sendt til PCB -produsenter er tilgjengelige i PCB2 -zip -filen.

Trinn 6: Arduino -programvaren

Programvaren ble opprinnelig utviklet for en Arduino UNO, og ble senere endret med svært få endringer for å bruke Teensy. Pin -bruk er uendret.

Liquid Crystal -skjermen bruker et halvt dusin pinner, og det ble besluttet å bruke de analoge pinnene i digital modus for å få en blokk med tilstøtende pinner for bussene. Volumkontrollen bruker en annen analog pin i analog modus.

Mye av programvaren er opptatt av å lese det enkelte tastaturet, pedalene og stopptastene ved å aktivere hver buss etter tur og marsjere bitverdiene ut av skiftregistrene som leveres av DIN -kortene.

Nedstrøms miljøet vil vanligvis inkludere en prosessor som kjører Windows, eller UNIX, eller Linux, og en programvaresyntese som FluidSynth, som igjen kan administreres av jOrgan. FluidSynth blir til slutt drevet av en eller flere Soundfont (s), som angir hvilken lyd som genereres når en bestemt MIDI -kommando mottas. Det er en viss analogi med tekstbehandlingsfonter. For tastaturet og pedalene vil en endring fra forrige skanning resultere i at en MIDI Note On eller Note Off -sekvens blir generert. Tasten til venstre er MIDI 36, og trinn over tastaturet. Bussindeksen vil enkelt gi rom for MIDI -kanalnummeret. For stopptastene genereres MIDI -programkontrollsekvenser, eller det kan være fornuftig å generere Note On/Off og overlate til jOrgan eller lignende MIDI nedstrøms programvare for å tolke, justere og utvide. Uansett hvilken kurs som blir tatt, blir den endelige avgjørelsen pålagt av definisjonen av Soundfont (s) nedstrøms. Programvaren har blitt brukt i forskjellige former for å generere MIDI via USB til Windows som driver Wurlitzer -applikasjonen og FluidSynth, og til en Raspberry Pi som kjører FluidSynth og en General MIDI Soundfont. Denne beskrivelsen er riktignok skissert, men alle som er kjent med Arduino -miljøet eller C vil ikke ha problemer med å endre den for sine egne formål; det er rimelig intern dokumentasjon og rimelig modularitet.

Arduino -programvaren finnes i organino.zip.