INHOUDSOPGAWE:

MIDIfying 'n elektroniese orrel: 6 stappe
MIDIfying 'n elektroniese orrel: 6 stappe

Video: MIDIfying 'n elektroniese orrel: 6 stappe

Video: MIDIfying 'n elektroniese orrel: 6 stappe
Video: Бен Герцель: Неудержимый рост искусственного интеллекта 2024, November
Anonim
MIDIfying 'n elektroniese orrel
MIDIfying 'n elektroniese orrel

Hierdie instruksies lei u in die neem van die ou, ongekende elektroniese orrel wat u in u motorhuis of kelder het, en omskep in 'n moderne musiekinstrument. Ons sal nie te veel nadink oor die besonderhede van die spesifieke orrel wat u het nie, behalwe om te sê dat die tipiese musikale klawerbord basies 'n stel sleutels is wat verbind word as dit op 'n gewone bus gedruk word. In die ou wêreld bestaan daar aansienlike stroombane langs die sleutels, wat veroorsaak dat 'n uitset na die bus oorgedra word, wat op sy beurt versterk en na 'n klankstelsel oorgedra word. Vandag is die sleutelbord 'n stel sensors; ons lees die toestand van die individuele sleutels en stuur die veranderinge na 'n sagteware -sintetiseerder wat deur MIDI -opdragte aangedryf word.

Die instruksies dek 'n groot deel van die proses, van die versameling van die digitale toestand van die sleutels, die bestuur daarvan met 'n Arduino -mikroverwerker, die bou van 'n MIDI -datastroom en die oordrag daarvan na 'n rekenaar (insluitend Raspberry Pi) wat die sintetiseerder bestuur.

Stap 1: Die sleutelbord abstrak

Die volgende verteenwoordig 'n abstrakte elektroniese orrel, waar elke ry 'n stel sleutels of stoppunte of ander bedieningsskakelaars is. Die 0 kolominskrywings stel individuele sleutels voor, en die - 'n bus waarmee die sleutel gekoppel is wanneer dit ingedruk word. Die 61 sleutel sleutelhandleiding kan die eerste ry wees, die swellhandleiding die tweede ry, die pedale die derde en die stop, ens. Die vierde. Die rye bevat eintlik 64 elemente vanweë die digitale betekenis daarvan as die krag van 2 bo 61. Binne die sleutelbordrye volg die sleutels normale musikale konvensie met C links.

Bus 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

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

Bus 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

Bus 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

Elke bus is onafhanklik en elektries geïsoleer van sy eweknieë. Die eerste 8 elemente word vetgedruk, met 8 sulke blokke in die bostaande rangskikking. Die volgende stap bevat 'n gedrukte stroombaan wat op die vetgedrukte elemente werk, en die ander sewe blokke daarvan.

Die sleutels is voorgestel as 0's hierbo. Ons kan dit 'n bietjie verder neem en sê dat 'n sleutel 'n digitale 1 is as dit ingedruk word, en 0 anders. En sleutels kan konvensionele musikale wit flaters of swart skerpe wees, of orrelpedale, orrelstoppe, of 'n bank roterende skakelaars wat ons 'n saksofoon toon kan gee. Ons beskou die instrument eenvoudig as 'n stel skakelaars op 'n stel busse, en in wese 'n digitale stroom van 0 en 1's.

Stap 2: Bedrading vanaf die sleutelborde

Bedrading vanaf die sleutelborde
Bedrading vanaf die sleutelborde
Bedrading vanaf die sleutelborde
Bedrading vanaf die sleutelborde

Om te help met die bedrading van die sleutelborde, is 'n printplaat met Eagle CAD gebou. Die grootte is ongeveer 96 mm x 43 mm, en 8 is nodig, wat strek oor die agterkant van die orgaanklavier -samestellings.

Laat ons hierdie gedrukte stroombaan (PCB) in detail bekyk. Die linkerbeeld is die voorkant van die PCB waarop die komponente gemonteer is, en die regterkant is die agterkant waar ons die komponente soldeer.

Eerstens is die 2X3 -komponente aan die bokant bedoel om aan te sluit op die sleutels hierbo, met die twee boonste verbindings bus 0 en 1, die volgende paar 2 en 3, en die onderste paar ook busse 2 en 3. Daar is gevind dat 'n PCB 2X3 -kopstuk was stewig genoeg om 'n enkeldraad -aansluitdraad van die sleutels wat eenvoudig in die kopstuk ingedruk is, te akkommodeer, soortgelyk aan Arduino -skildbedrading. Die aansluitdraad wat ek gebruik het, is van die oorspronklike orrel herwin; dit is 0,75 mm in deursnee.

