Midi grandinė su padalinta klaviatūra. Kaip savo rankomis pasidaryti patogų sintezatorių

  • Garsas
  • Vaikystėje turėjau fortepijoną, tikrą, sovietinį, apie 300 kilogramų, mėgau juo pabarstyti, o baigęs muzikos mokyklą net kažką grojau. Fortepijonas šaunus, autentiškas, bet visai nepraktiškas. O kad tai tikrai būtų tinkama sielai, dar reikia būgnų komplekto, elektrinės gitaros priedų rinkinio, klarneto, sitaros ir mėginių kilpų...

    Žinoma, dabar nebereikia savo buto paversti garažu-studija su šešių atlyginimų lizdu, tereikia įsirengti nemokamą muzikos redaktorius. Bet visa tai nepatogu.

    Kompiuterio klaviatūra visai nepanaši į klaviatūros instrumentą, čia viskas kitaip. Be to, tai visiškai netinka vaiko mokymui. Atrodo, kad nėra kito pasirinkimo, kaip tik įsigyti sintezatorių. Bet aš vis dar turiu abejonių.

    Kas yra sintezatorius? Didelis įrenginys, su muzikine klaviatūra, kuri kažkur turėtų užimti daug vietos. Kuriame yra įmontuota akustika, bet jau turiu imtuvą su garsiakalbiais. Kuriame yra įmontuotas blogas kompiuteris, bet aš turiu gerą kompiuterį.

    Pasirodo, už 40 tūkst perku tai, ką jau turiu geriausia kokybė, išskyrus tik klaviatūrą. Tai tik keletas neracionalių išlaidų maksimumo.

    Ieškodamas atskiros klaviatūros susidūriau su tokia įrenginių klase kaip USB MIDI Keyboard.
    Man visada atrodė, kad MIDI priklauso profesionalios muzikinės veiklos sričiai.
    Tačiau dabar visa muzika yra kuriama kompiuteriu, bet kurioje patogioje vietoje, o tai reiškia, kad muzikantams reikia mobilių muzikos klaviatūrų, kurios lengvai tilptų į kuprinę.

    Mano galvoje iškart susidarė planas. MIDI klaviatūrą prijungiame prie namų medijos centro, pagrįsto Raspberry Pi 3, kuriame veikia programinės įrangos sintezatorius, leidžiantis bet kam bet kada atlikti kitą savo šedevrą. Tokios MIDI klaviatūros dažniausiai turi valdiklių rinkinį ir papildomi mygtukai, kurie užprogramuoti įvairiems efektams ar papildomiems muzikos instrumentams. Atrodo ir skamba labai šauniai!

    Yra didesnių ir mažesnių įrenginių, vieni brangesni, kiti pigesni. Pasirinkau variantą už maždaug 5 tūkst. Turi dvi oktavas normalaus dydžio klavišai, mygtukai būgnininkams, derinimo rankenėlės, tai yra viskas, apie ką gali svajoti pradedantis elektronikos muzikantas.

    Nesu muzikos kūrimo kompiuteriu ekspertas, todėl buvo sunku ieškoti būdų, kaip įgyvendinti savo idėją. Informacija turėjo būti renkama po truputį. Dėlionė pamažu pradėjo formuotis ir man pavyko sukurti veiksmingą sprendimą, kuriuo dalinuosi su jumis. Kaip bebūtų keista, standartiniame Raspbian/Debian paskirstyme buvo viskas, ko reikia, net nereikėjo jungti išorinių saugyklų.

    „Fluidsynth“ naudojamas kaip sekvencinė programa (programa, kuri atkuria MIDI failus).
    MIDI klaviatūra iš karto aptinkama per ALSA ir yra prieinama prijungimui prie sekvencerio.
    Įvairių instrumentų garsams atkurti naudojamos atviros pavyzdinės duomenų bazės SoundFont2 formatu. Pirmiausia įdiegkime visa tai.

    Sudo -s apt-get atnaujinimas apt-get -y įdiegti alsa-utils fluid-soundfont-gm fluidsynth
    Prie Raspberry prijungiame MIDI klaviatūrą ir paleidžiame sekvenciją serverio režimu:

    Fluidsynth -i -s -a alsa -g 3 /usr/share/sounds/sf2/FluidR3_GM.sf2
    Vykdome komandą:

    Prijunkite -o
    Dėl to pamatysime galimų MIDI klientų sąrašą:

    14 klientas: „Midi Through“ 0 „Midi Through Port-0“ klientas 20: „VMini“ 0 „VMini MIDI 1“ 1 „VMini MIDI 2“ klientas 128: „FLUID Synth (1628)“ 0 „Synth įvesties prievadas (1628) ) :0)"
    Čia mums svarbu atsiminti klaviatūros ir sekos programos klientų numerius, kad galėtume juos sujungti komanda:

    Aconnect 20:0 128:0
    Dabar visi esame pasiruošę groti Yamaha pianinu (tai numatytasis instrumentas). Perskaitykite fluidsynth vadovą, ten yra daug įdomių komandų, pavyzdžiui, pakeisti instrumentą į būgnus ar pučiamuosius, nustatyti reverb ar choro kiekį.

    Padarykime savo programinės įrangos sintezatorių patogų. Kad nereikėtų kiekvieną kartą rankiniu būdu prijungti klaviatūros prie sekvencinės programos, parašysime paprastą demoną, kuris tai padarys automatiškai paleidžiant.

    Katė > /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 ) atvejis "$1" pradžioje) startDaemon ; ; stop) stopDaemon ;; paleisti iš naujo) restartDaemon ;; statusas); *) startDaemon esac exit 0 EOF
    Užregistruokite demoną automatiniam paleidimui:

    Chmod 755 /etc/init.d/fluidsynth update-rc.d fluidsynth numatytieji nustatymai
    Atkreipkite dėmesį, kad dabar paleidžiant sekvenciją siunčiamas konfigūracijos failas (/home/osmc/midi-router), kuriame yra komandos, kurios paverčia mūsų klaviatūrą tikru sintezatoriumi.

    Štai toks dalykas. Kiekvienas klaviatūros klavišas ir rankenėlė siunčia tam tikrus įvykius su savo numeriu. Kaip suprantu, ypatingų standartų čia nėra, todėl kiekvienas gamintojas daro ką nori. Pavyzdžiui, noriu, kad kvadratiniai klavišai skambėtų kaip būgnai, kiti klavišai skambėtų kaip pianinas, o rankenėlės valdytų garsumą, reverbą ir chorą.

    Taigi, aš turiu susieti įvykių kodus iš klaviatūros su skirtingais instrumentais ir kodus nuo rankenėlių iki kodų, kuriuos supranta sekvencinis įrenginys. Fluidsynth tai daroma naudojant maršrutizatorių. Būtent šios komandos yra konfigūracijos faile.

    Štai mano konfigūracijos failo pavyzdys su komentarais apie tai, ką jis daro.

    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
    Norėdami sužinoti, kokius kodus generuoja jūsų įrenginys, turite naudoti šią priemonę:

    Aseqdump -p 20:0
    Jis klausosi ir išveda įvykius iš MIDI klaviatūros į konsolę. Paspauskite mygtuką arba pasukite rankenėlę ir pamatysite įvykio tipą, kanalą ir kodą. Galite programuoti savo klaviatūrą taip, kaip norite, o ne taip, kaip sugalvojo tam tikrą sintezatorių sukūrę inžinieriai. Už tai labai ačiū kūrėjams fluidsynth, alsa, SoundFont2, Raspberry ir V-Mini.

    Beje, ši tema su DIY sintezatoriais atsispindi keliuose išradimuose, rekomenduoju ją pastudijuoti.

    Iš esmės straipsnis skirtas gitaristams ir panašiems į juos, nes mažai kam reikia kojinio valdiklio, įjungti papildomą klaviatūrą, surišti klavišus ir pirmyn. Nors toks valdymas gali būti visai tinkamas didžėjus. Bet tai geriausiai veikia su Guitar Rig ir TH1. Apskritai šiandien surinksime kažką panašaus į:

    Taigi, pirmiausia reikia surinkti reikiamas atsargines dalis. Štai nedidelis jų sąrašas:

    Rėmas. Reikalingas pirmas ir pats elementariausias dalykas, sunku rasti tinkamą. Tam tikslui nusipirkau dėklą.
    - USB klaviatūra, pageidautina ne labai sena, nes gali neveikti laidai.
    - Raktai (tuos, kuriuos pasiėmiau): PBS-16B (FEET), SPA-101B4 (ADOPS), PBS-15B push ON (ON). Viskas be fiksacijos. Galite nusipirkti Chip and Dip.
    - Laidai. Daug vieno branduolio. Manau, kad vytos poros tam geriausiai tinka. 2 metrai už akių. Tiesiog nepatogu atsipalaiduoti.
    – Na, manau, kad beveik kiekvienas, nusprendęs surinkti šį įrenginį, turi lituoklį.
    - Įrankiai skylėms padaryti korpuse. Jei jums kas nors patogu, netgi galite naudoti savisriegią varžtą ir tada jį redaguoti naudodami peilį, bet vėlgi, manau, kad kiekvienas turi grąžtą.

    Na, pradėkime. Pirmas dalykas, kurį reikia padaryti, yra pažymėti ir išgręžti skyles korpuse:

    Dabar pereikime prie žalingesnės dalies – kojinio jungiklio. Laidus lituojame pagal schemą, nepamirškite prie klaviatūros įvesties pakabinti identifikavimo lapų su įvesties numeriais:

    Tai turėtų atrodyti maždaug taip:

    Dabar prasidės labai sudėtingas litavimo su valdikliu iš USB klaviatūros procesas. Norėčiau atkreipti dėmesį, kad jei jums pasisekė nusipirkti / rasti / išsinešti klaviatūrą su valdikliu, kaip nurodyta aukščiau pateiktoje diagramoje, neapsieisite be litavimo stoties. Pritvirtinti plokštę prie korpuso galite beveik bet kokiomis turimomis priemonėmis, skystomis vinimis, savisriegiais, superklijais, silikonu ir apskritai, jei per stipriai nespardysite, ji laikysis, bet tai priklauso nuo atveju, vytos poros tvirtai prispaudžia lentą.

    Kas nori, prilituojame prie korpuso diodą iš NUB LOCK... Padarykite skylę laidui ir perveskite USB laidą.

    2 etapas: programinės įrangos sąranka. Tikiuosi, kad tai nesukels problemų visiems, kurie gamino šį įrenginį. Guitar Rig viskas negali būti paprasčiau, įjunkite NUM Lock, įjunkite įrenginį, atidarykite OPTIONS - CONTROLLER, paspauskite MENIU, suraskite reikiamą veiksmą, spustelėkite mygtuką Learn ir pasirinkite atitinkamą mygtuką ant mūsų valdiklio. Tada spustelėkite Pridėti valdiklį ir dar kartą atlikite tuos pačius veiksmus. Ir taip toliau, kol suvesime viską, ko mums reikia, arba kol pritrūks klavišų. Taip pat galite priskirti raktą beveik bet kokiam veiksmui 3-ioje įrangoje, dešiniuoju pelės mygtuku spustelėkite objektą ir dar kartą paspauskite Learn.

    Bet dabar, jei jus domina visa ši suma pagal Midi komandą, turėsite šiek tiek smagiau praleisti laiką.
    Tai reiškia, kad mums reikia programinės įrangos, kuri susieja klavišus su midi komandomis. Ir yra tokia programa, nors analogų nemačiau, laimei, nuo godumo gydyti nereikia. Jis vadinamas virtualiu Midi valdikliu, pagrindinis veiksmas sukonfigūruotas skirtuke C IN, diegimas - Sąranka - Kitas - Kitas. Čia yra nuoroda.


    Kartu su juo taip pat yra virtualus MIDI laidas, todėl jums nereikės daryti jokių nereikalingų judesių. Tikrai tinginiams skelbiu banko iš anksto nustatytą kojinio jungiklio nustatymą: bankas - jie turėtų pakeisti failą programos aplanko šaknyje, pagal numatytuosius nustatymus C:\Program Files\Virtual Midi Controller\, išėjus iš VMC. Patogumui SETUP programoje pažymėkite žymės langelį Run In Background ir pagrindiniame VMC lange spustelėkite raidę K, po kurios programa priims komandas minimaliu režimu. Dabar, norėdami išeiti iš programos, turite ją pašalinti iš dėklo. Nuo šiol ir „Nuendo“, ir „Sonar“ galėsite valdyti kojiniu jungikliu. Na, žinoma, TH1 taip pat paima mūsų klaviatūrą per midi.

    Kilus klausimams, kreipkitės...

    Kiti planuojami projektai:
    - Gitaros ekranavimas.
    - „Pasidaryk pats“ derinys.

    Sėkmės muzikinėje veikloje...

    Pratarmė

    Kadangi abu su žmona vaikystėje buvome mokomi spausti klavišus, akivaizdžiai namuose trūko kažkokio prietaiso su juodais ir baltais klavišais, kad jų spaudimo patirtis būtų perduota jaunajai kartai. Deja, mažame „vieno kambario bute“ neturėjo vietos ne tik „Stanway“, bet ir paprastas „Raudonasis spalis“. Išeitis buvo rasta – MIDI klaviatūra! Be to, mano „radijo sunaikinimo“ aušroje buvo bandoma kažką panašaus padaryti pačiam. Vėlgi, dėl vietos stokos, buvo nuspręsta iš pradžių apsiriboti 4 oktavomis. Ir finansai neleido man nusipirkti kažkokio „Rolando“.

    Šiek tiek paieškojus internete aptikau skelbimą, kad parduodamas visžalis aparatas Fatar 49 už 50. Viską paieškojęs tame pačiame internete radau šio stebuklo aprašymą.

    MIDI klaviatūra Fatar StudioLogic CMK 49

    • 4 oktavų, viso dydžio, dinamiška (jautri greičiui), nesverta; 49 raktai
    • MIDI išvesties jungtys, prie jo prijungtas kištukas, pažymėtas „IN“.
    • Maitinimas Maitinimo adapteris pakuotėje gali būti neįtrauktas.
    • Reikalingas maitinimo adapteris yra 9V, 0,5A. Vidinis kontaktas "+", išorinis "-".
    • Išoriniai matmenys 75,2 x 15 x 8 cm
    • Svoris 2 kg

    Šeimos taryba nusprendė - IMTI!!! Ankstesnis savininkas, parodydamas, kad jis veikia, net prijungė prie jo maitinimo adapterį. Aš jau turėjau MIDI laidą (naudojau ilgą laiką). O kai parsinešiau namo ir prijungiau prie kompiuterio, pagaliau galėjau prisiminti vaikystę. Ir... suprasti, kad per 15 metų viskas beveik visiškai pamiršta.

    Internete buvo rasta labai įdomi programa „Play Piano“ iš „Midisoft“. Ji gali išmokyti groti beveik bet ką. Ji užtikrina, kad žaistum teisingai, ir nurodo tavo klaidas, kaip ir geras mokytojas. Gaila tik, kad per tiek laiko nepavyko rasti kažko panašaus, bet naujesnio (1996 m. programa).

    Visa tai įvyko praėjusiame amžiuje. Kaip sakoma romanuose, metai prabėgo... Vaikai gimė ir augo. Klaviatūra ant stalo jau tada nebuvo itin patogi – ji buvo labai aukšta, palyginti su įprastu pianinu.

    Kėdės stovas padėjo, bet... Šiemet nuspręsta pradėti kankinti seniūną. Turime kažkam kompensuoti savo mokymą. Jam jis apskritai turėjo pastatyti piramidę ant kėdės. Ir klaviatūra nuolat stengėsi nuo jo pabėgti. Nelabai padėjo ir bandymai padėti klaviatūrą ant vaikiško stalo. Dabar jis buvo per žemas.

    Taip, ir kūdikis dabar nuolat bandė spausti klavišus, bet jai ypač patiko išjungimo mygtukas, apšviestas lempute. Ir tada mes turėjome rimtai žiūrėti į problemą.

    Pirma, tapo aišku, kad nėra prasmės daryti klaviatūros standartinio fortepijono aukščio, nes tai jau buvo padaryta konkretiems žmonėms. Antra, padaręs tik klaviatūros stovą, greitai supratau, kad teks pratęsti MIDI laidą. Ir tada buvo priimtas sprendimas pagaminti visiškai autonominį muzikos instrumentą. Išsikrapščius po kompiuterinės įrangos parduotuves iš jo buvo ištraukti visiškai veikiantys (nors ir pasenę) komponentai: pagrindinė plokštė, procesorius, vaizdo plokštė ir kietasis diskas. Taip pat rastas senas maitinimo šaltinis. Trūko vienos smulkmenos – atminties. Geras žmogus iš aptarnavimo skyriaus man prieš Naujuosius padovanojo modulį. Dabar buvo viskas, ko mums reikėjo.

    Konfigūracija pasirodė pati primityviausia šiais laikais:

    • CPU: Pentium MMX 166 MHz, padidintas iki 200
    • RAM: SDRAM PC100 128 Mb
    • HDD: Coner 340 Mb
    • VIDEO: TRIDENT
    • GARSO: Įmontuotas Yamaha OPL3
    Tačiau MIDI apdorojimui vienintelė silpnoji vieta yra garso plokštė. Korpusui teko pirkti 4 baldines plokštes 800x200x20.

    Praleidęs pusę laisvos dienos gavau šį įrenginį:

    Išgręžiame skyles maitinimo mygtukui ir „Power“ bei „HDD“ indikatoriams.

    Įdėkite klaviatūrą.

    Nupjovėme korpuso važiuoklę iki pagrindinės plokštės dydžio. Užsukame įdėdami procesoriaus atmintį ir vaizdo plokštę.

    Visus tuščius važiuoklės lizdus uždarome gražiais blizgančiais kaiščiais.

    HDD narvelį su disku prisukame prie korpuso.

    Sujungiame maitinimo šaltinį ir visus kitus kabelius bei laidus

    Operacinė sistema buvo įdiegta iš anksto. Tokiam tūriui buvo galima įdiegti tik Win98. Sujungiame monitorių, klaviatūrą ir pelę. Pasirūpinkime, kad viskas veiktų.

    Dabar pereikime prie akustikos. Anksčiau viskas eidavo per kompiuterį, kuris buvo prijungtas prie gero stiprintuvo, kuris savo ruožtu buvo prijungtas prie neblogų garsiakalbių. Negalite viso to sutalpinti į naujo įrenginio garsumą. Taip ir nėra prasmės. Tokiai garso plokštei užteks ko nors paprastesnio. Vėl neriame į saugyklas ir išimame šią (taip sakant) garsiakalbių sistemą:

    Išardykime ir pažiūrėkime į vidų:

    Taip, bet jei nėra žuvies, yra tik vėžys. Reikės eiti į vasarnamį, ten kažkur guli geri garsiakalbiai ir stiprintuvas, kurį prie K174UN7 prilitavau maždaug prieš 12 metų - jis vis tiek turės daugiau galios.

    Sujunkime šį „Garsą“.

    Na... taip ir atsitiko.

    Garsiakalbių namelyje nerasta (aišku, jau kažkur naudotų ir pamirštų), bet pasaulis neapsieina be malonių žmonių ir kaimynas man padovanojo dvi automobilines vidutines garso kolonėles.

    Spustelėjus klaviatūrą pirmyn ir atgal vienas iš klavišų pradėjo skambėti tik stipriai paspaudus. Teko viską išardyti ir duoti gerti savo brangųjį C 2 H 5 OH. Nuvaliau kiekvieną raktą, kiekvieną guminę juostelę, išdžiovinau ir padėjau atgal. Tuo pačiu metu fotoaparatu spustelėjau vidinį įrenginį.

    K174UN7 stiprintuvas buvo aptiktas, tačiau arba per tą laiką jame esantys kondensatoriai ilgam išmirė, arba buvo per jautrus. Apskritai tai skamba siaubingai garsiai. Kol kas turėjau palikti seną stiprintuvą.

    Olegas Jakubovas

    Paskelbus savo puslapį svetainėje, gavau keletą laiškų su prašymu parašyti arba atsiųsti mano surinktos midi klaviatūros schemą. Ir nusprendžiau parengti straipsnį apie midi klaviatūrą.

    1997 m. pasirinkau MIDI klaviatūros grandinę iš radijo žurnalo Nr. 3, 4. Jei kas tikrai nori sukurti gerą instrumentą, rekomenduoju nueiti į biblioteką ir ten nusipirkti žurnalų, bet tiems, kurie nenori lakstyti ir sugaišti laiko, nuskenavau visą šį straipsnį (manau, kad ne autoriaus nenaudai). Esu labai patenkintas MIDI klaviatūra. Apskritai su surinkimu problemų nekilo, išskyrus kai kurias rašybos klaidas schemoje (tikriausiai jas padarė redaktoriai, išdėstydami straipsnį). Prieš nuskaitymą padariau pataisymus, tai matyti atidžiai išstudijavus diagramą. Atkreipkite dėmesį: mirksi ROM, nedarykite klaidų įvesdami kodus, kitaip instrumentas arba visai negros, arba neveiks tinkamai. Ypatingą padėką noriu perteikti pačiam šio straipsnio autoriui už ROM lentelės tikrinimo kodų atspausdinimą, nes sunku įvesti visus simbolius be klaidų, o įvesdamas pats padariau klaidų dviejose vietose ir ačiū prie kontrolinių sumų greitai radau klaidų. Taip pat nuskaitytoje lentelėje paryškinau tas vietas, kurias autorius nurodo pakeitus du simbolius. Taip yra tuo atveju, jei klaviatūra prasideda ne nata Fa, o nata Do. Visas įrenginio dalis ir komponentus sumontavau ant plokštės, o jungtis tarp mikroschemų kaiščių litavau plona viela fluoroplastinėje pynėje, tik tarp klaviatūros ir plokštės litavau plokščiu kabeliu. Vienintelis dalykas, kurį padariau, buvo padidinti kondensatoriaus C1 talpą, nes procesorius neįsijungė. Midi klaviatūra veikia labai stabiliai, ir iki šiol jokių problemų nepatyriau!!! Jei ši grandinė kam nors atrodo labai sudėtinga, pabandykite surinkti kitą grandinę, taip pat paskelbtą Radijo žurnale Nr. 11, 1993. Tačiau šioje grandinėje nėra tokių galimybių kaip grandinėje, apie kurią ką tik rašiau. Todėl rekomenduoju turėti šiek tiek kantrybės ir sudaryti 1997 m. Radijo žurnalo Nr. 3, 4 diagramą. Nuskaitytas straipsnis pateikiamas žemiau. Jei kas dar turi nesklandumų su surinkimu, kreipkitės, gal ką nors rekomenduosiu. Vienintelis šios schemos trūkumas, manau, yra nepatogumas greitai pasirenkant instrumentą, taip pat nedidelė „PITCH“ efekto galimybė. Paprastai klaviatūros šį efektą turi kaip ratuką kairėje klaviatūros pusėje.

    Linkiu malonaus susirinkimo!!!

    MIDI KLAVIATŪRA, SKIRTA MULTIMEDIJOS KOMPIUTERIAMS IR MIDI SINTETIZORIUS

    S. Kononovas, Tula

    Šio straipsnio autoriaus sukurta MIDI klaviatūra priklauso padidinto sudėtingumo elektroniniams muzikos instrumentams ir pirmiausia skirta skaitytojams, kurie turi tam tikrų žinių ir patirties konstruojant tokią įrangą. Todėl dizaino aprašymas pateikiamas trumpoje santraukoje. Redaktoriai mano, kad šio leidinio turinys patrauks tų, kurie apskritai domisi elektronine muzika ir galbūt ketina pradėti kurti modernią įrangą. Jiems bus naudinga susipažinti su A. Studnevo straipsniais „Kas yra MIDI?“. ir „MIDI klaviatūra“, publikuota 1993 m. sausio ir lapkričio „Radijo“ numeriuose, taip pat K. Bystruškino straipsnis „Multimedija ateis į kiekvienus namus“ („Radijas“, 1996, Nr. 3).

    Rekomenduojama MIDI klaviatūra yra „blusus“ klavišinis instrumentas, kurio pagrindinė paskirtis – dirbti kartu su asmeniniais kompiuteriais su Creative, Sound Blaster, Gravis, YAMA-HA ir kitomis muzikos kortelėmis, turinčiomis midi įvestį. Be to, tai leidžia dirbti su išoriniais sintezatoriais, tonų generatoriais ir bet kokia įranga, kuri taip pat turi midi įvestį Kuriant MIDI klaviatūros aptarnavimo funkcijas, „imitacijos“ modeliai buvo italų kompanijos „MASTER STAR“ produktai. . Pirmiausia sukūriau universalų MIDI nuotolinio valdymo pultą mygtukiniam akordeonui ir akordeonui, kuris buvo pristatytas parodoje MUSIKMESSE-95 (Frankfurtas prie Maino). Tada ir kilo mintis šį struktūriškai sudėtingą įrenginį paversti paprastesne MIDI klaviatūra, kurią galėtų pakartoti žurnalo „Radio“ skaitytojai. Priemonė turi solidų aptarnavimą. Visų pirma, jis leidžia kiekvienam klavišui valdyti du MIDi kanalus, kiekvienam iš jų priskiriant savo programas (tembrus) ir įsimenant juos kartu su kiekvieno kanalo garsumo lygiu įrenginio atmintyje. Taigi galite savavališkai sujungti ir sluoksniuoti bet kuriuos du pavyzdžius iš tų, kurie yra tonų generatoriuje, prijungtame prie klaviatūros. „Šauniuose“ įrenginiuose šis režimas vadinamas „COMBY“ Klaviatūra taip pat leidžia keisti instrumento aukštį viena oktava aukštyn arba žemyn, priskirti iki 127 programų, valdyti daugybę MIDI kanalų (nuo 1 iki 16). ), valdykite garso efektus PITCH BEND, VOLUME, MODULATION, SUSTAIN ir daug daugiau. Atliekamo kūrinio tempas – nuo ​​20 iki 240 dūžių per minutę. Klaviatūros padalijimo į du vadovus riba yra savavališka. Įrankis, grandinė, susideda iš trijų funkciškai sukomplektuotų dalių: procesoriaus bloko (A1), valdymo skydelio (A2) ir klaviatūros bloko (A3). Juose naudojamas mikroschemų rinkinys yra panašus į tokių įrenginių kaip Spectrum ir Caller ID komponentus, todėl mėgstantiems kurti EMR nekils sunkumų rasti elementų bazę Procesoriaus blokas grandinės konstrukcija yra panašus į Caller ID procesorių . Pagrindinis Z80 procesoriaus generatorius (DD2) surenkamas naudojant loginius elementus DD1.1 - DD1.3 ir kvarcinį rezonatorių ZQ1. Natūralus kvarcinio rezonatoriaus dažnis turi būti 4 MHz, priešingu atveju keisis MIDI informacijos perdavimo greitis iš DD6 lusto C registro per buferinį elementą DD1.4 A surenkamas ant tranzistorių VT1, VT2 kad suteikia atstatymo signalą prie RES įėjimo (RESET - pin 26) DD2 lustai įjungiant/išjungiant maitinimo šaltinį, kai jo įtampa neviršija +4,5 V. Tai padidina informacijos saugojimo DD5 lusto nepastoviojoje atmintyje patikimumą tuo metu, kai įjungiamas arba išjungiamas maitinimas. Baterija GB1, kartu su kondensatoriumi C3, rezistoriumi R8 ir diodu VD2, palaiko maitinimą į mikroschemą DD4, kad būtų galima ilgai saugoti informaciją, kai išjungiamas bendras prietaiso maitinimas valdymo pulto mygtukų SB1-SB19 užklausa, keturių skaitmenų septynių elementų ekrano dinaminis rodymas, suformuotas indikatoriais HG1, HG2, ir vienintelės analoginės įrenginio dalies – garsumo reguliatoriaus R40 „Garsumas“ – skaitmeninimas. Ekranui naudojau labai patogius, mano nuomone, ryškius dvigubus indikatorius VQE14 (senas pavadinimas KIPTS09I), įdiegtus 4 ir 5 kartos „Horizon“ televizoriuose. HQ2 indikatoriaus įjungimas panašus į HG1 indikatoriaus įjungimą, parodytą diagramoje.

    Klaviatūros bloką sudaro penkių oktavų (61 klavišas) muzikinė klaviatūra, prasidedanti nata „F“, lustai D09, DD10 ir jungtys X1-X3, skirtos dviem išoriniams MIDI imtuvams ir „SUSTAIN“ pedalui prijungti prie instrumento. Kiekviename klaviatūros klaviše yra pora paprastai atvirų kontaktų, kurie yra sujungti į 8x8 matricą su diodų (VD14-VD74) izoliacija. Diagramoje SA1 simbolis nurodo kairįjį klavišą, o SA61 simbolis – dešinįjį klavišą. Matricos apklausą užtikrina DD9 ir DD10 lustai. Jei kuriamam instrumentui naudojama muzikinė klaviatūra prasideda nata „C“, tada matricos derinimas turi būti perkeltas septyniais klavišais. Norėdami tai padaryti, ROM turite padidinti kodą ląstelėse su adresais 025FH ir 0268H septyniais vienetais ( žr. KR573RF5 ROM programavimo lentelę ) , ty vietoj kodo „05“ parašykite „OSN“. Klaviatūros maitinimas yra mikroschemos įtampos stabilizatorius KR142EN5V, kurio įvestis tiekiama nuolatine 9 V įtampa iš išorinio šaltinio. Toks šaltinis gali būti bet koks mažo dydžio tinklo maitinimo šaltinis, įskaitant ir importinį, teikiantis apkrovą srovė ne mažesnė kaip 500 mA. Kondensatoriai C6-C9 stabilizatoriaus išėjime yra blokuojantys mikroschemų maitinimo grandines Įrenginio dalys ir komponentai sumontuoti ant keturių spausdintinių plokščių, kurios yra sujungtos viena su kita plokščiais kabeliais ir yra po. priekinis klaviatūros korpuso skydelis. Jungiklių SB1-SB19 mygtukai, indikatoriai HG1, HG2 ir kintamo rezistoriaus R40 velenas, pervesti per skylutes skydelyje, sudaro MIDI klaviatūros valdymo pultą kontaktai. Jis prijungtas prie prietaiso per X3 lizdo jungtį (1/4 JACK), esančią prietaiso galiniame skydelyje. MIDI klaviatūros išvaizda ir ekrano valdymo pulto (indikatoriai HG1, GH2), garsumo valdymo (rezistorius R40 "VOLUME") ir mygtukų (SB1 - SB19) išdėstymas parodytas pav. Jais naudodamasis muzikantas gali atlikti visas reikalingas MIDI operacijas tembrams, kanalų numeriams parinkti, balsams perskirstyti ir pan., taip pat valdyti išorinį ritmo kompiuterį ar sekvencerį. Ekrano dešinėje esantys sunumeruoti mygtukai įveda atitinkamų programų numerius, MIDI kanalą, tempą, o funkcijų mygtukai ekrano kairėje valdo įvairius klaviatūros parametrus. Paeiliui paspaudus mygtuką "PROG" (programa), ekrane rodomi klaviatūros parametrai: - šio takelio garso programos takelio tipas ir numeris. Kairėje ekrano pusėje esančios raidės nurodo: A – kairysis (apatinis) rankinis, B – dešinysis (viršutinis) rankinis, C – papildomas midi įrenginys. Po raidės rašomas šiam takeliui priskirtos garso programos triženklis skaičius (000-127);

    - ritmo generatoriaus tempo valdymas; tuo pačiu metu ekrane rodoma raidė T ir triženklis skaičius, apibūdinantis dūžių dažnį (žemyn dūžiai) per minutę, o kableliai ekrane sukuria „bėgimo žibintų“ efektą vizualiai valdyti greitį. Tempo generatorius yra nuo 20 iki 240 - kanalo režimas ir paties instrumento programos numeris: šiuo atveju raidė P kairėje ekrano pusėje reiškia, kad visa klaviatūra „sėdi“; takelis *A* – informacija iš klaviatūros vienu metu perduodama į takelį „B“ („COMBY“ režimas), raidė L yra kairioji rankinė, t.y. takelis „A“ (dešinysis vadovas yra „B“. Už raidės rodomas DD5 RAM atmintyje saugomos programos dviženklis numeris (00-99), taip pat ši informacija: PITCH – tonų derinimo greitis, MODULATION – moduliacijos gylio lygis, VOLUME – garsumo lygis, SPUT – rankinio atskyrimo riba, MODE kanalo režimas (P. U, L), Ost A – +/- oktava kairiajam rankiniam, Ost B – + /- oktava dešiniajam vadovui. Mygtukai „-1“ ir +1 sumažina (padidina) skaitinius duomenis ekrane. Mygtukas „MIDI“ naudojamas MIDI kanalui priskirti kiekvienam takeliui, o paspaudus jį paeiliui pasirenkamas takelis. Ekrane rodomas AC takelis (Bc, CC) ir MIDI kanalo numeris (1-16). Mygtuku „START“ paleidžiama arba sustabdoma (antru paspaudimu) išorinis ritmo kompiuteris arba sekvenceris – atitinkamai porai sekundžių ekrane pasirodo „Strt“ arba „Stop“. Mygtukas "BALTAS" turi du funkcinius tikslus. Jei visi pasirinkti klaviatūros parametrai yra patenkinami ir juos reikia atsiminti esamu jūsų programos numeriu, du kartus paspauskite šį mygtuką. Paspaudus pirmą kartą, ekrane bus paryškinti keturi brūkšniai, kviesdami įrenginį į programavimo režimą. Paspaudus antrą kartą, visi režimai ir parametrai išsaugomi paties įrenginio programų atmintyje, o ekrane rodomas esamas jo paties programos numeris. Antroji mygtuko „WRITE“ paskirtis – darbas su įrenginiu funkcijų programavimo režimu. Šis režimas įjungiamas pirmiausia paspaudus mygtuką „RAŠYTI“. Ekrane pasirodo keturi brūkšneliai, simbolizuojantys kvietimą į programavimo režimą. Suskaitmeninti mygtukai pradeda atlikti šių režimų programuotojų funkcijas: - PITCH - tonų derinimo greitis. Ekrane rodomas "PITCH BEND" ir skaičius (1-4). Požymis „Pb“ atitinka minimalų, „Pb4“ - didžiausią šio parametro kitimo greitį; - MODULIACIJA - moduliacijos gylis 25, 50, 75 ir 100%. Žymi raidėmis LF (LONG FREQUENCY) ir atitinkamai skaičiais 1. 2, 3 ir 4; - VELOCFTY - klavišų paspaudimo greitis - fiksuotas visai klaviatūrai. Ekrane rodomas kaip triženklis skaičius (000-127); - VOLUME - garsumo lygis (O-15). Ekrane rodomi du skaičiai: kairėje - kairiajai klaviatūros daliai (A takelis) instrukcijų padalijimo režimu, dešinėje - dešiniajai daliai (B takelis): - SPLIT - klaviatūros padalijimo riba. į du vadovus. Ekrane rodomas „SP“ (SPLIT) ir paskutinio klavišo dviženklis skaičius kairėje klaviatūros pusėje; - MODE - programavimo kanalo režimas (P, U, L). Ekrane užsidega „Pr“ - raidė, atitinkanti kanalo režimą (P, U, L); - TRANSPORTAS – perkėlimas, t.y. klaviatūros aukščio keitimas 12 pustonių žemyn arba tiek pat pustonių aukštyn. Perkėlimo žemyn režimas rodomas ekrane kaip dviženklis skaičius 01-12 su ženklu „-“ perkėlimo režimas rodomas be ženklo. Skaičius 00 rodo, kad nėra perkėlimo; - Ost A - +/- oktava kairiajam vadovui. Tai reiškia, kad A takelio klaviatūros skalę galima perkelti oktava žemyn arba oktava aukštyn. Ekrane rodomi „Ao“-1“, „Ao-0“, „Ao-1“, o tai reiškia atitinkamai poslinkį oktava žemyn, poslinkio nėra ir poslinkį oktava aukštyn: - Ost B - +/- oktava už tinkamą vadovą. Ekrane atitinkamai rodoma „In -1“, „In 0“ ir „In 1“ – PAUSE – pauzės tarp MIDI siuntimų dydis pauzės savavališkais vienetais.

    Deja, kai kurios muzikos kortelės daugialypės terpės kompiuteriuose „paslysta“ keičiant garso programą, t.y. nustoja gauti MIDI žinutes, kol įkeliama nauja garso programa, todėl prarandama gauta informacija. Pavyzdžiui, YAMAHA SW20 plokštė garsus pakeičia per 0,5...1 s, o GRAV1S ULTRASOUND įkelia garso programas iš kietojo disko, o tai užima dar daugiau laiko. Kad YAMAHA SW20 garso plokštė veiktų aiškiai, pauzės dydis atitinka 16. Pigioms kortelėms, tokioms kaip SOUNDBLASTER, ir muzikos instrumentams su MIDI įėjimu, PAUSE=1. "Išvardytų funkcijų parametrus galima keisti naudojant "-1" ir "+1" mygtukus. Dar kartą paspaudus mygtuką "WRITE", A takelio garso programa (0-127) ir takelio garso programa B (0-127) įrašomi į įrenginio atmintį, garso programa C (0-127), MIDI kanalo numeris A (1-16), MIDI kanalo numeris B (1-16), MIDI kanalas. numeris C (1-16), A takelis (0-15), B takelio garsumas (0-15), oktava A (-1, 0, 1), oktava B (-1, 0, 1), veikianti žinynų režimas (P, U, L), lygiai, moduliacija (1 -4), greitis PITCH BEND (1-4) Nepriklausomai nuo aprašomo instrumento nuosavų programų serijos numeracijos, sekcijos riba SPLIT (1-). 61), tonų poslinkis TRANSPORT (-12, 0, +12), greitis taip pat išsaugomas paspaudus VELOCITY (0-127), atliekamos kompozicijos tempas (2&-240). „PITCH-“, „P1TCH +“, „MOD“ mygtukai ant MlDI klaviatūros yra pirmieji, reguliuojantys išorinio įrenginio garsumą reguliatorius taip pat aptarnauja šiuos kanalus, bet savo ruožtu. Kurią klaviatūros dalį (manualą) žmogus palietė ranka paskutinę akimirką, šiuo MIDI kanalu bus perduodami garso reguliavimo parametrai. Aiškiau tai padaryti galima įėjus į funkcijų programavimo režimą – paspauskite mygtuką „WRITE“ ir „4“ mygtuku įjunkite VOLUME funkciją. Kai rezistoriaus R40 rankenėlė sklandžiai pasukama pagal laikrodžio rodyklę, ekrane turėtų būti rodoma 16 lygių gradacijų nuo 0 iki 15. Jei dirbame kairėje klaviatūros pusėje, reguliatorius paveiks tik kanalo „A“ garsumą ir garsumo lygį. bus rodomas kairėje ekrano pusėje. Dirbant dešinėje klaviatūros pusėje, valdymas turės įtakos Mygtukai „PITCH-“ ir „PITCH+“ leidžia patogiai imituoti PITCH BEND valdymo ratuko veikimą su sklandžiu tono perkėlimu žemyn / aukštyn ir atgal funkcijų programavimo režimu, galite pagreitinti arba sulėtinti PITCH BEND simuliatoriaus veikimą. pasirenkant vieną iš keturių žingsnio lenkimo greičių. Mygtukas "MOD" yra keturių moduliavimo lygių (25, 50, 75 ir 100%) valdymo elementas. Paspaudus ir palaikius jį šioje padėtyje, įjungiamas MIDI tono moduliavimas. Kai mygtukas atleidžiamas, moduliavimas išjungiamas. Kompiuterių su garso plokštėmis su MIDI sąsaja savininkams taip pat reikės adapterio (MIDI adapterio), kuris reikalingas galvaninei izoliacijai tarp instrumento MIDI įvesties ir kompiuterio garso plokštės TTL midi įvesties. Jo diagrama parodyta fig. 2.

    Izoliaciją užtikrina optronas AOT127A (U1). Adapteris maitinamas per garso plokštės jungtį (1,8 ir 9 kontaktai - +5 V, 4 ir 5 kontaktai - bendri). „MIDI THRU-“ ir „MIDI OUT“ įėjimai yra skirti prijungti sintezatorius, tonų generatorius ir kitus išorinius MIDI imtuvus, kurie nėra įmontuoti į kompiuterį. Nustatant MIDI klaviatūrą, ypatingas dėmesys turėtų būti skiriamas R38- nustatymui. R40 mazgas garsumo valdymo lygio konvertavimui iš analoginio į skaitmeninį Atlikite tai su derintu ir visiškai veikiančiu instrumentu tokia tvarka. Įjunkite instrumentą, paspauskite nuotolinio valdymo pulto mygtuką „WRITE“ ir naudokite mygtuką „4“. VOLUME funkcijai įjungti Sklandžiai sukant rezistoriaus R40 rankenėlę pagal laikrodžio rodyklę, ekrane turi būti rodomos visos šešiolika lygių gradacijų – nuo ​​0 iki 15. Jei reguliavimo diapazonas yra pakreiptas arba siauras, pasiekite normalų analoginio ir skaitmeninio režimo veikimą. konvertavimas pasirenkant rezistorių R38.

    Patikrinkite midi žinučių prieinamumą taip. Norėdami prijungti "MIDI OUT" jungties 5 kontaktą, prijunkite osciloskopo įvesties zondą, paspauskite "SYS-TAIN" pedalą arba prijunkite (laikinai) DD6 lusto PCO ir PC1 įėjimus prie bendro laidininko, tada įjunkite maitinimą. Prie šio prijungimo veikia ciklinė MIDI išvesties programa 55H MIDI pranešimų perdavimo.

    Klaviatūra skirta prijungimui prie išorinio garso modulio ar kompiuterio (jei yra atitinkama sąsaja) naudojant MIDI protokolą – muzikos įrašymui į sekvencinę programą ar gyvai atliekamą pasirodymą. Siūlomoje versijoje klavišų skaičius yra 48, bet nekeičiant grandinės gali būti padidintas iki 64 Išskirtinis siūlomos klaviatūros bruožas yra jos jautrumas smūgio į klavišą jėgai.

    Prietaiso istorija

    Prieš kurį laiką dėl buto pirkimo buvau priverstas pamesti prabangų instrumentą, kuris man tarnavo kaip MIDI klaviatūra – tai buvo legendinis YAMAHA DX-7. Kai liūdesys atslūgo, visu smarkumu ir bjaurumu iškilo klausimas: ką dirbti? Būtent šią akimirką mano draugo pastangomis į mano rankas pateko pusiau surinkta KR1816BE39 (priešingai šis procesorius vadinamas 8048) grandinė. Grandinę lengva surinkti ir nustatyti, o, svarbiausia, ji pateko į rankas tinkamu metu. Klaviatūrą surinkau 8x6 matricos pavidalu, naudodamas KR1533ID7 ir KR1533KP7. Buvo ir musė – du šios schemos trūkumai mirtinai užmuša visus jos pranašumus: nejautrumas klavišų paspaudimų greičiui (garsiakalbiams) ir PITCH WEEL ratas. Na, kažkada užprogramavau Z-80 (ir net sukūriau veikiantį sekvencerį) ir nusprendžiau atsikratyti senų laikų. Aš ryžtingai atmečiau Z-80 kaip procesorių kaip morališkai pasenusį. Be to, nenorėjau daug lituoti ir nusprendžiau naudoti tą patį įrenginį KR1816BE39, aprūpindamas jį kitu multiplekseriu, skirtu klavišų (viršutiniams) kontaktams sulaužyti. Radau dokumentaciją (nepatikėsite - bibliotekoje, knygą „Skaitmeninių įrenginių projektavimas vieno lusto mikroprocesoriuose“) KR1816BE39 surinkėjui ir surašiau programą... Ir tada paaiškėjo, kad draugo ROM programuotojas turėjo. mirė, o tiesiog nebuvo su kuo blykstelėti programa... Iš sielvarto visiškai pamečiau galvą ir nusprendžiau perrašyti tą patį algoritmą PIC. Per pusę paros programuotojas (LUDIPIPO) buvo sulituotas, tada iš lizdo pagamintas prototipas KR1533ID7 ir poros KR1533KP7, o visą instaliaciją atliko MGTF be jokio antspaudo. Ir prasidėjo procesas...

    Pirmiausia buvo paleista nedinaminė programos versija (pristatau ir tiems, kurie turi klaviatūrą su vienu kontaktu kiekvienam klavišui). Tada prasidėjo dinaminė versija. Ir tada kilo mintis pridėti mygtukus ir indikatorių. Faktas yra tas, kad WAVEBLASTER (dukterinis bangų sintezatorius, skirtas labai senoms garso sistemoms) ilgą laiką gulėjo tuščiąja eiga. Prijungęs prie savo kūrybos gavau kažką ant kurio galima žaisti (pagal savo galimybes ir talentą) be kompiuterio, o tai kartais visai patogu. Tai nustatė mygtukų funkcijų rinkinį - tai gali būti naudinga jungiantis prie garso modulių „gyvo“ grojimo metu. Mygtukų funkcijas lengva pakeisti rašant savo tvarkykles ir naudojant mano apklausos ir rodymo procedūras. Kažkaip geležiniame dėkle surinkta klaviatūra pasirodė patogesnė nei YAMAHA PSS (vis dar pilno dydžio klavišai, pedalas ir, svarbiausia, dinamika!). Įpusėjus kūrybiniam procesui, kilo nelengvas noras padaryti MIDI klaviatūros versiją tik kompiuteriui – indikatorius ir mygtukai yra neprivalomi, tačiau reikalingi PITCH WEEL ir MODULATION ratukai. Kurį laiką kovojau su juo, bet galiausiai pasidaviau ir vėl įjungiau lituoklį. Elektroniką surinkti nesunku, tačiau mechanika kiek sunkesnė, ir aš pradėjau raukšlėti antakį dėl rato dizaino. Kiek pagalvojęs nusprendžiau atsisakyti antrojo rato – šiaip niekada nesuku abiejų iš karto, dažniausiai pirma rašau natas ir pitchą, tada pridedu moduliaciją. Ne mažiau svarbu buvo perpus sumažinti mechaninio darbo, kurį taip mėgau, apimtį. Mažiau tinginiams toliau paaiškinsiu, kaip padaryti du ratus beveik nesudėtingai. Kad dar galėčiau rašyti moduliaciją, nusprendžiau suorganizuoti tris rato veikimo režimus: pitch 2 pustoniams, pitch 1 pustoniams (patogus) ir moduliaciją. Visa tai galite perjungti vienu mygtuku, o režimą nurodyti pora šviesos diodų. Norėdami supaprastinti grandinę, pašalinau likusius mygtukus ir indikatorius, kad galėtumėte dirbti su šiuolaikinėmis sekvencinėmis programomis.

    Ratas, žinoma, turi būti dedamas ant potenciometro ašies, tai suprantama, bet prie ko jis turėtų būti prijungtas? Mano pirmoji mintis buvo naudoti vienkartinį 555 laikmatį. Tačiau skaičiavimai parodė, kad būtų sunku pasiekti impulsų pločio matavimo tikslumą ir stabilumą, kai bandau užtikrinti priimtiną rato atrankos dažnį, nes procesorius daugiausia užsiima matavimais. klaviatūros kontaktų perjungimo laikas. Liko vienintelis būdas – naudoti analoginį-skaitmeninį keitiklį (ADC). Kadangi naudojau Pic16F84 be įmontuoto ADC, prisiminiau savo inžinerinį išsilavinimą (ir gimtąją gamyklą) ir iš kelių rezistorių su komparatoriumi (ir tam tikra programa) padariau ADC. Tai pasirodė paprasta, pigu ir gana tikslu.

    Pateikiu abi schemas - ir su mygtukais, ir su ratuku, ir joms skirtas programas. Jei pageidaujate, abi grandines galima lengvai sujungti šiek tiek pakeitus išorinių įrenginių adresus, tereikia atsiminti, kad CHORUS (STEREO) režimas naudoja aukštį, kad būtų atkurtas, ir jūs turite jį pašalinti arba nerimauti dėl tono perdavimo su išjungimu; per kanalus.

    Taigi - tikroji klaviatūra

    Įrenginio schema

    Pirmoji pasirodė nedinamiška versija, nejautri smūgio į raktą jėgai – išbandyti maketo funkcionalumą.

    PIC16F84 naudojau kaip procesorių dėl kelių priežasčių: šis lustas yra prieinamas, pigus ir lengvai programuojamas, be to, jį turėjau po ranka. Dėmesio: PIC16C84 netinka – jame tik 36 celės RAM ir programa neveiks. Tačiau ratų grandinė naudoja mažiau RAM ląstelių, o jos programa gali būti įspausta į PIC16C84 sumažinus dar porą ląstelių, pavyzdžiui, MIDCH (visiems perduodamiems duomenims priskiriant pastovų MIDI kanalą).

    Dinaminės klaviatūros su indikacija schema parodyta žemiau:

    Grandinė daugeliu atžvilgių yra tradicinė – sunku išradinėti dviratį be pedalų ir ratų J Prievadas B veikia perdavimui – apatiniai 7 bitai išveda rakto adresą matricoje arba duomenis išoriniams įrenginiams (indikatoriaus ir rato DAC). Reikšmingiausias bitas naudojamas MIDI duomenims išvesti serijiniu kodu – konvertavimas ir išvestis atliekami programinėje įrangoje. Todėl kristalas turėtų būti 4 MHz, nebent norite perrašyti MIDI baitų išvesties tvarką. Du mažiausiai reikšmingi A prievado bitai veikia priėmimui - jie gauna signalus iš „atleistų“ ir „paspaustų“ klavišų kontaktų multiplekserių, o trys reikšmingiausi bitai nustato išorinio įrenginio adresą (per kitą KR1533ID7 dekoderį). Grandinėje su ratu atsisakiau išorinio įrenginio adresų dekoderio, kad supaprastinčiau grandinę ir atlaisvinčiau PA4 prievado aukštąjį bitą duomenims įvesti iš komparatoriaus, todėl skiriasi klaviatūros ir mygtukų adresai. Sujungiant grandines reikės grąžinti šią mikroschemą, iššifruoti adresą, naudoti prievado bitus PA2 ir PA3 bei adresuoti 4 įrenginius: klaviatūrą, mygtukus, dinaminės indikacijos duomenų registrą ir dinaminės indikacijos pažinimo registrą. Rato režimo indikacija turės būti perrašyta.

    Grandinė su PITCH WEEL / MODULATION ratu atrodo taip:

    Ant kiekvieno rakto yra sumontuotas vienas diodas, skirtas atjungti. Rezistoriai multiplekserių įėjimuose neturėtų būti didesni nei 8k, kitaip galimi nesklandumai dėl montavimo talpos. Indikatorius - bet koks su bendru 3 skaitmenų anodu, jei kiekvieno skaitmens segmentų gnybtai išvedami atskirai, to paties pavadinimo segmentų gnybtai turi būti sujungti - indikacija yra dinamiška, o skaitmenys užsidega nuosekliai. Bet kokie mygtukai, be užrakinimo, kontaktų atšokimas yra valdomas programine įranga. Šviesos diodai yra sumontuoti šalia to paties pavadinimo mygtukų ir rodo atitinkamų režimų įjungimą, mygtukai „+“ ir „-“ neturi šviesos diodų. Indikatoriaus tranzistoriai yra bet kokie mažos galios, aukšto dažnio atvirkštinio laidumo. Du KR1533IR23 registrai naudojami pakaitomis užfiksuoti esamo indikatoriaus skaitmens adresą ir kodą (LED taip pat sugrupuoti į du beveik skaitmenis). Naudojau standartinę sovietinių elektrinių vargonų klaviatūrą su 48 klavišais (taip pat buvo gaminama atskirai kaip „START“ radijo dizainerė ir gana plačiai paplitusi). Siekiant sumažinti klaviatūros aukštį ir instrumento storį, po kiekvienu klavišu buvo paliktos dvi iš šešių kontaktų grupių, o visas daiktas buvo iškirptas ir iš naujo suklijuotas. Apskritai užtenka vienos perjungimo grupės vienam klavišui, bet taip buvo patogiau klijuoti. „Atleistų“ ir „paspaustų“ kontaktų šynos yra 8 klavišų ilgio. Jei pageidaujate, galite naudoti ir klaviatūrą, kurioje vietoj perjungimo kontaktų grupės naudojamos dvi uždarymo kontaktų poros – viena pora užsidaro klavišo judesio pradžioje, kita – pabaigoje (kaip YAMAHA instrumentuose). Tokiu atveju signalas į PA0 turi būti tiekiamas iš multiplekserio atvirkštinės išvesties (6 kontaktas). Be pakeitimų grandinėje galima naudoti klaviatūrą su 64 klavišais (standartinė – 61, t.y. 5 oktavos). Jei reikia, raktų skaičių galima padidinti bent iki 127, į grandinę reikia įvesti kitą KR1533ID7 dekoderį.

    Labai svarbu gerai sureguliuoti mechaniką – atleidus klavišus PRIVALO užsidaryti viršutiniai kontaktai. Jei tai nepadaroma, programa tokius klavišus laiko paspaustais ir bando juos apdoroti, todėl dar kartą paspaudus šiuos klavišus garsas neskleidžiamas. Be to, maksimalus natų, kurias galima groti vienu metu, skaičius yra 10 (jei kas nors užsiaugino daugiau pirštų ant rankų, šį skaičių galima nesunkiai pakeisti), o neatleidus klavišų šis skaičius sumažėja. Dėl tų pačių priežasčių klaviatūros apklausos procedūroje nurodytas klavišų skaičius PRIVALO atitikti tikrų klavišų skaičių. Kontaktų atšokimą slopina programinė įranga.

    Rezistinei matricai R-2R ADC patartina pasirinkti rezistorius, kurių tikslumas yra 1–2%, o absoliučios vertės gali skirtis, santykis yra svarbus. Tačiau neturėtumėte labai padidinti vardinės vertės, tai padidins konversijos laiką dėl lyginamojo įvesties talpos. SMD rezistorius naudojau nesuderinus, nors matavimai parodė, kad vienoje tvirtinimo juostelėje rezistoriai dažniausiai derinami didesniu nei 1% tikslumu. Esu tikras, kad grandinė veiks su netiksliais rezistoriais, tačiau charakteristikos tiesiškumas pablogės. Pats ratas pagamintas iš seno televizoriaus rankenos ir turi spyruoklę ant potenciometro ašies, kuri grąžina jį į vidurinę padėtį. Kad būtų patogiau nustatyti mechaniką, kai įjungiate maitinimą paspaudę režimo mygtuką, suaktyvinama derinimo programa, kuri užsidega LED, kai ratas yra vidurinėje padėtyje, tai leidžia tiksliai sureguliuoti nulinę padėtį. rato ant potenciometro ašies. Jei yra poreikis ir noras pasidaryti atskirą MODULIAVIMO ratą, jį reikia prijungti prie laisvo lyginamojo elemento (jų yra keturi), o R-2R matrica yra bendra abiem ratams. Norėdami perjungti lygintuvų išėjimus, geriau naudoti papildomą mikroschemą, o kaip valdymo signalą naudoti PA2.

    Jei pageidaujate, galite surinkti dinaminę klaviatūros versiją be indikacijos, mygtukų ir PITCH WEEL / MODULIACIJA ratuko – tiesiog nesurinkdami nenaudojamos grandinės dalies. Įjungus maitinimą, visi keičiami parametrai bus nustatyti kaip numatytieji...

    Visa tai gali būti maitinama iš bet ko, srovė priklauso nuo konkretaus indikatoriaus ir neviršija 100 mA. Turiu 7805 stabilizatorių tiesiai ant plokštės be radiatoriaus (tai aiškiai matosi nuotraukoje). Mažas radiatorius reikalingas, jei į jį tiekiama daugiau nei 9v. Komparatorius maitinamas 9–12 V įtampa, geriausia stabilizuota. Taip, aš naudojau sovietų gamybos mikroschemas iš senų atsargų - jų šiuolaikinių analogų yra labai daug, pakeisti galima ir netgi pageidautina - šiuolaikiniai analogai turi mažesnį suvartojimą.

    Programa

    Paspaustų klavišų apdorojimo algoritmas kilęs iš pasiūlyto žurnale „Mikroprocesorių įrankiai ir sistemos“ Nr.5, 1986 m. Būtent ši publikacija (tiksliau, siūlomos programos klaida) paskatino mane studijuoti surinkėją. Tiesą sakant, vienintelė mintis, paimta iš ten, buvo įrašyti kiekvieno paspausto klavišo numerį specialiai tam skirtoje RAM (CHAN) srityje, kad klaviatūra vėl neapdorotų jau apdoroto klavišo. Kiekvienam paspaustam klavišui (iš viso ne daugiau kaip 10) paskirstau dvi RAM langelius: pirmajame įrašomas paspausto klavišo skaičius, antrajame - jo GREITIS (paspaudimo greitis). Pasikartosiu – šių langelių yra tik 20, o pradžios adresą duoda pavadinimas CHAN. Laisvosios poros ženklas yra reikšmingiausias pirmojo langelio bitas. Nustatomas reikšmingiausias antrojo langelio bitas reiškia, kad PASTABA ĮJUNGTA šiam raktui jau buvo perduota ir jo nereikia toliau apdoroti.

    Išsamiai neaprašysiu visos programos; šaltinio kodas yra pilnas komentarų ir yra gana prieinamas apmokytam asmeniui. Likusiai iš karto pateikiu paruoštą programinę-aparatinę įrangą failuose Dinamic.hex ir Pitchmod.hex. Paaiškinsiu tik kai kuriuos neakivaizdžius dalykus. Na, pirmiausia apie dinamiką: tuo metu, kai atsidaro viršutiniai rakto kontaktai, jo numeris įrašomas į pirmos laisvos poros pirmą langelį iš CHAN srities, tuo pačiu atstatant laisvos poros ženklą. Pradinė reikšmė VELOCITY = 127 įrašoma į antrą langelį. Klaviatūros jautrumą lemia pertraukimo dažnis, nes pertraukų apdorojimas sumažina VELOCITY reikšmes visiems klavišams, kuriems dar nebuvo perduota NOTE ON. Pertraukimus sukelia įtaisytas laikmatis. Tuo metu, kai apatiniai rakto kontaktai yra uždaryti, atitinkamoje CHAN langelyje nustatomas ženklas „perkelta“ ir PASTABA ĮJUNGTA yra perduodama esamu VELOCITY. Norint pagerinti jautrumo kreivę, VELOCITY vertės mažėja pagal logaritminį dėsnį: 1/16 jo dalies, sumažintos 1, atimama iš dabartinės VELOCITY vertės, o klavišas juda iš viršutinio kontakto į apatinį vienas, VELOCITY reikšmė atitinkamoje CHAN langelyje mažėja pagal logaritminį dėsnį, ir kuo greičiau juda klavišas, tuo didesnis VELOCITY momentas, kai uždaromi apatiniai rakto kontaktai ir perduodama NOTE ON. Pertraukimai taip pat valdo dinaminį ekraną, tai daroma siekiant pašalinti indikatorių mirgėjimą.
    Mygtukų funkcijos: TRANSPOSE – visi klavišai sumažinami iki mėgstamo A-moll: diapazonas +/- 15 pustonių. PRG priskiria tembrą (instrumentą) tam tikram išankstiniam nustatymui (UP1-UP5), o VOL priskiria jo garsumą. Dabartinis parametras rodomas indikatoriuje ir gali būti pakeistas naudojant „+“ ir „-“ mygtukus. skambėti vienu metu. STEREO išveda esamo iš anksto nustatyto garsą į dešinįjį ir kairįjį stereo kanalus su nedideliu „atsijungimu“ („choro“ efektu). SPLIT mygtukas neaktyvuotas. SUSTAIN pedalas sukurtas pagal grandinę, nes vieno iš jo laido talpa neturėtų būti labai didelė. Mygtukų tvarkyklių adresai surenkami į lentelę programos pradžioje, kai keičiate mygtukų funkcijas, galite juos pakeisti savo.

    Ratuko ADC yra pusiau programinė įranga, ji veikia naudojant nuoseklų aproksimacijos algoritmą, R-2R matrica atlieka skaitmeninį analoginį konvertavimą. Pirmiausia R-2R matricai pritaikomas 1 reikšmingiausias skaitmuo, o lyginamoji priemonė nustato, ar tai daug, ar mažai. Jei mažai, reikšmingiausiame bite lieka 1, jei daug - 0. Tada tas pats nutinka su kiekvienu paskesniu žemos eilės bitu (iš viso 6 žingsniai) ir gauname šešių bitų skaičių, atitinkantį rato sukimosi kampas. Man atrodo, kad šio tikslumo pakanka, tačiau galite pridėti dar vieną bitą padidindami matricą ir konvertavimo programą.

    Dizainas

    Kaip tikrąją klaviatūrą naudojau sovietų gamybos „Start“ konstruktorių, galbūt dabar lengviau rasti seną, neveikiantį „Yamaha“ ar „Casio“, tai taip pat išspręs korpuso gaminimo problemą - jei, žinoma, senas instrumentas santykinai nepažeistas...

    Spausdintinė plokštė nebuvo sukurta - maniau, kad netinkama skirti laiko laidams ir plokštės gamybai, kad būtų pagaminta viena įrenginio kopija, o išdėstymas buvo sudarytas ant plokštės naudojant MGTF džemperius. Kaip jungtį ir laidą prie klaviatūros naudojome kabelį iš diskelių iš kompiuterio su atitinkama jungtimi kiekvienoje pusėje – taip lengviau surinkti/išardyti gatavą įrenginį.

    Mano atveju korpusas buvo išlenktas iš plono lakštinio plieno (ko buvo po ranka) – mediniais šonais (kaip seni sovietiniai instrumentai).

    Na, trumpai, tai viskas. Kūrybinė sėkmė!

    Radioelementų sąrašas

    Paskyrimas Tipas Denominacija Kiekis PastabaParduotuvėMano užrašų knygelė
    Schema Nr.1.
    MikrovaldiklisPIC16F841 Į užrašų knygelę
    ChipKR1533ID71 Į užrašų knygelę
    ChipKR1533KP71 Į užrašų knygelę
    Linijinis reguliatorius

    LM7805

    1 Į užrašų knygelę
    Diodas

    KD522A

    64 Į užrašų knygelę
    Kondensatorius22 pF2 Į užrašų knygelę
    Kondensatorius0,1 µF2 Į užrašų knygelę
    100 µF2 Į užrašų knygelę
    Rezistorius

    220 omų

    2 Į užrašų knygelę
    Rezistorius

    6,8 kOhm

    8 Į užrašų knygelę
    Kvarcinis rezonatorius4 MHz1 Į užrašų knygelę
    Klaviatūros mygtukas 64 Į užrašų knygelę
    Schema Nr.2.
    MikrovaldiklisPIC16F841 Į užrašų knygelę
    ChipKR1533ID72 Į užrašų knygelę
    ChipKR1533KP72 Į užrašų knygelę
    ChipKR1533IR232 Į užrašų knygelę
    Linijinis reguliatorius

    LM7805

    1 Į užrašų knygelę
    Bipolinis tranzistorius

    KT315A

    5 Į užrašų knygelę
    Diodas

    KD522A

    80 Į užrašų knygelę
    Kondensatorius22 pF2 Į užrašų knygelę
    Kondensatorius0,1 µF2 Į užrašų knygelę
    Elektrolitinis kondensatorius100 µF2 Į užrašų knygelę
    Rezistorius

    180 omų

    7 Į užrašų knygelę
    Rezistorius

    220 omų

    2 Į užrašų knygelę
    Rezistorius

    6,8 kOhm

    16 Į užrašų knygelę
    Rezistorius

    8 kOhm

    1 Į užrašų knygelę
    Kvarcinis rezonatorius4 MHz1 Į užrašų knygelę
    3 skaitmenų LED skaitmeninis indikatorius su bendrais anodais. 1 Į užrašų knygelę
    Šviesos diodasRaudona12 Į užrašų knygelę
    Raktinis jungiklis 64 Į užrašų knygelę
    Mygtukas 16 Į užrašų knygelę
    Schema Nr.3.
    MikrovaldiklisPIC16F841 Į užrašų knygelę
    ChipKR1533ID71 Į užrašų knygelę
    ChipKR1533KP72 Į užrašų knygelę
    Palyginimas
    Dalintis