Circuit midi cu tastatură divizată. Cum să faci un sintetizator convenabil cu propriile mâini

  • Sunet
  • În copilărie aveam un pian, unul adevărat, sovietic, de vreo 300 de kilograme, îmi plăcea să zbârnesc pe el, iar după absolvirea școlii de muzică chiar și cântam la ceva. Pianul este misto, autentic, dar deloc practic. Și pentru a fi corect pentru suflet, aveți nevoie și de un set de tobe, un set de accesorii pentru o chitară electrică, un clarinet, un sitar și bucle de mostre...

    Bineînțeles, acum nu mai trebuie să-ți transformi apartamentul într-un garaj-garoerie cu un cuib de șase salarii; tot ce trebuie să faci este să instalezi un gratuit editor muzical. Dar toate acestea sunt incomod.

    O tastatură de PC nu seamănă deloc cu un instrument cu tastatură, totul este diferit aici. Mai mult, acest lucru nu este deloc potrivit pentru a preda un copil. Se pare că nu este de ales decât să achiziționați un sintetizator. Dar încă mai am îndoieli.

    Ce este un sintetizator? Un dispozitiv mare, cu o tastatură muzicală, care ar trebui să ocupe mult spațiu undeva. Care are acustica incorporata, dar am deja un receptor cu difuzoare. Care are un computer prost încorporat, dar eu am un computer bun.

    Se pare că pentru 40 de mii cumpăr ce am deja în cea mai buna calitate, cu excepția doar a tastaturii. Acestea sunt doar câteva maxime de cheltuieli iraționale.

    În timp ce căutam o tastatură separată, am dat peste o astfel de clasă de dispozitive precum USB MIDI Keyboard.
    Mi s-a părut mereu că MIDI aparține domeniului activității muzicale profesionale.
    Dar acum toată muzica este făcută pe un PC, în orice loc convenabil, ceea ce înseamnă că muzicienii au nevoie de tastaturi muzicale mobile care să încapă cu ușurință într-un rucsac.

    Un plan s-a format imediat în capul meu. Conectăm o tastatură MIDI la un centru media de acasă bazat pe Raspberry Pi 3, unde rulează un sintetizator software, permițând oricui să își interpreteze următoarea capodopera în orice moment. Astfel de tastaturi MIDI au de obicei un set de comenzi și butoane suplimentare, care sunt programate pentru diverse efecte sau instrumente muzicale suplimentare. Arata si suna foarte tare!

    Există dispozitive mai mari și mai mici, unele mai scumpe și altele mai ieftine. Am ales varianta pentru aproximativ 5 mii. Are două octave mărime normală clape, butoane pentru tobe, butoane de acordare, adică tot ce ar putea visa un muzician electronic începător.

    Nu sunt un expert în crearea muzicii pe un PC, așa că a fost dificil să caut modalități de a-mi realiza ideea. Informațiile trebuiau strânse bit cu bit. Puzzle-ul a început treptat să prindă contur și am reușit să pun cap la cap o soluție de lucru, pe care o împărtășesc cu voi. Destul de ciudat, distribuția standard Raspbian/Debian conținea tot ce aveai nevoie, nici măcar nu trebuia să conectezi depozite externe.

    Fluidsynth este folosit ca sequencer (o aplicație care redă fișiere MIDI).
    Tastatura MIDI este detectată imediat prin ALSA și este disponibilă pentru conectarea la secvențiator.
    Pentru a reproduce sunetele diferitelor instrumente, se folosesc baze de date deschise de mostre în format SoundFont2. Mai întâi, să instalăm toate acestea.

    Sudo -s apt-get update apt-get -y install alsa-utils fluid-soundfont-gm fluidsynth
    Conectam o tastatură MIDI la Raspberry și lansăm secvențatorul în modul server:

    Fluidsynth -i -s -a alsa -g 3 /usr/share/sounds/sf2/FluidR3_GM.sf2
    Executăm comanda:

    Aconnect -o
    Ca rezultat, vom vedea o listă de clienți MIDI disponibili:

    Client 14: „Midi Through” 0 „Midi Through Port-0” Client 20: „VMini” 0 „VMini MIDI 1” 1 „VMini MIDI 2” Client 128: „FLUID Synth (1628)” 0 „Port de intrare Synth (1628) ) :0)"
    Aici este important pentru noi să ne amintim numerele de client ale tastaturii și secvențatorului, astfel încât să le putem conecta apoi cu comanda:

    Aconnect 20:0 128:0
    Acum suntem cu toții pregătiți să cântăm pe Yamaha Piano (acesta este instrumentul implicit). Citiți manualul fluidsynth, există multe comenzi interesante acolo, de exemplu, pentru a schimba instrumentul la tobe sau suflate, pentru a seta cantitatea de reverb sau refren.

    Să facem sintetizatorul nostru software convenabil. Pentru a nu conecta manual tastatura la sequencer de fiecare dată, vom scrie un simplu demon care va face acest lucru automat la pornire.

    Cat > /etc/init.d/fluidsynth<< EOF #!/bin/bash ### BEGIN INIT INFO # Provides: fluidsynth # Required-Start: $all # Required-Stop: # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: Fluidsynth deamon to play via MIDI-keyboard ### END INIT INFO startDaemon() { sleep 30s && fluidsynth -i -s -a alsa -g 3 --load-config=/home/osmc/midi-router >/var/log/fluidsynth & sleep 60s && aconnect 20:0 128:0 & ) stopDaemon() ( pkill -9 fluidsynth &> /dev/null ) restartDaemon() ( stopDaemon startDaemon ) caz „$1” în start) startDaemon ; ; stop) stopDaemon ;; restart) restartDaemon ;; stare) ;; *) startDaemon esac exit 0 EOF
    Înregistrați demonul pentru autorun:

    Chmod 755 /etc/init.d/fluidsynth update-rc.d Valori implicite fluidsynth
    Vă rugăm să rețineți că acum, la pornire, secvențatorul este trimis un fișier de configurare (/home/osmc/midi-router) care conține comenzi care transformă tastatura noastră într-un adevărat sintetizator.

    Iată chestia. Fiecare tastă și buton de pe tastatură trimite anumite evenimente cu propriul său număr. După cum am înțeles, nu există standarde speciale aici, așa că fiecare producător face ce vrea. De exemplu, vreau ca tastele pătrate să sune ca tobe, restul tastelor să sune ca pian, iar butoanele să controleze volumul, reverb și refren.

    Așadar, trebuie să mapez coduri de evenimente de la tastatură la diferite instrumente și coduri de la butoane la coduri pe care secvențiatorul le înțelege. În fluidsynth acest lucru se face folosind router-ul. Aceste comenzi sunt conținute în fișierul de configurare.

    Iată un exemplu de fișier meu de configurare, cu comentarii despre ceea ce face.

    Cat > /home/osmc/midi-router<< EOF # загружаем стандартные инструменты и ударники, найденные где-то на просторах Сети load /usr/share/sounds/sf2/FluidR3_GM.sf2 load /home/osmc/241-Drums.SF2 # связываем инструмент каждый со своим каналом select 1 2 128 0 select 2 1 0 0 # по умолчанию звук идет на канал 0 # перенаправляем события с квадратных клавиш на канал с ударными router_begin note router_chan 0 0 0 1 router_par1 36 48 1 0 router_end # события с остальных клавиш перенаправляем на канал с пианино router_begin note router_chan 0 0 0 2 router_par1 0 35 1 0 router_end router_begin note router_chan 0 0 0 2 router_par1 49 255 1 0 router_end # события с ручек мэпим на события, которые понимает секвенсер, # полный их список есть в документации на сайте fluidsynth router_begin cc router_chan 0 0 0 2 router_par1 14 14 0 98 router_end router_begin cc router_chan 0 0 0 2 router_par1 15 15 0 11 router_end router_begin cc router_chan 0 0 0 2 router_par1 16 16 0 91 router_end router_begin cc router_chan 0 0 0 2 router_par1 17 17 0 93 router_end # выключаем громкость на канале 0, # иначе при нажатии на клавишу # разные инструменты будут звучать одновременнно cc 0 7 0 EOF
    Pentru a afla ce coduri generează dispozitivul dvs., trebuie să utilizați acest utilitar:

    Aseqdump -p 20:0
    Ascultă și transmite evenimente de la tastatura MIDI către consolă. Apăsați butonul sau rotiți butonul și veți vedea tipul evenimentului, canalul și codul. Îți poți programa tastatura așa cum vrei, nu așa cum au creat-o inginerii care au proiectat un anumit sintetizator. Pentru care multe mulțumiri dezvoltatorilor fluidsynth, alsa, SoundFont2, Raspberry și V-Mini.

    Apropo, acest subiect cu sintetizatoare DIY se reflectă în mai multe invenții, vă recomand să îl studiați.

    Practic, articolul este destinat chitarștilor și altora ca ei, deoarece puțini oameni au nevoie de un pedalier, pornesc tastatura suplimentară, leagă tastele și gata. Deși un astfel de control poate fi destul de potrivit pentru DJ. Dar funcționează cel mai bine cu Guitar Rig și TH1. În general, astăzi vom colecta ceva similar cu:

    Deci, mai întâi trebuie să colectați piesele de schimb necesare. Iată o mică listă a acestora:

    Cadru. Primul și cel mai de bază lucru este necesar, este dificil să-l găsești pe cel potrivit. Am cumpărat o cutie pentru tac în acest scop.
    - Tastatură USB, de preferință nu foarte veche, deoarece este posibil ca cablurile să nu funcționeze.
    - Chei (cele pe care le-am ridicat): PBS-16B (FEET), SPA-101B4 (ADOPS), PBS-15B push ON (ON). Toate fără fixare. Îl poți cumpăra de la Chip and Dip.
    - Fire. Multe single-core. Cred că perechea răsucită este cea mai bună pentru asta. 2 metri în spatele ochilor. Este doar incomod să te relaxezi.
    - Ei bine, cred că aproape toți cei care se hotărăsc să monteze acest dispozitiv au un fier de lipit.
    - Unelte pentru realizarea găurilor în carcasă. Dacă ești la îndemână cu orice, poți chiar să folosești un șurub autofiletant și apoi să folosești un cuțit pentru a-l edita, dar din nou, cred că toată lumea are un burghiu.

    Ei bine, să începem. Primul lucru pe care trebuie să-l faceți este să marcați și să găuriți găurile în carcasă:

    Acum să trecem la partea mai dăunătoare a fabricării pedalei noastre. Lipim firele în conformitate cu diagrama, nu uitați să atârnați foile de identificare cu numerele de intrare la intrările de la tastatură:

    Ar trebui să arate cam așa:

    Acum va începe procesul foarte elaborat de lipire la controler de la tastatura USB. Permiteți-mi să notez că dacă aveți norocul să cumpărați/găsești/luați o tastatură cu un controler ca cel din diagrama atașată mai sus, atunci nu vă puteți lipsi de o stație de lipit. Puteți atașa placa de carcasă cu aproape orice mijloace disponibile, cuie lichide, șuruburi autofiletante, superglue, silicon și, în general, dacă nu o dați cu piciorul prea tare, se va ține, dar depinde de caz, perechea răsucită apasă strâns placa.

    Facem îmbunătățiri cosmetice; cine dorește, lipi o diodă pe carcasă de la NUB LOCK... Faceți o gaură pentru fir și redirecționați cablul USB. Ei bine, este suficientă imaginație pentru asta. Rezultatul final:

    Faza 2: Configurarea software-ului. Sper că aceasta nu va fi o problemă pentru toți cei care au făcut acest dispozitiv. Pentru Guitar Rig, totul nu poate fi mai simplu, activați Blocarea NUM, porniți dispozitivul, deschideți OPȚIUNI - CONTROLLER, apăsați MENU, căutați acțiunea necesară, faceți clic pe butonul Învățare și selectați butonul corespunzător de pe controlerul nostru. Apoi faceți clic pe Add Controller și efectuați din nou aceleași operațiuni. Și tot așa până când scriem tot ce ne trebuie sau rămânem fără chei. De asemenea, puteți atribui o cheie aproape oricărei acțiuni din a treia platformă, faceți clic dreapta pe obiect și apăsați din nou Învățați.

    Dar acum, dacă sunteți interesat să configurați toată această idee pe comanda Midi, atunci va trebui să vă distrați puțin mai mult.
    Aceasta înseamnă că avem nevoie de software care leagă tastele la comenzile midi. Și există un astfel de program, deși nu am văzut analogi, din fericire nu este nevoie să tratezi lăcomia. Se numește Virtual Midi Controller, acțiunea cheie este configurată în fila C IN, instalare - Setup - Next - Next. Aici este linkul.


    Un cablu MIDI virtual este, de asemenea, inclus cu acesta, astfel încât nu trebuie să faceți mișcări inutile. Pentru cei cu adevărat leneși, postez un preset bancar pentru comutatorul de picior: bank - ar trebui să înlocuiască fișierul în rădăcina folderului programului, în mod implicit C:\Program Files\Virtual Midi Controller\, după ieșirea din VMC. Pentru comoditate, în SETUP, bifați caseta de selectare Run In Background și în fereastra principală VMC, faceți clic pe litera K, după care programul va accepta comenzi în modul minimizat. Acum, pentru a ieși din program, trebuie să-l eliminați din tavă. Și de acum încolo vei putea controla atât Nuendo, cât și Sonarul de la comutatorul de picior. Ei bine, desigur, TH1 preia și tastatura noastră prin midi.

    Orice întrebări, vă rugăm să contactați...

    Următoarele proiecte planificate:
    - Ecran de chitară.
    - Combo de făcut-o singur.

    Mult succes in activitatile muzicale...

    Prefaţă

    Deoarece atât soția mea cât și eu am fost învățați să apăsăm tastele în copilărie, a lipsit în mod clar un fel de dispozitiv acasă cu taste alb-negru pentru a transmite generației tinere experiența de a le apăsa. Din păcate, în micul „apartament cu o cameră”, nu doar „Stanway”, ci și simplu „Octombrie roșie” nu aveau loc. Soluția a fost găsită - o tastatură MIDI! Mai mult, încercările de a face și eu ceva similar au fost făcute în zorii „distrugerii mele radio”. Din nou, din lipsă de spațiu, s-a decis să ne limităm la 4 octave pentru început. Și finanțele nu mi-au permis să cumpăr un fel de „Roland”.

    După o mică căutare pe internet, am dat peste o reclamă pentru vânzarea unui dispozitiv evergreen numit Fatar 49 pentru 50. După ce am căutat totul pe același web, am găsit o descriere a acestui miracol.

    Tastatură MIDI Fatar StudioLogic CMK 49

    • 4 octave, full-size, dinamic (sensibil la viteză), neponderat; 49 de chei
    • Conectori de ieșire MIDI, o mufă etichetată „IN” este conectată la acesta
    • Alimentare Este posibil ca adaptorul de alimentare să nu fie inclus în pachet.
    • Adaptorul de alimentare necesar este de 9V, 0,5A. Contact intern „+”, extern „-”.
    • Dimensiuni exterioare 75,2 x 15 x 8 cm
    • Greutate 2 kg

    Consiliul de familie a hotărât - LUATĂ!!! Proprietarul anterior, demonstrând că funcționează, chiar i-a atașat un adaptor de alimentare. Aveam deja un cablu MIDI (il foloseam de mult timp). Și când l-am adus acasă și l-am conectat la computer, în sfârșit mi-am putut aminti copilăria mea. Și... înțelegeți că în 15 ani totul a fost uitat aproape complet.

    Un program foarte interesant „Play Piano” de la Midisoft a fost găsit pe Internet. Ea poate învăța aproape pe oricine să se joace. Ea se asigură că joci corect și îți subliniază greșelile, ca un profesor bun. Păcat că în acest timp nu s-a putut găsi ceva asemănător, dar mai nou (programul din 1996).

    Toate acestea s-au întâmplat în ultimul secol. După cum se spune în romane, anii au trecut... Copiii s-au născut și au crescut. Tastatura de pe masă nu era deosebit de convenabilă nici atunci - era foarte înaltă în comparație cu un pian obișnuit.

    Scaunul a ajutat, dar... Anul acesta s-a decis să se înceapă chinuirea bătrânului. Trebuie să ne compensăm antrenamentul pe cineva. Pentru el, în general, trebuia să construiască o piramidă pe un scaun. Iar tastatura încerca în mod constant să scape de el. Încercările de a pune tastatura pe masa copiilor nu au ajutat prea mult. Acum era prea jos.

    Da, iar bebelușul încerca acum să apese constant tastele, dar îi plăcea mai ales butonul de oprire, iluminat de un bec. Și apoi a trebuit să luăm problema în serios.

    În primul rând, a devenit clar că nu are rost să facem o tastatură la înălțimea unui pian standard, deoarece acest lucru era deja făcut pentru anumite persoane. În al doilea rând, având doar un suport pentru tastatură, mi-am dat seama rapid că va trebui să prelungesc cablul MIDI. Și atunci s-a luat decizia de a face un instrument muzical complet autonom. După ce am scotocit prin magazinele de hardware ale computerelor, din acesta au fost extrase componente complet funcționale (deși învechite): placa de bază, procesor, placă video și hard disk. S-a găsit și o sursă de alimentare veche. Un singur lucru lipsea - memoria. O persoană bună din departamentul de service mi-a dat un modul înainte de Anul Nou. Acum era tot ce ne trebuia.

    Configurația sa dovedit a fi cea mai primitivă pentru vremurile moderne:

    • CPU: Pentium MMX 166 MHz overclockat la 200
    • RAM: SDRAM PC100 128 Mb
    • HDD: Coner 340 Mb
    • VIDEO: TRIDENT
    • AUDIO: Yamaha OPL3 la bord
    Dar pentru procesarea MIDI, singurul punct slab aici este placa de sunet. Pentru caroserie a trebuit sa cumpar 4 panouri de mobilier 800x200x20.

    După ce am petrecut o jumătate de zi liberă, am primit această unitate:

    Gărăm găuri pentru butonul de pornire și indicatorii „Power” și „HDD”.

    Introduceți tastatura.

    Am tăiat șasiul carcasei la dimensiunea plăcii de bază. O înșurubam instalând memoria procesorului și placa video.

    Închidem toate sloturile goale ale șasiului cu dopuri strălucitoare frumoase.

    Înșurubam cușca HDD cu discul la carcasă.

    Conectăm sursa de alimentare și toate celelalte cabluri și fire

    Sistemul de operare a fost instalat în prealabil. Doar Win98 ar putea fi instalat pentru un astfel de volum. Conectăm monitorul, tastatura și mouse-ul. Să ne asigurăm că totul funcționează.

    Acum să trecem la acustică. Anterior, totul trecea printr-un computer, care era conectat la un amplificator bun, care la rândul său era conectat la difuzoare decente. Nu puteți încadra toate acestea în volumul unui dispozitiv nou. Da si nu are rost. Pentru o astfel de placă de sunet va fi suficient ceva mai simplu. Din nou ne scufundăm în camerele de depozitare și scoatem acest (ca să spunem așa) sistem de difuzoare:

    Hai să-l demontăm și să vedem înăuntru:

    Da, dar dacă nu există pește, există doar cancer. Va trebui să merg la dacha, sunt niște difuzoare bune undeva și un amplificator pe care l-am lipit pe K174UN7 acum aproximativ 12 ani - va avea încă mai multă putere.

    Să conectăm acest „Sunet”.

    Ei bine... asta sa întâmplat.

    Difuzoarele nu s-au găsit la dacha (evident deja folosite undeva și uitate), dar lumea nu este lipsită de oameni amabili și un vecin mi-a dat două difuzoare medii de mașină.

    În procesul de împingere a tastaturii înainte și înapoi, una dintre taste a început să sune numai când a fost apăsată puternic. A trebuit să desfac totul și să-i dau de băut dragului meu C 2 H 5 OH. Am șters fiecare cheie, fiecare banda de cauciuc, am uscat-o și am pus-o la loc. În același timp, am făcut clic pe dispozitivul intern cu camera mea.

    A fost descoperit amplificatorul de pe K174UN7, dar fie condensatoarele de pe el s-au stins mult timp în acest timp, fie a fost prea sensibil. În general, sună teribil de tare. A trebuit să părăsesc vechiul amplificator deocamdată.

    Oleg Yakubov

    După ce mi-am publicat pagina pe site, am primit mai multe scrisori prin care îmi cereau să scriu sau să trimit o diagramă a unei tastaturi midi pe care o asamblasem. Și am decis să pregătesc un articol despre tastatura midi.

    Am ales circuitul de tastatură MIDI din revista Radio nr. 3, 4 pentru 1997. Dacă cineva dorește cu adevărat să construiască un instrument bun, recomand să meargă la bibliotecă și să ia reviste acolo, dar celor care nu vor să alerge și pierde timpul, am scanat tot acest articol (cred, nu in defavoarea autorului). Sunt foarte multumit de tastatura MIDI. În general, nu au fost probleme cu asamblarea, cu excepția unor greșeli de scriere din diagramă (probabil făcute de editori la așezarea articolului). Am făcut corecții înainte de scanare, acest lucru se vede studiind cu atenție diagrama. Vă rugăm să rețineți: atunci când intermiteți ROM-ul, nu faceți greșeli la introducerea codurilor, altfel instrumentul fie nu va cânta deloc, fie nu va funcționa corect. Aș dori să mulțumesc în mod special autorului acestui articol însuși pentru că a tipărit codurile de verificare ale tabelului ROM, deoarece este dificil să introduci toate caracterele fără erori, iar când am introdus eu însumi am greșit în două locuri și mulțumesc la sumele de control am găsit rapid erori. Tot în tabelul pe care l-am scanat am evidențiat acele locuri pe care autorul indică în cazul înlocuirii a două caractere. Asta în cazul în care tastatura nu începe cu nota Fa, ci cu nota Do. Am montat toate piesele și componentele dispozitivului pe o placă de circuit, iar conexiunile dintre pinii microcircuitelor le-am lipit cu un fir subțire într-o împletitură fluoroplastică, doar între tastatură și placa pe care am lipit-o cu un cablu plat. Singurul lucru pe care l-am făcut a fost să măresc capacitatea condensatorului C1, deoarece procesorul nu a pornit. Tastatura midi funcționează foarte stabil și nu am întâmpinat probleme până acum!!! Daca acest circuit i se pare foarte complicat cuiva, atunci incearca sa asamblezi un alt circuit, publicat tot in revista Radio nr. 11, 1993. Dar in acest circuit nu exista astfel de posibilitati ca in circuitul despre care tocmai am scris. De aceea, recomand să aveți puțină răbdare și să puneți cap la cap o diagramă din revista Radio nr. 3, 4 pentru 1997. Articolul scanat este mai jos. Daca mai are cineva probleme cu montajul, va rog sa ma contactati, poate va pot recomanda ceva. Singurul dezavantaj al acestei scheme, cred, este inconvenientul de a selecta rapid un instrument și, de asemenea, posibilitatea mică a efectului „PITCH”. De obicei, tastaturile au acest efect sub forma unei roți pe partea stângă a tastaturii.

    va doresc o adunare placuta!!!

    TASTATURĂ MIDI PENTRU CALCULATELE MULTIMEDIA ȘI SINTETEZE MIDI

    S. Kononov, Tula

    Tastatura MIDI dezvoltată de autorul acestui articol aparține instrumentelor muzicale electronice de complexitate crescută și se adresează în primul rând cititorilor care au anumite cunoștințe și experiență în construirea unor astfel de echipamente. Prin urmare, descrierea designului este dată într-un scurt rezumat. Editorii cred că conținutul acestei publicații va atrage atenția celor care sunt în general interesați de muzica electronică și, poate, urmează să înceapă să proiecteze echipamente moderne. Le va fi util să se familiarizeze cu articolele lui A. Studnev „Ce este MIDI?” și „Tastatura MIDI”, publicată în numerele din ianuarie și noiembrie ale „Radio” pentru 1993, precum și articolul de K. Bystrushkin „Multimedia va veni în fiecare casă” („Radio”, 1996, nr. 3).

    Tastatura MIDI recomandată este un instrument de tastatură „dull”, al cărui scop principal este să lucreze împreună cu computerele personale echipate cu Creative, Sound Blaster, Gravis, YAMA-HA și alte plăci muzicale care au o intrare midi. În plus, vă permite să lucrați cu sintetizatoare externe, generatoare de ton și orice echipament care are și o intrare midi.La dezvoltarea funcțiilor de serviciu ale unei tastaturi MIDI, modelele pentru „imitație” au fost produse ale companiei italiene „MASTER STAR” . Mai întâi, am proiectat o telecomandă MIDI universală pentru acordeon cu butoane și acordeon, care a fost prezentată la expoziția MUSIKMESSE-95 (Frankfurt am Main). Atunci a apărut ideea de a transforma acest dispozitiv structural complex într-o tastatură MIDI mai simplă, disponibilă pentru repetare de către cititorii revistei Radio. Instrumentul are un serviciu solid. În special, permite fiecărei taste să controleze două canale MIDi, atribuindu-le fiecăruia propriile programe (timbre) și amintindu-le împreună cu nivelul de volum al fiecărui canal din memoria dispozitivului. Astfel, puteți combina și stratifica în mod arbitrar orice două sunete eșantion din cele disponibile în generatorul de tonuri conectat la tastatură. În dispozitivele „cool” acest mod se numește „COMBY”. Tastatura vă permite, de asemenea, să schimbați înălțimea instrumentului cu o octavă în sus sau în jos, să atribuiți până la 127 de programe, să controlați un număr mare de canale MIDI (de la 1 la 16 ), controlați efectele sonore PITCH BEND, VOLUME , MODULATION, SUSTAIN și multe altele. Tempo-ul piesei interpretate este de la 20 la 240 de bătăi pe minut. Limita împărțirii tastaturii în două manuale este arbitrară.Instrumentul, circuitul, constă din trei părți complete funcțional: un bloc de procesor (A1), un panou de control (A2) și un bloc de tastatură (A3). Setul de microcircuite utilizate în ele este similar cu componentele dispozitivelor precum Spectrum și Caller ID, astfel încât cei cărora le place să proiecteze EMR nu vor avea dificultăți în a găsi baza elementului.Blocul procesorului este similar în designul circuitului cu procesorul Caller ID. . Oscilatorul principal al procesorului Z80 (DD2) este asamblat folosind elemente logice DD1.1 - DD1.3 și un rezonator cu cuarț ZQ1. Frecvența naturală a rezonatorului de cuarț trebuie să fie de 4 MHz, altfel viteza de transmisie a informațiilor MIDI din ordinul înalt al registrului C al cipului DD6 prin elementul tampon DD1.4 se va modifica.O unitate este asamblată pe tranzistoarele VT1, VT2 care furnizează un semnal de resetare la intrarea RES (RESET - pin 26) cipurile DD2 la pornirea/oprirea sursei de alimentare când tensiunea acesteia nu depășește +4,5 V. Acest lucru crește fiabilitatea stocării informațiilor în memoria nevolatilă a cipului DD5 la momentul pornirii sau opririi alimentării. Bateria GB1, împreună cu condensatorul C3, rezistența R8 și dioda VD2, acceptă alimentarea cu energie a microcircuitului DD4 pentru stocarea pe termen lung a informațiilor în acesta atunci când sursa generală de alimentare a instrumentului este oprită. Microcircuitele DD7 și DD8 ale panoului de control oferă interogarea butoanelor SB1-SB19 ale panoului de control, indicarea dinamică a unui afișaj cu patru cifre și șapte elemente, format din indicatorii HG1, HG2 și digitizarea singurei părți analogice a dispozitivului - controlul volumului R40 „Volum”. Pentru afișaj am folosit, după părerea mea, indicatoare duale luminoase VQE14 (nume vechi KIPTS09I), instalate în televizoarele Horizon din generația a 4-a și a 5-a. Pornirea indicatorului HQ2 este similară cu pornirea indicatorului HG1 prezentat în diagramă.

    Blocul de tastatură este format dintr-o tastatură muzicală de cinci octave (61 de taste) care începe cu nota „F”, cipurile D09, DD10 și conectorii X1-X3 pentru conectarea a două receptoare MIDI externe și o pedală „SUSTAIN” la instrument. Fiecare tastă de la tastatură este echipată cu o pereche de contacte normal deschise, care sunt combinate într-o matrice 8x8 cu izolație de diodă (VD14-VD74). În diagramă, simbolul SA1 indică cheia din stânga, iar simbolul SA61 indică cheia din dreapta. Sondajul matricei este asigurat de cipurile DD9 și DD10. Dacă tastatura muzicală folosită pentru instrumentul care este construit începe cu nota „C”, atunci acordarea matricei trebuie să fie deplasată cu șapte taste. Pentru a face acest lucru, în ROM-ul trebuie să măriți codul din celulele cu adresele 025FH și 0268H cu șapte unități ( vezi tabelul de programare ROM KR573RF5 ) , adică în loc de codul „05” scrieți „OSN”. Sursa de alimentare pentru tastatură este un stabilizator de tensiune de microcircuit KR142EN5V, a cărui intrare este furnizată cu o tensiune constantă de 9 V de la o sursă externă. O astfel de sursă poate fi orice sursă de alimentare de rețea de dimensiuni mici, inclusiv una importată, care asigură o sarcină. curent de cel puțin 500 mA. Condensatorii C6-C9 de la ieșirea stabilizatorului sunt cei de blocare pentru circuitele de alimentare ale microcircuitelor.Piesele și componentele dispozitivului sunt montate pe patru plăci de circuite imprimate, care sunt conectate între ele prin cabluri plate și sunt situate sub panoul frontal al carcasei tastaturii. Butoanele comutatoarelor SB1-SB19, indicatoarele HG1, HG2 și arborele unui rezistor variabil R40, trecute prin orificiile din panou, formează panoul de control al tastaturii MIDI.Pedalea SUSTAIN poate fi de orice design cu o pereche de dispozitive normal deschise. contacte. Este conectat la instrument prin conectorul X3 Jack (1/4 JACK), situat pe panoul din spate al instrumentului. În Fig. Folosindu-le, muzicianul poate efectua toate operațiunile MIDI necesare pentru selectarea timbrelor, numerelor de canale, redistribuirea vocilor etc., precum și a controla un computer de ritm extern sau un secvențător. Butoanele numerotate situate în partea dreaptă a afișajului introduc numerele de program corespunzătoare, canalul MIDI, tempo-ul, iar butoanele de funcție din stânga afișajului controlează diverși parametri ai tastaturii. Prin apăsarea secvențială a butonului „PROG” (program), afișajul indică parametrii tastaturii: - tipul piesei și numărul programului sonor al acestei piese. Literele din partea stângă a afișajului indică: A - manual stânga (jos), B - manual dreapta (sus), C - dispozitiv midi suplimentar. Litera este urmată de numărul din trei cifre (000-127) al programului audio alocat acestei piese;

    - control tempo pentru generatorul de ritm; în același timp, litera T și un număr din trei cifre care caracterizează frecvența bătăilor (downbeats) pe minut sunt afișate pe afișaj, iar virgulele de pe afișaj creează efectul de „lumini de rulare” pentru controlul vizual al vitezei generatorul de tempo.Intervalul de reglare a tempoului este de la 20 la 240; - modul canal și numărul programului propriu al instrumentului: în acest caz, litera P din partea stângă a afișajului înseamnă că întreaga tastatură „stă” pe pista *A*. Litera U - informațiile de la tastatură sunt transmise simultan către pista „B” (modul „COMBY”), litera L este manualul din stânga, adică piesa „A” (manualul din dreapta este „B”) . În spatele literei, afișajul arată un număr din două cifre (00-99) al programului propriu stocat în memoria RAM DD5.Programul propriu al instrumentului caracterizează numărul de programe de sunet și canale MIDI pentru piese, precum și următoarele informații : PITCH - viteza de acordare a tonului, MODULATION - nivelul de adâncime a modulației, VOLUME - nivelul volumului, SPUT - limita de separare manuală, modul canal MOD (P. U, L), Ost A - +/- octava pentru manualul din stânga, Ost B - +/- octava pentru manualul corect. Butoanele „-1” și +1 scad (măresc) datele numerice de pe afișaj. Butonul „MIDI” este folosit pentru a atribui un canal MIDI fiecărei piese, iar apăsarea lui succesiv selectează o piesă. Afișajul arată pista Ac (Bc, CC) și numărul (1-16) al canalului MIDI. Cu ajutorul butonului „START”, porniți sau opriți (cu o a doua apăsare) un computer de ritm sau un secvențier extern - „Strt” sau „Stop” apare pe afișaj pentru câteva secunde, respectiv. Butonul „ALB” are două scopuri funcționale. Dacă toți parametrii tastaturii selectați sunt satisfăcători și trebuie să fie amintiți sub numărul curent al propriului program, apăsați acest buton de două ori. Când este apăsat pentru prima dată, afișajul va evidenția patru liniuțe, invitând dispozitivul în modul de programare. Când este apăsat a doua oară, toate modurile și parametrii sunt stocați în memoria programelor proprii ale dispozitivului, iar afișajul indică numărul curent al propriului program. Al doilea scop al butonului „SCRIERE” este de a lucra cu dispozitivul în modul de programare a funcțiilor. Acest mod este activat prin apăsarea întâi a butonului „SCRIERE”. Pe display apar patru liniuțe, simbolizând o invitație la modul de programare. Butoanele digitizate încep să îndeplinească funcțiile programatorilor din următoarele moduri: - PITCH - viteza de acordare a tonului. Afișajul arată „PITCH BEND” și un număr (1-4). Indicația „Pb” corespunde minimului, „Pb4” - rata maximă de modificare a acestui parametru; - MODULARE - adâncime de modulație 25, 50, 75 și 100%. Indicat prin literele LF (FRECVENȚA LUNGĂ) și cifrele 1. 2, 3 și, respectiv, 4; - VELOCFTY - viteza de apăsare a tastei - fix pentru întreaga tastatură. Indicat pe display ca un număr din trei cifre (000-127); - VOLUME - nivelul volumului (O-15). Afișajul arată două numere: în stânga - pentru partea stângă a tastaturii (pista A) în modul de împărțire a manualelor, în dreapta - pentru partea dreaptă (pista B): - SPLIT - limita împărțirii tastaturii în două manuale. Afișajul arată „SP” (SPLIT) și numărul din două cifre al ultimei taste din partea stângă a tastaturii; - MODE - modul canal de programare (P, U, L). Afișajul aprinde „Pr” - litera corespunzătoare modului canalului (P, U, L); - TRANSPORT - transpunere, adică schimbarea înălțimii tastaturii cu 12 semitonuri în jos sau cu același număr de semitonuri în sus. Modul de transpunere în jos este indicat de afișaj ca un număr din două cifre 01-12 cu semnul „-”; modul de transpunere în jos este indicat fără semn. Numărul 00 indică nicio transpunere; - Ost A - +/- octava pentru manualul din stanga. Aceasta înseamnă că scala de la tastatură a piesei A poate fi deplasată cu o octavă în jos sau cu o octavă în sus. Afișajul afișează „Ao”-1”, „Ao-0”, „Ao-1”, ceea ce înseamnă, respectiv, o deplasare în jos cu o octavă, nicio schimbare și o deplasare în sus cu o octavă: - Ost B - +/- octava pentru manualul potrivit. Afișajul indică „În -1, „În 0” și „În 1”; - PAUZĂ - dimensiunea pauzei dintre trimiterile MIDI. Afișajul afișează „PA” și un număr din două cifre 01-50, indicând dimensiunea a pauzei în unităţi arbitrare.

    Din păcate, unele carduri muzicale din computerele multimedia „alunecă” la schimbarea programului audio, adică nu mai primesc mesaje MIDI în timp ce noul program audio este încărcat, ceea ce duce la pierderea informațiilor primite. De exemplu, cardul YAMAHA SW20 modifică sunetele în 0,5...1 s, iar GRAV1S ULTRASUNDE încarcă programe de sunet de pe hard disk, ceea ce durează și mai mult timp. Pentru o funcționare clară a plăcii de sunet YAMAHA SW20, dimensiunea pauzei corespunde cu 16. Pentru plăci ieftine precum SOUNDBLASTER și pentru instrumente muzicale cu intrare MIDI, PAUSE=1. „Parametrii funcțiilor enumerate pot fi modificați folosind butoanele „-1” și „+1”. Când apăsați din nou butonul „WRITE”, programul sonor al piesei A (0-127) și programul sonor al piesei B (0-127) sunt introduse în memoria programelor proprii ale dispozitivului. , programul de sunet pista C (0-127), numărul canalului MIDI A (1-16), numărul canalului MIDI B (1-16), canalul MIDI numărul C (1-16), volumul piesei A (0-15), volumul piesei B (0-15), octava A (-1, 0, 1), octava B (-1, 0.1), operațional modul manuale (P, U, L), niveluri, modulație (1 -4), viteza PITCH BEND (1-4).Indiferent de numerotarea serială a programelor proprii ale instrumentului descris, limita secțiunii SPLIT (1-4). 61), pitch shift TRANSPORT (-12, 0, +12), viteza de apăsare VELOCITY (0-127), tempo al compoziției interpretate (2&-240). Butonul „VOLUME” și „PITCH-”, „P1TCH” Butoanele +", "MOD" de pe telecomanda tastaturii MlDI sunt comenzi de control operaționale. dintre ele reglează volumul dispozitivului extern. Dacă tastatura servește două canale MIDI (modurile U, L), atunci regulatorul deservește și aceste canale, dar la rândul său. Care parte a tastaturii (manual) a fost atinsă de mâna unei persoane în ultimul moment, parametrii de control al volumului vor fi transmisi prin acest canal MIDI. Acest lucru se poate face mai clar prin intrarea în modul de programare a funcției - apăsați butonul „SCRIERE” și utilizați butonul „4” pentru a activa funcția VOLUME. Când butonul rezistorului R40 este rotit ușor în sensul acelor de ceasornic, afișajul ar trebui să afișeze 16 gradări de nivel de la 0 la 15. Dacă lucrăm pe partea stângă a tastaturii, regulatorul va afecta doar volumul canalului „A” și nivelul volumului. va fi afișat în partea stângă a afișajului. Când lucrați pe partea dreaptă a tastaturii, controlul va influența Butoanele „PITCH-” și „PITCH+” oferă o simulare convenabilă a funcționării roții de control PITCH BEND cu o schimbare lină a tonului în jos/în sus și înapoi. modul de programare a funcției, puteți accelera sau încetini funcționarea simulatorului PITCH BEND. selectând una dintre cele patru viteze de îndoire a pasului. Butonul „MOD” este un element de control pentru patru niveluri de modulație (25, 50, 75 și 100%). Apăsarea și menținerea acestuia în această poziție permite modularea tonului MIDI. Când butonul este eliberat, modulația este dezactivată. Proprietarii de calculatoare echipate cu plăci de sunet cu interfață MIDI vor avea nevoie și de un adaptor (adaptor MIDI), care este necesar pentru izolarea galvanică între intrarea MIDI a instrumentului și intrarea midi TTL a plăcii de sunet a computerului. Diagrama sa este prezentată în Fig. 2.

    Izolarea este asigurată de optocuplerul AOT127A (U1). Adaptorul este alimentat prin conectorul plăcii de sunet (pini 1,8 și 9 - +5 V, pini 4 și 5 - comuni). Intrările „MIDI THRU- și „MIDI OUT” sunt destinate conectării sintetizatoarelor, generatoarelor de tonuri și altor receptoare MIDI externe care nu sunt încorporate în computer. Când configurați o tastatură MIDI, trebuie acordată o atenție deosebită instalării R38- Nod R40 pentru conversia analog-digitală a nivelului de control al volumului . Faceți acest lucru pe un instrument depanat și complet funcțional în această ordine. Porniți instrumentul, apăsați butonul „SCRIERE” de pe telecomandă și apoi folosiți „4” butonul pentru a activa funcția VOLUME. Când butonul rezistorului R40 este rotit ușor în sensul acelor de ceasornic, afișajul ar trebui să afișeze toate cele șaisprezece gradații de nivel - de la 0 la 15. Dacă intervalul de reglare este parțial sau îngust, obțineți funcționarea normală a analog-to-ului. conversie digitală prin selectarea rezistenței R38.

    Verificați disponibilitatea mesajelor midi după cum urmează. La pinul 5 al conectorului „MIDI OUT”, conectați sonda de intrare a osciloscopului, apăsați pedala „SYS-TAIN” sau conectați (temporar) intrările PCO și PC1 ale cipului DD6 la un conductor comun, apoi porniți alimentarea instrumentul.Cu această conexiune funcționează un program de ieșire MIDI ciclic.cod 55H.Pe ecranul osciloscopului arată ca o secvență de rafale de cinci impulsuri.Durata fiecărui bit al mesajului cod este de 32 de minute, ceea ce corespunde la 31250 bps. Rata de transmitere a mesajelor MIDI.

    Tastatura este proiectată pentru conectarea la un modul de sunet extern sau la computer (dacă există o interfață adecvată) folosind protocolul MIDI - pentru înregistrarea muzicii într-un program de secvențiere sau spectacol live. Numărul de taste în versiunea propusă este de 48, dar poate fi crescut la 64 fără a modifica circuitul.O caracteristică distinctivă a tastaturii propuse este sensibilitatea acesteia la forța de impact asupra tastei.

    Istoricul dispozitivului

    Cu ceva timp în urmă, în legătură cu achiziționarea unui apartament, am fost nevoit să pierd un instrument de lux care mi-a servit drept tastatură MIDI - era legendarul YAMAHA DX-7. Când tristețea s-a domolit, a apărut întrebarea în toată severitatea și urâțenia ei: la ce să lucrezi? În acest moment, prin eforturile prietenului meu, un circuit pe jumătate asamblat pentru KR1816BE39 (în adversar, acest procesor se numește 8048) a căzut în mâinile mele. Circuitul este ușor de asamblat și configurat și, cel mai important, a venit la îndemână la momentul potrivit. Am asamblat tastatura sub forma unei matrice 8x6 folosind KR1533ID7 și KR1533KP7. A existat și o muscă în unguent - două dezavantaje ale acestei scheme îi distrug toate avantajele până la moarte: lipsa de sensibilitate la viteza de apăsare a tastei (difuzoare) și roata PITCH WEEL. Ei bine, am programat odată pe Z-80 (și chiar am făcut un secvențior funcțional) și am decis să mă scutur de vremurile de demult. Am respins în mod decisiv Z-80 ca CPU ca fiind învechit din punct de vedere moral. În plus, nu am vrut să fac multă lipire și am decis să iau ca bază același dispozitiv pe KR1816BE39, echipându-l cu un alt multiplexor pentru ruperea contactelor (superioare) ale tastelor. Am găsit documentație (nu vă veți crede - în bibliotecă, cartea „Designing Digital Devices on Single-Chip Microprocessors”) pentru asamblatorul KR1816BE39 și am mâzgălit un program... Și apoi s-a dovedit că programatorul ROM al unui prieten avea a murit, și pur și simplu nu a fost nimic cu care să flash programul... De durere mi-am pierdut mințile complet și am decis să rescriu același algoritm pentru PIC. Într-o jumătate de zi, programatorul (LUDIPIPO) a fost lipit împreună, apoi a fost realizat un prototip dintr-o priză, KR1533ID7 și o pereche de KR1533KP7, iar întreaga instalare a fost făcută de MGTF fără nicio ștampilă. Și procesul a început...

    Mai întâi a fost lansată o versiune non-dinamică a programului (o prezint și pentru cei care au o tastatură cu câte un contact pe tastă). Apoi a început versiunea dinamică. Și atunci a venit ideea de a adăuga butoane și un indicator. Faptul este că am avut un WAVEBLASTER (un sintetizator de tip wavetable pentru sisteme de sunet foarte vechi) întins mult timp. Conectându-l la creația mea, am obținut ceva pe care să te poți juca (în măsura în care poți și talentul tău) fără computer, ceea ce uneori este destul de convenabil. Acest lucru a determinat setul de funcții de pe butoane - poate fi util atunci când vă conectați la module de sunet în timpul redării „live”. Funcțiile butoanelor sunt ușor de schimbat prin scrierea propriilor manere și folosind procedurile mele de sondare și afișare. Cumva, tastatura asamblată într-o carcasă de fier s-a dovedit a fi mai convenabilă decât YAMAHA PSS (încă taste full-size, o pedală și, cel mai important, dinamică!). În mijlocul procesului de creație, a apărut o dorință dificilă de a face o versiune a tastaturii MIDI exclusiv pentru computer - indicatorul și butoanele sunt opționale, dar sunt necesare roțile PITCH WEEL și MODULATION. M-am luptat cu el o vreme, dar în cele din urmă am renunțat și am pornit din nou fierul de lipit. Electronica nu este greu de asamblat, dar mecanica este ceva mai dificilă și am început să-mi încreț sprânceana peste designul roții. După câteva gânduri, am decis să renunț la a doua roată - oricum, nu le învârt niciodată pe amândouă deodată, de obicei scriu mai întâi note și înălțimea, apoi adaug modulare. Nu cea mai mică considerație a fost reducerea la jumătate a volumului de lucru mecanic pe care l-am iubit atât de mult. Pentru cei mai puțin leneși, voi explica mai jos cum să faci două roți aproape deloc complex. Pentru a putea scrie în continuare modulație, am decis să organizez trei moduri de funcționare ale roții: înălțime pentru 2 semitonuri, înălțime pentru 1 semiton (convenient) și modulație. Puteți comuta toate acestea cu un singur buton și indicați modul cu o pereche de LED-uri. Pentru a simplifica circuitul, am eliminat butoanele și indicatoarele rămase; toate acestea nu sunt necesare pentru a funcționa cu programele secvențiale moderne.

    Roata, desigur, trebuie pusă pe axa potențiometrului, acest lucru este de înțeles, dar la ce ar trebui să fie conectată? Primul meu gând a fost să folosesc un one-shot pe cronometrul 555. Dar calculele au arătat că ar fi dificil să se obțină măsurători precise și stabile ale duratei pulsului încercând să ofere o rată de eșantionare acceptabilă a roții, deoarece procesorul este ocupat în principal cu măsurarea comutării. timpul contactelor de la tastatură. Singura modalitate rămasă este să utilizați un convertor analog-digital (ADC). Deoarece am folosit un Pic16F84 fără ADC încorporat, mi-am amintit de antecedentele mele de inginerie (și fabrica mea nativă) și am făcut un ADC din mai multe rezistențe cu un comparator (și o bucată de program). S-a dovedit simplu, ieftin și destul de precis.

    Vă prezint ambele diagrame – atât cu butoane, cât și cu roată, precum și programe pentru acestea. Dacă se dorește, ambele circuite pot fi combinate cu ușurință prin modificarea ușoară a adreselor dispozitivelor externe; trebuie doar să rețineți că modul CHORUS (STEREO) folosește înălțimea pentru a obține detonarea și trebuie fie să-l eliminați, fie să vă faceți griji cu privire la transmiterea înălțimii cu deacord. peste canale.

    Deci - tastatura reală

    Diagrama dispozitivului

    Prima care a apărut a fost o versiune non-dinamică, insensibilă la forța de impact asupra tastei - pentru a testa funcționalitatea aspectului.

    Am folosit PIC16F84 ca procesor din mai multe motive: acest cip este disponibil, ieftin și ușor de programat și era cel pe care îl aveam la îndemână. Atenție: PIC16C84 nu este potrivit - are doar 36 de celule RAM și programul nu va funcționa. Cu toate acestea, circuitul roții folosește mai puține celule RAM și programul său poate fi strâns în PIC16C84 prin reducerea cu mai multe celule, de exemplu MIDCH (prin alocarea unui canal MIDI constant tuturor datelor transmise).

    Diagrama unei tastaturi dinamice cu indicație este prezentată mai jos:

    Circuitul este tradițional în multe privințe - este dificil să reinventezi o bicicletă fără pedale și roți.J Portul B funcționează pentru transmisie - cei 7 biți inferiori scot adresa cheii în matrice sau date pentru dispozitivele externe (indicator și roată DAC). Cel mai semnificativ bit este folosit pentru a scoate datele MIDI în cod serial - conversia și ieșirea se fac în software. Prin urmare, cristalul ar trebui să fie la 4 MHz, cu excepția cazului în care doriți să rescrieți rutina de ieșire MIDI octet. Cei doi biți cei mai puțin importanți ai portului A funcționează pentru recepție - primesc semnale de la multiplexoarele contactelor tastei „eliberate” și „apăsate”, iar cei mai importanți trei biți determină adresa dispozitivului extern (prin alt decodor KR1533ID7). În circuitul cu roata, am abandonat decodorul de adrese a dispozitivului extern pentru a simplifica circuitul și a elibera bitul înalt al portului PA4 pentru intrarea datelor de la comparator, astfel încât adresele tastaturii și butoanelor sunt diferite. La combinarea circuitelor, acest microcircuit va trebui returnat, pentru a decripta adresa, utilizați biții de port PA2 și PA3 și adresați 4 dispozitive: tastatură, butoane, registru de date de indicație dinamică și registru de familiaritate cu indicație dinamică. Indicația modului roții va trebui rescrisă.

    Circuitul cu roata PITCH WEEL / MODULATION arată astfel:

    Pe fiecare cheie este instalată o diodă pentru decuplare. Rezistoarele de la intrările multiplexoarelor nu trebuie să depășească 8k, altfel sunt posibile erori din cauza capacității de montare. Indicator - oricare cu un anod comun pentru 3 cifre, dacă bornele segmentelor fiecărei cifre sunt scoase separat, bornele segmentelor cu același nume trebuie combinate - indicația este dinamică și cifrele se aprind secvențial. Orice buton, fără blocare, sărirea contactului este controlată de software. LED-urile sunt instalate lângă butoanele cu același nume și indică activarea modurilor corespunzătoare; butoanele „+” și „-” nu au LED-uri. Tranzistoarele de pe indicator sunt orice conducție inversă de înaltă frecvență și putere redusă. Două registre KR1533IR23 sunt folosite pentru a bloca alternativ adresa și codul cifrei indicatorului curent (LED-urile sunt, de asemenea, grupate în două cvasi-cifre). Am folosit o tastatură standard de la organe electrice sovietice cu 48 de taste (a fost, de asemenea, produsă separat ca designer de radio „START” și este destul de răspândită). Pentru a reduce înălțimea tastaturii și grosimea instrumentului, două dintre cele șase grupuri de contact sub fiecare tastă au fost lăsate, iar totul a fost tăiat și re-lipit. În general, un grup de comutare pe cheie este suficient, dar a fost mai convenabil să-l lipiți în acest fel. Barele colectoare ale contactelor „eliberate” și „apăsate” au o lungime de 8 taste. Dacă doriți, puteți utiliza și o tastatură unde, în loc de un grup de contacte de comutare, sunt utilizate două perechi de contacte de închidere - o pereche se închide la începutul mișcării tastei, cealaltă la sfârșit (ca la instrumentele YAMAHA). În acest caz, semnalul către PA0 trebuie să fie furnizat de la ieșirea inversă a multiplexorului (pin 6). Fără modificări în circuit, puteți utiliza o tastatură cu 64 de taste (standard – 61, adică 5 octave). Dacă este necesar, numărul de chei poate fi crescut la cel puțin 127; pentru a face acest lucru, trebuie să introduceți un alt decodor KR1533ID7 în circuit.

    Este foarte important să setați bine mecanica - contactele superioare TREBUIE să se închidă când cheile sunt eliberate. Dacă acest lucru nu se face, programul consideră că aceste taste sunt apăsate și încearcă să le proceseze, astfel încât apăsarea din nou a acestor taste nu produce un sunet. În plus, numărul maxim de note care pot fi redate simultan este de 10 (dacă cineva i-a crescut mai multe degete pe mâini, acest număr poate fi schimbat cu ușurință), iar neeliberarea tastelor reduce acest număr. Din aceleași motive, numărul de taste specificat în procedura de interogare a tastaturii TREBUIE să se potrivească cu numărul de taste reale. Respingerea contactului este suprimată de software.

    Pentru o matrice rezistivă R-2R ADC, este recomandabil să selectați rezistențe cu o precizie de 1-2%, iar valorile absolute pot fi diferite, raportul este important. Cu toate acestea, nu ar trebui să creșteți foarte mult valoarea nominală; acest lucru va crește timpul de conversie datorită capacității de intrare a comparatorului. Am folosit rezistențe SMD fără potrivire, deși măsurătorile au arătat că într-o bandă de montare, rezistențele sunt de obicei potrivite cu o precizie de peste 1%. Sunt sigur că circuitul va funcționa cu rezistențe imprecise, dar liniaritatea caracteristicii se va deteriora. Roata in sine este facuta dintr-un maner de la un televizor vechi si are un arc pe axa potentiometrului care il readuce in pozitia de mijloc. Pentru confortul configurarii mecanicii, atunci când porniți alimentarea cu butonul de mod apăsat, este activat un program de depanare care aprinde LED-ul când roata este în poziția de mijloc, acest lucru vă permite să reglați poziția zero. a roții pe axa potențiometrului. Dacă este nevoie și dorința de a face o roată de MODULARE separată, aceasta trebuie conectată la un element comparator gratuit (există patru), iar matricea R-2R este comună pentru ambele roți. Pentru a comuta ieșirile comparatoarelor, este mai bine să utilizați un microcircuit suplimentar și să utilizați PA2 ca semnal de control.

    Dacă doriți, puteți asambla o versiune dinamică a tastaturii fără indicație, butoane și rotiță PITCH WEEL / MODULATION - pur și simplu fără a asambla partea neutilizată a circuitului. Toți parametrii modificabili vor fi setați la implicit atunci când alimentarea este pornită...

    Toate acestea pot fi alimentate de la orice; consumul de curent depinde de indicatorul specific și nu depășește 100 mA. Am un stabilizator 7805 chiar pe placa fara radiator (se vede clar in poza). Este necesar un radiator mic dacă i se furnizează mai mult de 9v. Comparatorul este alimentat de o tensiune de 9 - 12 v, de preferință stabilizată. Da, am folosit microcircuite de fabricație sovietică din stocuri vechi - există un număr mare de analogi moderni, înlocuirea este posibilă și chiar de dorit - analogii moderni au un consum mai mic.

    Program

    Algoritmul de prelucrare a tastelor apăsate provine din cel propus în revista „Microprocessor Tools and Systems” nr.5, 1986. Această publicație (sau mai bine zis, o eroare în programul propus) m-a determinat să studiez asamblatorul. De fapt, singura idee luată de acolo a fost să înregistrăm numărul fiecărei taste apăsate într-o zonă special alocată de RAM (CHAN), astfel încât atunci când tastatura este interogata din nou, să nu proceseze din nou tasta deja procesată. Am două celule RAM alocate pentru fiecare dintre tastele apăsate (nu mai mult de 10 în total): în prima, se înregistrează numărul tastei apăsate, în a doua - VELOCITATEA acesteia (viteza de apăsare). Repet - sunt doar 20 dintre aceste celule și adresa de pornire este dată de numele CHAN. Semnul unei perechi libere este bitul cel mai semnificativ al primei celule. Cel mai semnificativ bit al celei de-a doua celule care este setat înseamnă că NOTE ON pentru această cheie a fost deja transmis și nu are nevoie de procesare ulterioară.

    Nu voi descrie întregul program în detaliu; codul sursă este plin de comentarii și este destul de accesibil unei persoane instruite. În rest, pun imediat la dispoziție firmware gata făcut în fișierele Dinamic.hex și Pitchmod.hex. Voi explica doar câteva puncte care nu sunt evidente. Ei bine, în primul rând, despre dinamică: în momentul în care contactele superioare ale unei chei se deschid, numărul acesteia este scris în prima celulă a primei perechi libere din zona CHAN, resetând simultan semnul perechii libere. În a doua celulă este scrisă valoarea inițială VELOCITY = 127. Sensibilitatea tastaturii este determinată de frecvența de întrerupere, deoarece procesarea întreruperii reduce valorile VELOCITY pentru toate tastele pentru care NOTĂ ON nu a fost încă transmisă. Întreruperile sunt cauzate de un temporizator încorporat. În momentul în care contactele inferioare ale cheii sunt închise, semnul „transferat” este setat în celula CHAN corespunzătoare și NOTE ON este transmisă cu VELOCITATEA curentă. Pentru a îmbunătăți curba de sensibilitate, valorile VELOCITATE scad conform legii logaritmice: 1/16 din partea sa, redusă cu 1, se scade din valoarea curentă VELOCITY.Astfel, în timp ce cheia se mută de la contactul superior la cel inferior. unul, valoarea VELOCITY din celula CHAN corespunzătoare scade conform legii logaritmice, iar cu cât cheia se mișcă mai repede, cu atât este mai mare VELOCITY în momentul în care contactele inferioare ale tastei sunt închise și se transmite NOTĂ ON. Întreruperile controlează și afișarea dinamică, acest lucru se face pentru a elimina pâlpâirea indicatorului.
    Funcțiile butoanelor: TRANSPOSE - toate tastele sunt reduse la La minor favorit: interval +/- 15 semitonuri. PRG atribuie un timbru (instrument) unei presetări date (UP1-UP5), iar VOL îi atribuie volumul. Parametrul curent este afișat pe indicator și poate fi modificat folosind butoanele „+” și „-”. TWIN afișează un timbru „dublu” - una dintre presetări (UP1-UP5) și, în același timp, presetarea LOWER suna simultan. STEREO emite sunetul presetarii curente pe canalele stereo din dreapta si din stanga cu o usoara „deacordare” (efect de refren). Butonul SPLIT nu este activat. Pedala SUSTAIN este proiectată circuit ca unul dintre butoane; capacitatea firului său nu trebuie să fie foarte mare. Adresele manipulatorilor de butoane sunt colectate într-un tabel la începutul programului; atunci când schimbați funcțiile butoanelor, le puteți înlocui pe ale dvs.

    ADC-ul roții este pe jumătate software, funcționează folosind un algoritm de aproximare succesiv, matricea R-2R realizează conversia digital-analogic. În primul rând, un 1 în cifra cea mai semnificativă este aplicat matricei R-2R, iar comparatorul determină dacă este mult sau puțin. Dacă este puțin, 1 rămâne în bitul cel mai semnificativ, dacă există mult - 0. Atunci același lucru se întâmplă cu fiecare bit de ordin inferior următor (6 pași în total) și obținem un număr de șase biți corespunzător unghiul de rotație al roții. Această acuratețe mi se pare suficientă, dar puteți adăuga încă un bit prin creșterea matricei și a programului de conversie.

    Proiecta

    Ca tastatură reală, am folosit un constructor „Start” de fabricație sovietică; acum, poate, este mai ușor să găsești un Yamaha sau Casio vechi, inoperabil, acest lucru va rezolva și problema realizării carcasei - dacă, desigur, instrumentul vechi este relativ intact...

    Nu a fost dezvoltată o placă de circuit imprimat - am considerat că este nepotrivit să petrec timp cu cablarea și realizarea unei plăci pentru a produce o singură copie a dispozitivului, iar aspectul a fost realizat pe o placă de circuit folosind jumperi MGTF. Ca conector și cablu la tastatură, am folosit un cablu de la unități de dischete de la un computer cu un conector corespunzător pe fiecare parte - acest lucru facilitează asamblarea/dezasamblarea dispozitivului finit.

    În cazul meu, corpul a fost îndoit din tablă subțire de oțel (ceea ce era la îndemână) - cu părți laterale din lemn (ca instrumentele vechi sovietice).

    Ei bine, pe scurt, asta-i tot. Succes creativ!

    Lista radioelementelor

    Desemnare Tip Denumirea Cantitate NotăMagazinBlocnotesul meu
    Schema nr. 1.
    MicrocontrolerPIC16F841 La blocnotes
    ChipKR1533ID71 La blocnotes
    ChipKR1533KP71 La blocnotes
    Regulator liniar

    LM7805

    1 La blocnotes
    Dioda

    KD522A

    64 La blocnotes
    Condensator22 pF2 La blocnotes
    Condensator0,1 uF2 La blocnotes
    100 uF2 La blocnotes
    Rezistor

    220 ohmi

    2 La blocnotes
    Rezistor

    6,8 kOhmi

    8 La blocnotes
    Rezonator cu cuarț4 MHz1 La blocnotes
    Buton de la tastatură 64 La blocnotes
    Schema nr. 2.
    MicrocontrolerPIC16F841 La blocnotes
    ChipKR1533ID72 La blocnotes
    ChipKR1533KP72 La blocnotes
    ChipKR1533IR232 La blocnotes
    Regulator liniar

    LM7805

    1 La blocnotes
    Tranzistor bipolar

    KT315A

    5 La blocnotes
    Dioda

    KD522A

    80 La blocnotes
    Condensator22 pF2 La blocnotes
    Condensator0,1 uF2 La blocnotes
    Condensator electrolitic100 uF2 La blocnotes
    Rezistor

    180 ohmi

    7 La blocnotes
    Rezistor

    220 ohmi

    2 La blocnotes
    Rezistor

    6,8 kOhmi

    16 La blocnotes
    Rezistor

    8 kOhm

    1 La blocnotes
    Rezonator cu cuarț4 MHz1 La blocnotes
    Indicator digital LED cu 3 cifre, cu anozi comuni. 1 La blocnotes
    Dioda electro luminiscentaroșu12 La blocnotes
    Comutator cu cheie 64 La blocnotes
    Buton 16 La blocnotes
    Schema nr. 3.
    MicrocontrolerPIC16F841 La blocnotes
    ChipKR1533ID71 La blocnotes
    ChipKR1533KP72 La blocnotes
    Comparator
    Acțiune