Elke 2X3 -kop bevat dus 'n kolom met vetgedrukte gemerkte sleutels, of in breë trekke een noot. Die bord benodig dus 8 van hierdie opskrifte. Die prent bevat een van hierdie vroulike opskrifte links bo. Die middelste gedeelte van die bord bevat 32 diodes (1N4148 of soortgelyk), wat elk ooreenstem met een van die rooi insette. Die polariteit van die diode is soos aangedui op die bord, met katode (swart band) aan die bokant van die bord. 'N Enkele diode word in posisie 4 geïllustreer. Laastens vul 'n enkele 2X5 manlike kop die onderste gedeelte van die bord. Die boonste 2 penne is nie verbind nie. Speld 1 is in die onderste regterkantste hoek en maak verbinding met die 4 mees diodes links, pen 2 met diodes 5-8, en laastens 29-32 kan aansluit by pen 8. Die kop kan uit 'n langer DIL-gedeelte gesny word, soos geïllustreer op die direksie. Die bedrading tussen die verskillende komponente word binne die PCB self gedra, met die enigste soldeer wat die diodes en koppe benodig.

8 van hierdie volledige planke word onmiddellik onder die handleidings gemonteer met behulp van die monteergate wat gemaklik oor die orrel strek. Die funksie van hierdie bord is dus om een blok van 8 sleutels oor 4 busse te neem, en dit aan 'n manlike kopstuk voor te sit waarop 'n 10-rigting lintkabel gekoppel sal word om na die volgende fase oor te dra. Die ontwerp van die bord kan afgelaai word uit die zip -lêer.

Stap 3: Konsolidasie van sleutelborduitsette in skofregisters

Konsolidering van sleutelborduitsette in skofregisters
Konsolidering van sleutelborduitsette in skofregisters

Twee verdere PCB's word benodig, soos hierbo getoon. Dit staan bekend as DIN R5 en is gewild in die MIDI -wêreld, hoewel dit eenvoudig 'n skofregisterfunksie bied. Eerstens kan u in die boonste horisontale gedeelte 4 2X5 manlike opskrifte sien, wat via 'n lintkabel verbind word met die 2X5 -eweknie op die 8 borde hierbo. Ons benodig twee DIN -borde om ons 8 sulke kabels te akkommodeer.

Verder op die bord is IC-skyfies wat 'n 32-bis-skofregister vorm, en uiteindelik is dit vir ons nog 2 2X5-kopstukke, waarvan een (J2) na verdere DIN-borde (ons tweede), en die ander J1 na ons Arduino of Arduino-agtige mikroverwerker.

Om op te som, het ons -

  • Tot 4 busse met 64 sleutels wat inry
  • 8 borde met 32 insette, 8 uitgange per bus
  • hierdie 64-uitsette wat in 2 32-bis verskuiwingsregisters ingevoer word
  • die Arduino -mikroverwerker sal oor die busse ry

Stap 4: Sit die hardeware saam

Sit die hardeware saam
Sit die hardeware saam
Sit die hardeware saam
Sit die hardeware saam
Sit die hardeware saam
Sit die hardeware saam
Sit die hardeware saam
Sit die hardeware saam

Die verbindings tussen Arduino, die twee DIN -borde en die lintkabels van die orrelsleutekompleks word in die prent hierbo geïllustreer. Let daarop dat die tweede DIN's J2 net leeg gelaat is.

Die verbindings gebruik IDC-tegnologie (kontak met isolasie-verplasing), en die drade hoef nie gestroop of geskei te word nie. Hulle word op die kabel aangebring met 'n kompressie -hulpmiddel wat by stokperdjies beskikbaar is. Links kan die uiteinde van die krimpkabel met 'n skeermes versier word; in die middel van die onderkant van die aansluiting is daar 'n 2X5 vroulike aansluiting; en regs 'n bo -aansig van die aansluiting.

Die DIN-borde en die pasgemaakte PCB-borde is aan orrelhoutwerk vasgemaak met houtskroewe en afstandhouers met ronde kop. Hierbo is 'n gedeeltelike voorstelling van die pasgemaakte PCB-borde wat in die orrel gemonteer is. Die kabels van die boonste aansluitdraad verbind aansluitings of bedieningselemente aan die planke, en die massa aan die linkerkant kom uit die pedale. Uiteindelik het die verwydering van die toonopwekkers en ander verskillende funksies van die oorspronklike orrel dit moontlik gemaak om die leegte van die kas weer vir wynopberging te hergebruik.

Stap 5: Die Arduino -kompleks

Die Arduino -kompleks
Die Arduino -kompleks
Die Arduino -kompleks
Die Arduino -kompleks
Die Arduino -kompleks
Die Arduino -kompleks
Die Arduino -kompleks
Die Arduino -kompleks

Die Arduino -kompleks links van die twee DIN -borde hierbo sal nou bespreek word. Dit bestaan uit drie verskillende lae, onderling verbind as Arduino -skilde. Die PCB's wat die lae bevat, is toevallig blou, groen en rooi gekleur.

Die blou laag (bo -aan) is 'n skild wat deur Freetronics vervaardig word, wat 'n 16X2 vloeibare kristal karaktervertoning bied. (2 rye van 16 karakters). Dit is nie streng noodsaaklik nie, maar is uiters handig om die werking van sleutelborde, pedale en stoppers te ondersoek. Dit word aangedryf deur die LiquidCrystal -biblioteek, en ander hardeware -variante kan maklik vervang word.

Die rooi laag (onder) is 'n Teensy 3.2 gemonteer op 'n Sparkfun Teensyduino -bord. Die Teensy bied direkte MIDI -ondersteuning, en gedra hulle anders as 'n Arduino UNO. Die gebruik van die Teensy bespaar komponente stroomaf. Die aansluiting van die kragtoevoer (5V 2A) is links onder, en die USB -aansluiting ondersteun seriële of MIDI -uitgang links in die middel. Die kopstukke aan die bo- en onderkant bied standaard Arduino -skildfunksies.

Die groen laag (tussen blou en rooi ingekap) is 'n pasgemaakte PCB -bord. Die doel daarvan is in die algemeen om stukke soos skakels na die DIN -borde te ondersteun en eksterne bedrading af te sny. Sommige van die funksies daarvan is oorbodig. Dit bevat 'n paar kringe om MIDI te ondersteun via 'n standaard Arduino UNO. Dit bied ook 'n 2X5 manlike kop vir lintkabelverbinding met die J1 -kop op die eerste DIN -bord. Ander funksies sluit in volumebeheerondersteuning; die oorspronklike orrel het 'n 10K potensiometer (pot) aangedryf deur 'n voetskoene.

Die vier horisontale koppe bied standaard Arduino -skildverbinding met die Teensy -bord hieronder en die Liquid Crystal -skerm. Die afdruk wat op 'n busstasie in die linker onderste hoek lyk, is 'n oorskot, en die lang vertikale kop aan die linkerkant bied aansluiting by die vier busse, volumekontrole en grond.

Die pasgemaakte bord is ontwikkel met behulp van Eagle CAD, en zip -lêers van die Gerber -kompleks wat aan PCB -vervaardigers gestuur is, is beskikbaar in die PCB2 -zip -lêer.

Stap 6: Die Arduino -sagteware

Die sagteware is oorspronklik ontwikkel vir 'n Arduino UNO, en is later gewysig met baie min veranderinge om die Teensy te gebruik. Speldgebruik is onveranderd.

Die Liquid Crystal -skerm gebruik 'n halfdosyn penne, en daar is besluit om die analoogpenne in digitale modus te gebruik om 'n blok aangrensende penne vir die busse te kry. Die volumebeheer gebruik nog 'n analoog pen in die analoog modus.

'N Groot deel van die sagteware handel oor die lees van die individuele sleutelbord-, pedaal- en stop sleutels deur elke bus om die beurt in staat te stel en die bitwaardes uit die skofregisters wat deur die DIN -borde voorsien word, te marsjeer.

Die stroomaf -omgewing bevat tipies 'n verwerker met Windows, of UNIX, of Linux, en 'n sagteware -sintetiseerder soos FluidSynth, wat op sy beurt deur jOrgan bestuur kan word. FluidSynth word uiteindelik aangedryf deur een of meer Soundfont (s), wat spesifiseer watter klank gegenereer word wanneer 'n spesifieke MIDI -opdrag ontvang word. Daar is 'n analogie met lettertipes vir verwerking van woorde. Vir die sleutelbord en pedale sal 'n verandering van die vorige skandering daartoe lei dat 'n MIDI Note On of Note Off volgorde gegenereer word. Die sleutel in die linkerkant is MIDI 36 en verhoog oor die sleutelbord. Die busindeks bied maklik ruimte vir die MIDI -kanaalnommer. Vir die stop sleutels word MIDI -programbeheerreekse gegenereer, of dit kan sinvol wees om Note On/Off te genereer en dit aan jOrgan of soortgelyke MIDI stroomaf sagteware te laat interpreteer, aan te pas en uit te brei. Watter koers ook al geneem word, die uiteindelike besluit word opgelê deur die definisie van die stroomaf Soundfont (s). Die sagteware is in verskillende gedaantes gebruik om MIDI via USB na Windows te genereer met die Wurlitzer -toepassing en FluidSynth, en vir 'n Raspberry Pi met FluidSynth en 'n General MIDI Soundfont. Hierdie beskrywing is weliswaar sketsmatig, maar almal wat vertroud is met die Arduino -omgewing of C, sal dit nie moeilik vind om dit vir hul eie doeleindes te verander nie; daar is redelike interne dokumentasie en redelike modulariteit.

Die Arduino -sagteware is vervat in organino.zip.

Aanbeveel: