MIDI elrendezés osztott billentyűzettel. Hogyan készítsünk kényelmes szintetizátort saját kezűleg

  • Hang
  • Gyerekkoromban volt egy zongorám, olyan igazi, szovjet, 300 kilogrammos, szerettem rajta pötyögni, és a zeneiskola elvégzése után még játszani is valamit. A zongora menő, hiteles, de egyáltalán nem praktikus. És ahhoz, hogy teljesen megfeleljen a léleknek, szüksége van egy dobkészletre, az elektromos gitárhoz való sarokkrémekre, egy klarinétra, egy szitárra és minta hurkokra ...

    Persze most már nem kell lakásból garázsstúdiót csinálni hat fizetésért, elég egy ingyenes zeneszerkesztőt telepíteni PC-re. De mindez kényelmetlen.

    A PC billentyűzet egyáltalán nem olyan, mint egy billentyűs hangszer, itt minden más. Ráadásul egyáltalán nem alkalmas gyerek tanítására. Úgy tűnik, nincs más választás, mint egy szintetizátor vásárlása. De a kétségeim még mindig kísértenek.

    Mi az a szintetizátor? Egy nagy készülék, zenei billentyűzettel, aminek valahol tisztességes helyet kell foglalnia. Amiben beépített akusztikája van, de már van vevőm hangszórókkal. Amelyikbe rossz PC van beépítve, nekem pedig jó PC-m.

    Kiderült, hogy 40 ezerért azt veszem meg, ami már megvan a legjobb minőségben, csak a billentyűzet kivételével. Ez csak valamiféle maximálisan irracionális költekezés.

    Külön billentyűzetet keresve egy olyan eszközosztályra bukkantam, mint az USB MIDI Keyboard.
    Mindig is úgy tűnt számomra, hogy a MIDI a professzionális zenei tevékenység területéről származik.
    De ma már mindenki PC-n zenél, bármilyen kényelmes helyen, ami azt jelenti, hogy a zenészeknek mobil zenei billentyűzetekre van szükségük, amelyek könnyen elférnek a hátizsákban.

    A fejemben azonnal összeállt egy terv. MIDI billentyűzetet csatlakoztatunk egy Raspberry Pi 3-ra épülő otthoni médiaközponthoz, ahol egy szoftveres szintetizátor pörög, így bárki bármikor előadhatja következő remekművét. Az ilyen MIDI billentyűzeteken általában van egy sor gomb és további gombok, amelyek különféle effektusokhoz vagy további hangszerekhez vannak programozva. Nagyon jól néz ki és hangzik!

    Vannak nagyobb és kisebb készülékek, vannak drágábbak és kicsit olcsóbbak. Körülbelül 5 kiöntés opciót választottam. Van benne két oktáv, normál méretű billentyűk, dobgombok, hangológombok, minden, amiről egy kezdő elektronikus zenész csak álmodozhat.

    Nem vagyok szakértő a PC-n történő zenekészítésben, így nehéz volt megtalálni az ötletem megvalósításának módját. Az információkat apránként kellett gyűjteni. A feladvány fokozatosan kezdett formát ölteni, és kiderült, hogy összeállított egy működő megoldást, amit megosztok veletek. Furcsa módon, de a Raspbian/Debian standard disztribúciójában minden megtalálható volt, amire szüksége van, még külső tárolókat sem kellett csatlakoztatni.

    A Fluidsynth-t szekvenszerként használják (MIDI-fájlokat lejátszó alkalmazás).
    A MIDI billentyűzetet az ALSA azonnal észleli, és elérhető a szekvenszerhez való csatlakoztatáshoz.
    Különböző hangszerek hangjainak lejátszásához a SoundFont2 formátumú nyílt mintabázisokat használjuk. Először telepítsük az egészet.

    sudo -s apt-get frissítés apt-get -y install alsa-utils fluid-soundfont-gm fluidsynth
    Csatlakoztasson egy MIDI-billentyűzetet a Raspberry-hez, és indítsa el a szekvenszert szerver módban:

    Fluidsynth -i -s -a alsa -g 3 /usr/share/sounds/sf2/FluidR3_GM.sf2
    Végrehajtjuk a parancsot:

    Csatlakozás -o
    Ennek eredményeként látni fogjuk az elérhető MIDI kliensek listáját:

    14. kliens: "Midi Through" 0 "Midi Through Port-0" kliens 20: "VMini" 0 "VMini MIDI 1" 1 "VMini MIDI 2" kliens 128: "FLUID Synth (1628)" 0 "Synth bemeneti port (1628) ) :0)"
    Itt fontos megjegyeznünk a billentyűzet és a szekvenszer kliensek számát, hogy azután összekapcsolhassuk őket a paranccsal:

    Csatlakozás 20:0 128:0
    Most már készen állunk a Yamaha zongorán játszani (ez az alapértelmezett hangszer). Olvassa el a fluidsynth kézikönyvet, ott sok érdekes parancs található, pl. a hangszert dobra vagy rézfúvósra cserélni, beállítani a reverb vagy chorus mennyiségét.

    Tegyük kényelmessé a szoftverszintetizátorunkat. Annak érdekében, hogy ne minden alkalommal manuálisan csatlakoztassuk a billentyűzetet a szekvenszerhez, írunk egy egyszerű démont, amely ezt automatikusan megteszi indításkor.

    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 ) case "$1" in start) startDaemon ; ; stop) stopDaemon ;; restart) restartDaemon ;; állapot) ;; *) startDaemon esac exit 0 EOF
    Regisztráljon egy démont az automatikus futtatáshoz:

    A Chmod 755 /etc/init.d/fluidsynth update-rc.d fluidsynth alapértelmezett beállításai
    Kérjük, vegye figyelembe, hogy most az indításkor a szekvenszer kap egy konfigurációs fájlt (/home/osmc/midi-router), amely olyan parancsokat tartalmaz, amelyek valódi szintetizátorrá változtatják a billentyűzetünket.

    Itt van a dolog. A billentyűzet minden gombja és gombja bizonyos eseményeket küld, saját számmal. Ha jól értem, itt nincsenek speciális szabványok, így minden gyártó azt csinál, amit akar. Például azt szeretném, hogy a négyzet alakú billentyűk dobként szólaljanak meg, a többi billentyű zongoraként, a gombok pedig a hangerőt, a visszhangot és a refrént szabályozzák.

    Tehát le kell térképeznem az eseménykódokat a billentyűzetről a különböző hangszerekre, és a gombokból származó kódokat a szekvenszer által megértett kódokra. A fluidsynth-ben ez router segítségével történik. Ezeket a parancsokat a konfigurációs fájl tartalmazza.

    Itt van egy példa a konfigurációs fájlomra, megjegyzésekkel a működéséhez.

    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
    Az eszköz által generált kódok meghatározásához ezt a segédprogramot kell használnia:

    aseqdump -p 20:0
    Meghallgatja és kinyomtatja az eseményeket a MIDI billentyűzetről a konzolra. Nyomja meg a gombot vagy forgassa el a gombot, és látni fogja az esemény típusát, csatornáját és kódját. A billentyűzetet úgy programozhatja, ahogy akarja, nem pedig úgy, ahogyan az adott szintetizátort tervező mérnökök kitalálták. Amiért nagy köszönet a fluidsynth, az alsa, a SoundFont2, a Raspberry és a V-Mini fejlesztőinek.

    Ez a barkács szintetizátorokkal foglalkozó téma egyébként több találmányban is tükröződik, tanulmányozásra ajánlom.

    Alapvetően a cikk gitárosoknak és hozzájuk hasonlóknak készült, mivel keveseknek kell lábvezérlő, kapcsolja be a kiegészítő clave-t, kösse be a billentyűket és menjen. Bár lehet, hogy a DJ-k számára ez a menedzsment teljesen megfelelő. De a legjobban a Guitar Righez és a TH1-hez működik. Általában ma valami hasonlót fogunk összegyűjteni:

    Tehát először össze kell gyűjtenie a szükséges alkatrészeket. Íme egy rövid lista belőlük:

    Keret. Az első és legalapvetőbb dolog szükséges, nehéz megtalálni a megfelelőt. Ehhez a tokhoz vettem egy tokot.
    - USB billentyűzet, lehetőleg nem túl régi, mert lehet, hogy nem működik a vezeték.
    - Kulcsok (amiket felvettem): PBS-16B (FEET), SPA-101B4 (DOPA), PBS-15B push ON (ON). Mindezt rögzítés nélkül. Chip and Deepben vásárolhat.
    - Vezetékek. Sok szingli. Szerintem erre a legmegfelelőbb a csavart érpár. 2 méterrel a szem mögött. Egyszerűen kényelmetlen kikapcsolódni.
    - Nos, szerintem szinte mindenkinek van forrasztópáka, aki úgy döntött, hogy összeszereli ezt a készüléket.
    - Szerszámok lyukak készítéséhez a testen. Aki sok, az legalább egy önmetsző csavart tud használni, aztán késsel szerkeszteni, de szerintem mindenkinek van fúrója.

    Nos, kezdjük. Az első dolog, hogy jelölje meg és fúrja ki a lyukakat a tokban:

    Most pedig térjünk át a lábkapcsoló használatának ártalmasabb részére. A vezetékeket a diagramnak megfelelően forrasztjuk, ne felejtsük el a billentyűzet bejáratánál felakasztani az azonosító lapokat a bemenetek számával:

    Valami ilyesminek kell kijönnie:

    Most egy nagyon ékszeres folyamat kezdődik az USB-billentyűzetről a vezérlőhöz való forrasztáshoz. Megjegyzem, ha szerencséje van, ha olyan vezérlővel rendelkező billentyűzetet vásárol / talál / visz el, mint a fenti ábrán, akkor nem nélkülözheti a forrasztóállomást. Szinte bármilyen kéznél lévő eszközzel rögzítheted a táblát a tokhoz, folyékony körmök, önmetsző csavarok, szuperragasztó, szilikon, és úgy általában, ha nem rúgsz erősen, akkor kitart, de ez toktól függ , a csavart érpár erősen nyomja a táblát.

    Kozmetikai fejlesztéseket végzünk, aki akarja, az NUB LOCK-ból forrasztja a diódát a házra, és ... Csináljon egy lyukat a vezetéknek és feszítse ki újra az USB kábelt. Na, elég a fantázia. Végeredmény:

    2. fázis. Szoftverbeállítás. Remélem, ez nem okoz gondot mindenkinek, aki ezt a készüléket készítette. A Guitar Rig esetében minden egyszerűbb, mint valaha, kapcsolja be a NUM Lock-ot, kapcsolja be a szereléket, nyissa meg az OPTIONS - CONTROLLER-t, nyomja meg a MENU gombot, keresse meg a szükséges műveletet, rúgja le a Learn gombot és válassza ki a megfelelő gombot a kontrollerünkön. Ezután kattintson a Vezérlő hozzáadása gombra, és hajtsa végre újra ugyanazokat a műveleteket. És így tovább, amíg be nem írunk mindent, ami szükséges, vagy a billentyűk el nem fogynak. Szinte minden művelethez hozzárendelhet kulcsot a 3. berendezésben, kattintson jobb gombbal az objektumra, majd kattintson ismét a Tanulás lehetőségre.

    És most, ha van érdeklődés a Midi csapatok ötleteinek létrehozása iránt, akkor egy kicsit több móka lesz.
    Tehát szükségünk van egy szoftverre, amely a billentyűket a midi parancsokhoz köti. És van egy ilyen program, bár nem láttam analógokat, mivel nem szükséges kezelni a kapzsiságot. Virtual Midi Controllernek hívják, a kulcsművelet a C IN lapon van beállítva, telepítés - Beállítás - Következő - Következő. Itt a link.


    Virtuális MIDI kábel is van hozzá szerelve, így nem kell extra gesztusokat csinálni. A nagyon lustáknak felteszem a lábkapcsoló banki beállítását: bank - a VMC-ből való kilépés után le kell cserélniük a programmappa gyökerében lévő fájlt, alapértelmezés szerint C:\Program Files\Virtual Midi Controller\ . A kényelem érdekében jelölje be a Run In Background jelölőnégyzetet a SETUP-ban, és kattintson a K betűre a VMC főablakában, ami után a program minimalizált módban fogadja el a parancsokat. Most a programból való kilépéshez el kell távolítania a tálcáról. Mostantól pedig a Nuendót és a Sonart is vezérelheted a lábkapcsolóról. Hát persze, a TH1 is megragadja a midikon keresztül a clave-ünket.

    Bármilyen kérdése van, forduljon bizalommal...

    Következő tervezett projektek:
    - A gitár árnyékolása.
    - Csináld magad kombó.

    Sok sikert a zenédhez...

    Előszó

    Mivel a feleségemmel gyerekkorunkban is megtanítottak billentyűt nyomni, egyértelműen hiányzott otthonról a fekete-fehér gombokkal ellátott készülék, amely átadná a gombnyomás élményét a fiatalabb generációnak. Jaj, egy kis "odnushkában", nem úgy, mint a "Stenway" - nem volt helye egy egyszerű "Vörös Októbernek". Megtalált a megoldás - MIDI billentyűzet! Sőt, "rádiópusztításom" hajnalán történtek kísérletek valami hasonlóra. Ismét helyhiány miatt úgy döntöttek, hogy 4 oktávval kezdjük. Igen, és a pénzügyek nem tették lehetővé valamilyen „Roland” megvásárlását.

    Kicsit keresgélve az interneten, egy Fatar 49 nevű örökzöld készülék eladása hirdetésére akadtam 50-ért. Miután mindent átkutattam ugyanazon a weben, megtaláltam ennek a csodának a leírását.

    MIDI billentyűzet Fatar StudioLogic CMK 49

    • 4 oktávos, teljes hosszúságú, dinamikus (sebességérzékeny), súlyozatlan; 49 kulcs
    • Csatlakozók MIDI kimenet, az "IN" feliratú csatlakozó csatlakozik hozzá
    • Tápegység Előfordulhat, hogy a hálózati adapter nem tartozéka.
    • A szükséges hálózati adapter 9V, 0,5A. Belső érintkező "+", külső "-".
    • Külső méretek 75,2 x 15 x 8 cm
    • Súly 2 kg

    A családi tanács úgy döntött - VEDD!!! Az előző tulaj, bizonyítva, hogy működik, még egy hálózati adaptert is csatolt hozzá. Volt már MIDI vezetékem (sokáig éreztem az állományt). És amikor hazahoztam és csatlakoztattam a számítógéphez, végre vissza tudtam emlékezni a gyerekkoromra. És... megérteni, hogy 15 év alatt szinte teljesen feledésbe merült minden.

    A hálózat nyílt terein egy nagyon érdekes "Play Piano" programot szereztek be a Midisofttól. Szinte bárkit meg tud tanítani játszani. Figyeli a játék helyességét, és rámutat a hibáidra, akár egy jó tanár. Csak kár, hogy ezalatt nem sikerült hasonlót, de újabbat (96. év programja) találni.

    Mindez a múlt században volt. Ahogy a regényekben mondják, évek teltek el... Gyerekek születtek és nőttek fel. Az asztalon lévő billentyűzet még akkor sem volt különösebben kényelmes - egy közönséges zongorához képest nagyon magasnak bizonyult.

    A székállvány segített, de... Idén elhatározták, hogy elkezdik kínozni az idősebbet. Valakit meg kell téríteni a képzésünkért. Neki általában egy piramist kellett egy székre kerítenie. És a billentyűzet folyamatosan próbálta elhagyni. Nem sokat segített, ha a billentyűzetet egy gyerekasztalra próbáltam tenni. Most túl alacsony volt.

    Igen, és a baba most folyamatosan mászott, hogy megnyomja a billentyűket, de különösen tetszett neki a kikapcsoló gomb, amelyet egy villanykörte világított meg. És akkor komolyan kellett vennem a problémát.

    Először is világossá vált, hogy nincs értelme egy szabványos zongora magasságában billentyűzetet készíteni, mivel ezt már konkrét embereknek csinálták. Másodszor, miután csak egy állványt készítettem a billentyűzetnek, hamar rájöttem, hogy meg kell hosszabbítanom a MIDI kábelt. És akkor megérett a döntés, hogy készítsünk egy teljesen autonóm hangszert. A számítógépes hardverek raktáraiba beásva egészen működő (bár erkölcsileg elavult) alkatrészeket vontak ki belőle: alaplapot, processzort, videokártyát és merevlemezt. Egy régi táp is előkerült. Hiányzott a kis - memória. Egy jó ember a szervizből adott egy modult az új év előtt. Most minden megvolt, ami kellett.

    A konfiguráció a modern idők legprimitívebbnek bizonyult:

    • CPU: Pentium MMX 166 MHz, 200-ra túlhajtva
    • RAM: SDRAM PC100 128 Mb
    • HDD: Coner 340 Mb
    • VIDEÓ: TRIDENT
    • AUDIO: Yamaha OPL3 fedélzetén
    De a MIDI feldolgozásnál az egyetlen gyenge pont itt a hangkártya. A tokhoz 4 db 800x200x20-as bútorlapot kellett vennem.

    Miután eltöltöttem a fél napot, megkaptam ezt az egységet:

    Lyukakat fúrunk a bekapcsológombhoz, valamint a "Power" és a "HDD" jelzőkhöz.

    Helyezze be a billentyűzetet.

    A ház vázát lefűrészeltük az alaplap méretére. A processzor, memória és videokártya beszerelésével rögzítjük.

    Az összes üres aljzatot gyönyörű fényes csatlakozókkal fedjük le.

    A HDD kosarat a lemezzel rögzítjük a házhoz.

    Csatlakoztatjuk a tápegységet és az összes többi kábelt és vezetéket

    Az operációs rendszer előre telepítve volt. Ilyen kötetre csak a Win98 telepíthető. Csatlakoztassa a monitort, a billentyűzetet és az egeret. Gondoskodunk róla, hogy minden működjön.

    Most térjünk át az akusztikára. Korábban minden egy számítógépen ment keresztül, amely egy jó erősítőhöz volt csatlakoztatva, ami viszont tisztességes hangszórókhoz volt csatlakoztatva. Mindezt nem lehet belezsúfolni egy új készülék kötetébe. Igen, és nincs értelme. Egy ilyen hangkártyához elég valami egyszerűbb. Ismét belemerülünk a raktárba, és megkapjuk ezt a (ha szabad így mondani) akusztikai rendszert:

    Szétszedjük és megnézzük belülről:

    Igen elpusztul, de bezrybe és rákos halakra. Be kell menni a dachába, valahol vannak jó hangszórók és egy erősítő, amit 12 éve forrasztottam a K174UN7-re - ennek ellenére több lesz.

    Összekapcsoljuk ezt a „Hangot”.

    Hát... mi történt.

    A vidéki házban a hangfalakat nem találták meg (nyilván már használtak és valahol elfelejtettek), de a világ nincs jó emberek nélkül, és a szomszédom adott két autós középkategóriás hangszórót.

    A billentyűzet oda-vissza piszkálása közben az egyik billentyű csak erős megnyomásra kezdett megszólalni. Mindent szét kellett szednem, és inni kellett a kedves C 2 H 5 OH-t. Minden kulcsot, gumiszalagot megtöröltem, megszárítottam és visszatettem. Ezzel egy időben a belső eszköz kamerájára kattintott.

    A K174UN7 erősítőjét felfedezték, de vagy a konderek haltak meg ezalatt, vagy túl érzékeny volt. Általában borzasztóan fonit. Egyelőre el kellett hagynom a régi erősítőt.

    Oleg Jakubov

    Miután közzétettem az oldalam az oldalon, több levelet is kaptam, amelyben arra kértek, írjak vagy küldjek el egy általam összeállított midi billentyűzet sémát. És úgy döntöttem, hogy készítek egy cikket a midi billentyűzetről.

    A Rádió magazin 1997. évi 3., 4. számához a midi billentyűs sémát választottam. Ha valaki tényleg össze akar magának szerelni egy jó hangszert, annak ajánlom, hogy menjen el a könyvtárba és vigyen magazinokat, de aki nem akar szaladgálni és időt vesztegetni, ezt a cikket teljesen beszkenneltem (szerintem nem a szerző rovására). Nagyon meg vagyok elégedve a midi billentyűzettel. Általánosságban elmondható, hogy nem volt probléma az összeállítással, kivéve néhány elírási hibát a sémában (valószínűleg a szerkesztők követték el a cikk elrendezésekor). A szkennelés előtt elvégeztem a beállításokat, ez látható az áramkör alapos tanulmányozása során. Kérjük, vegye figyelembe: a ROM "villogtatása" során ne kövessen el hibákat a kódok beírásakor, ellenkező esetben a hangszer vagy egyáltalán nem fog játszani, vagy nem fog megfelelően működni. Külön szeretném megköszönni magának a cikk szerzőjének, hogy kinyomtatta a ROM tábla vezérlőkódjait, mivel nehéz az összes karaktert hiba nélkül beírni, és amikor beírtam, én magam is hibáztam kettőben helyekre, és az ellenőrző összegeknek köszönhetően gyorsan találtam hibákat magamban. Az általam beszkennelt táblázatban is kiemeltem azokat a helyeket, ahol két karakter cseréje esetén jelez a szerző. Ez arra az esetre vonatkozik, ha a billentyűzet nem az F hanggal kezdődik, hanem a Do hanggal. A készülék összes alkatrészét, alkatrészét az áramköri lapra szereltem, a mikroáramkörök érintkezőit pedig vékony huzallal, fluoroplasztikus fonatban forrasztottam, csak a billentyűzet és a tábla közé, lapos kábellel forrasztottam. Az egyetlen dolog, amit tettem, az volt, hogy növeltem a C1 kondenzátor kapacitását, mivel a processzor nem indult el. A midi billentyűzet nagyon stabil és eddig nem tapasztaltam semmi problémát!!! Ha valakinek ez az áramkör nagyon bonyolultnak tűnik, akkor próbáljon meg összeállítani egy másik áramkört, amely szintén megjelent a Rádió magazinban, 1993. évi 11. számban. De ebben az áramkörben nincsenek olyan lehetőségek, mint abban az áramkörben, amelyről az imént írtam. Ezért azt javaslom, hogy legyen egy kis türelemmel, és állítsa össze a Rádió magazin 1997. évi 3., 4. számának diagramját. A beszkennelt cikk alább található. Ha ennek ellenére valakinek problémái vannak az összeszereléssel, kérem, forduljon hozzám, hátha tudok valamit tanácsolni. Ennek a sémának az egyetlen hátránya szerintem a gyors hangszerválasztás kényelmetlensége, valamint a "PITCH" effektus csekély lehetősége. A billentyűzetek ezt a hatást általában egy kerék formájában fejtik ki a billentyűzet bal oldalán.

    Szép építkezést kívánok!

    MIDI BILLENTYŰZET MULTIMÉDIA SZÁMÍTÓGÉPEKHEZ ÉS MIDI SZINTETIZÁTOROKHOZ

    S. Kononov, Tula

    A cikk szerzője által kifejlesztett MIDI billentyűzet a fokozott összetettségű elektronikus hangszerek közé tartozik, és elsősorban azoknak az olvasóknak szól, akik bizonyos ismeretekkel és tapasztalattal rendelkeznek az ilyen berendezések tervezésében. Ezért a tervezés leírását egy rövid összefoglaló tartalmazza. A szerkesztők úgy vélik, hogy a kiadvány tartalma felkelti azoknak a figyelmét, akik általában érdeklődnek az elektronikus zene iránt, és esetleg modern berendezések tervezésével fognak foglalkozni. Hasznos lesz számukra, hogy megismerkedjenek A. Studnev "Mi a MIDI?" és a "MIDI-billentyűzet", amely a "Radio" 1993. januári és novemberi számában jelent meg, valamint K. Bystrushkin cikke: "A multimédia minden otthonba eljut" ("Radio", 1996, 3. szám).

    Az ajánlott MIDI billentyűzet egy "néma" billentyűs hangszer, melynek fő célja a Creative, Sound Blaster, Gravis, YAMA-HA és egyéb midi bemenettel rendelkező zenei kártyákkal felszerelt személyi számítógépekkel való együttműködés. Ezenkívül lehetővé teszi a külső szintetizátorokkal, hanggenerátorokkal és bármilyen midi-bemenettel is rendelkező berendezéssel való munkát A MIDI billentyűzet szervizfunkcióinak fejlesztése során az "utánzat" modelljei az olasz "MASTER" cég termékei voltak. CSILLAG". Először egy univerzális MIDI konzolt terveztem gombos harmonikához és harmonikához, amelyet a MUSIKMESSE-95 kiállításon (Frankfurt am Main) mutattak be. Ekkor merült fel az ötlet, hogy ebből a szerkezetileg összetett készülékből egyszerűbb MIDI-billentyűzetet készítsenek, amelyet a Rádió magazin olvasói is megismételhetnek. Az eszköz megbízható szolgáltatással rendelkezik. Konkrétan lehetővé teszi, hogy minden gomb két MIDI-csatorna vezérlését vezérelje, mindegyikhez saját programokat (hangszíneket) rendeljen, és ezeket az egyes csatornák hangerőszintjével együtt memorizálja a készülék memóriájában. Így lehetőség van a billentyűzethez csatlakoztatott hanggenerátorban rendelkezésre álló két hangminta tetszőleges kombinálására és rétegezésére. A "menő" eszközökben ezt az üzemmódot "COMBY"-nak hívják. A billentyűzet lehetővé teszi a hangszer hangmagasságának egy oktávval felfelé vagy lefelé történő megváltoztatását, akár 127 program hozzárendelését, nagyszámú MIDI csatorna vezérlését (1-től 16-ig) , hangeffektusok vezérlése PITCH BEND, VOLUME , MODULATION, SUSTAIN és így tovább. Az előadott darab tempója 20-240 ütem/perc. A billentyűzet két kézikönyvre való felosztásának határa tetszőleges, az eszköz, a séma három funkcionálisan teljes részből áll: a processzor egységből (A1), a vezérlőpanelből (A2) és a billentyűzet egységből (A3). A bennük használt mikroáramkörök készlete hasonló az olyan eszközök komponenseihez, mint a Spectrum és a Caller ID, így az EMP kialakítás kedvelőinek nem okoz nehézséget az elembázis megtalálása A processzorblokk áramkörében hasonló a hívóazonosító processzorhoz. A DD1.1 - DD1.3 logikai elemeken és a ZQ1 kvarcrezonátoron a Z80 (DD2) processzor mesteroszcillátora van felszerelve. A kvarc rezonátor sajátfrekvenciájának 4 MHz-nek kell lennie, ellenkező esetben a DD6 chip C regiszterének legmagasabb bitjéből a DD1.4 pufferelemen keresztül a MIDI információ átviteli sebessége megváltozik. DD2 chipek tápfeszültség bekapcsolásakor / ki, ha feszültsége nem haladja meg a +4,5 V-ot. Ez növeli az információ tárolásának megbízhatóságát a DD5 chip nem felejtő memóriájában a be- és kikapcsolásakor. A GB1 akkumulátor a C3 kondenzátorral, az R8 ellenállással és a VD2 diódával együtt támogatja a DD4 chip tápellátását a benne lévő információk hosszú távú tárolására, amikor a műszer közös tápellátását kikapcsolják HG1, HG2 jelzőfények alkotják, és a készülék egyetlen analóg részének digitalizálása - az R40 "Hangerő" hangerőszabályzó. A kijelzőhöz nagyon kényelmes, véleményem szerint fényes kettős VQE14 (a régi név KIPTs09I) kijelzőt használtam, amelyeket a 4. és 5. generációs Horizon TV-kbe telepítettek. A HQ2 jelző bekapcsolása hasonló az ábrán látható HG1 jelző bekapcsolásához.

    A billentyűblokkot egy ötoktávos (61 billentyűs) zenei billentyűzet alkotja, amely "F" hangjegyekkel kezdődik, mikroáramkörök D09, DD10 és X1-X3 csatlakozók két külső MIDI vevő és a "SUSTAIN" pedál hangszerhez történő csatlakoztatásához. A billentyűzet minden billentyűje egy pár normál érintkezővel van felszerelve, amelyek egy 8x8-as mátrixba vannak kombinálva dióda (VD14-VD74) leválasztással. Az ábrán az SA1 szimbólum a bal szélső billentyűt, az SA61 szimbólum a jobb szélsőt jelöli. A mátrixot DD9 és DD10 mikroáramkörök kérdezik le. Ha a felépített hangszerhez használt zenei billentyűzet "Do" hanggal kezdődik, akkor a mátrixrendszert hét billentyűvel kell eltolni. Ehhez a ROM-ban meg kell növelni a kódot a cellákban hét egységgel, 025FH és 0268H címmel ( lásd a KR573RF5 ROM programozási táblázatot ) , azaz a "05" kód helyett írja be, hogy "OSN". A billentyűzet tápegysége egy KR142EN5V mikroáramköri feszültségszabályzó, amelynek bemenetét külső forrásból táplálják állandó 9 V feszültséggel. Ilyen forrás lehet bármilyen kis méretű hálózati táp, beleértve az importált is, amely terhelési áramot biztosít. legalább 500 mA. A stabilizátor kimenetén található C6-C9 kondenzátorok blokkolják a mikroáramkörök tápáramköreit A készülék alkatrészei és alkatrészei négy nyomtatott áramköri lapra vannak felszerelve, melyek lapos kábelekkel vannak összekötve és a készülék előlapja alá helyezve. billentyűzet tok. Az SB1-SB19 kapcsolók nyomógombjai, a HG1, HG2 jelzők és az R40 változtatható ellenállás tengelye a panel lyukain átvezetve alkotják a MIDI billentyűzet vezérlőpultját A SUSTAIN pedál bármilyen kivitelű lehet egy pár normál esetben nyitott érintkező. A készülék hátoldalán található X3 Jack (1/4 JACK) csatlakozón keresztül csatlakozik a műszerhez. A MIDI billentyűzet megjelenése és a kijelző elrendezése a vezérlőpanelen (HG1, GH2 jelzők), a hangerőszabályzó (R40 "VOLUME" ellenállás) és a gombok (SB1 - SB19) az ábrán láthatók. Segítségükkel a zenész minden szükséges MIDI-műveletet elvégezhet hangszínek, csatornaszámok kiválasztásához, hangok újraelosztásához stb., valamint külső ritmusszámítógép vagy szekvenszer vezérléséhez. A kijelző jobb oldalán található digitalizált gombok adják meg a megfelelő programszámokat, MIDI csatornát, tempót, a kijelző bal oldalán lévő funkciógombok pedig különféle billentyűzet paramétereket vezérelnek. Ha egymás után megnyomja a "PROG" (program) gombot, a kijelzőn megjelennek a billentyűzet paraméterei: - a műsorszám típusa és a műsorszám hangprogram száma. A kijelző bal oldalán lévő betűk a következőket jelzik: A - bal (alsó) manuális, B - jobb (felső) manuális, C - kiegészítő midi eszköz. A betűt az adott műsorszámhoz rendelt hangprogram háromjegyű száma (000-127) követi;

    - ütemszabályozás a ritmusgenerátorhoz; ugyanakkor a kijelzőn megjelenik a T betű és a percenkénti ütemek (erős ütések) gyakoriságát jellemző háromjegyű szám, a kijelzőn lévő vesszők pedig „futófény” hatást keltenek a sebesség vizuális szabályozására. a tempó generátor A tempó hangolási tartománya 20-tól 240-ig - csatorna mód és a hangszer saját programjának száma: ebben az esetben a kijelző bal oldalán lévő P betű azt jelenti, hogy a teljes billentyűzet a pályán "ül" *A*. Az U betű - a billentyűzet információi egyidejűleg a "B" sávba ("COMBY" mód), az L betű a bal oldali kézi, azaz az "A" sávba kerülnek (a jobb oldali "B" sáv). A betű mögött a kijelzőn a DD5 RAM-memóriában tárolt saját programjának kétjegyű száma (00-99) látható A hangszer saját programja jellemzi a hangprogramok számát és a számokhoz tartozó MIDI csatornákat, valamint a következő információkat: PITCH - hanghangolási sebesség, MODULATION - modulációs mélység, VOLUME - hangerő, SPUT - kézi elválasztási határ, csatornák MODE-módja (P. U, L), Ost A - +/- oktáv a bal manuálhoz, Ost B - +/- oktáv a jobb kézihoz. A "-1" és a +1 gombok csökkentik (növelik) a kijelzőn megjelenő számadatokat. A "MIDI" gomb segítségével minden számhoz hozzárendelhet egy MIDI csatornát, és egymás utáni megnyomásával kiválaszthat egy számot. A kijelzőn megjelenik az Ac (Bc, Cs) sáv és a MIDI csatorna száma (1-16). A "START" gomb elindítja vagy leállítja (a második megnyomásra) a külső ritmusszámítógépet vagy szekvenszert - a kijelzőn néhány másodpercre az "Strt" vagy a "Stop" felirat látható. A "FEHÉR" gombnak két funkcionális célja van. Ha az összes kiválasztott kezelőparaméter kielégítő, és meg kell jegyezni az aktuális saját programszám alatt, nyomja meg kétszer ezt a gombot. Az első megnyomáskor a kijelző négy vonalat emel ki, programozási módba hívva a készüléket. Második megnyomásra minden üzemmód és paraméter a készülék saját programmemóriájában tárolódik, a kijelzőn pedig a saját program aktuális száma látható. A "WRITE" gomb második célja, hogy a készülék funkcióprogramozási módban működjön. Ez az üzemmód a "WRITE" gomb első megnyomásával kapcsolható be. Négy kötőjel jelenik meg a kijelzőn, szimbolizálva a programozási módba való meghívást. Ezzel egyidejűleg a digitalizált gombok a következő módok programozóinak funkcióit kezdik ellátni: - PITCH - hangmagasság változási sebesség. A kijelzőn megjelenik a "Pb" (PITCH BEND) és egy szám (1-4). A "Pb" jelzés a minimumnak, a "Pb4" - a paraméter változásának maximális sebessége; - MODULÁCIÓ - modulációs mélység 25, 50, 75 és 100%. LF (LONG FREQUENCY) betűkkel és 1. 2, 3 és 4 számokkal jelölve; - VELOCFTY - billentyűleütési sebesség - fix a teljes billentyűzetre. A kijelzőt háromjegyű szám jelzi (000-127); - VOLUME - hangerőszint (0-15). A kijelzőn két szám látható: bal oldalon - a billentyűzet bal részének (A sáv) kézi felosztási módban, jobb oldalon - a jobb oldali részhez (B sáv): - SPLIT - a billentyűzet szegélye ketté van osztva kézikönyveket. A kijelzőn megjelenik az „SP” (SPLIT) és az utolsó gomb kétjegyű száma a billentyűzet bal oldalán; - MODE - a csatorna mód programozása (P, U, L). A kijelző kiemeli az "Rg" -t - a csatornamódnak megfelelő betűt (P, U, L); - TRANSPORT - transzponálás, azaz a billentyűzet hangmagasságának módosítása 12 félhanggal lefelé vagy ugyanennyi félhanggal felfelé. A kijelzőn a transzponálás lefelé módot kétjegyű 01-12 szám jelzi "-" jellel, transzponálás le - előjel nélkül. A 00 azt jelenti, hogy nincs átültetés; - Ost A - +/- oktáv a bal oldali manuálhoz. Ez azt jelenti, hogy az A sáv kicsinyíthető egy oktávval vagy fel egy oktávval. A kijelzőn az "Ao"-1", "Ao-0", "Ao-1" látható, ami rendre oktáveltolódást lefelé, eltolás nélkül és felfelé oktávot jelent: - Ost B - +/- oktáv a jobb kézikönyv. A kijelzőn a „Vo -1”, „Vo 0” és „Vo 1” felirat látható – PAUSE – a MIDI üzenetek közötti szünet nagysága. a szünet tetszőleges egységekben.

    Sajnos a multimédiás számítógépeken egyes zenei kártyák "elcsúsznak" a hangprogram megváltoztatásakor, vagyis az új hangprogram betöltése közben nem fogadják a MIDI üzeneteket, ami a kapott információ elvesztéséhez vezet. Például a YAMAHA SW20 kártya 0,5...1 s alatt vált hangot, míg a GRAV1S ULTRASOUND a merevlemezről tölti be a hangprogramokat, ami még tovább tart. A YAMAHA SW20 hangkártya tiszta működéséhez a szünet mérete 16-nak felel meg. Olcsó kártyáknál, mint a SOUNDBLASTER és MIDI bemenettel rendelkező hangszereknél, PAUSE=1. " A felsorolt ​​funkciók paraméterei a "-1" és a "+1" gombokkal módosíthatók. A "WRITE" gomb ismételt megnyomásával az A sáv hangprogramja (0-127), a műsorszám hangprogramja B (0-127) bekerül a készülék saját programjainak memóriájába, Track C hangprogram (0-127), MIDI csatorna A száma (1-16), MIDI csatorna B száma (1-16), MIDI csatorna C Szám (1-16), A szám hangereje (0-16), 15, B szám hangereje (0-15), A oktáv (-1,0,1), B oktáv (-1, 0,1), kézi üzemmód (P, U, L), szintek, modulációk (1 -4), PITCH BEND sebesség (1-4) A műszer saját programjainak sorszámozásától függetlenül a memóriája tárolja a SPLIT határt is (1-61) ), pitch shift TRANSPORT (-12, 0, +12), a VELOCITY lenyomásának sebessége (0-127), a lejátszott dal tempója (2&-240) A "VOLUME" gomb és a "PITCH-", "P1TSN+" ", Az MlDI billentyűzet "MOD" gombjai a működési vezérlők, amelyek a külső eszköz hangerejét szabályozzák. bütyköl két MIDI csatornát (mód U, L), ami azt jelenti, hogy a szabályozó is kiszolgálja ezeket a csatornákat, de viszont. A billentyűzet melyik részére (manuálisra) érintette az emberi kéz az utolsó pillanatban, ezen a MIDI csatornán keresztül kerülnek továbbításra a hangerőszabályzó paraméterei. Ezt tisztábban tehetjük meg, ha belépünk a funkció programozási módba – nyomjuk meg a „WRITE” gombot és a „4” gombbal kapcsoljuk be a VOLUME funkciót. Az R40 ellenállás gombjának az óramutató járásával megegyező simán forgatásával a kijelzőn 16 fokozati fokozatot kell megjeleníteni 0-tól 15-ig. Ha a billentyűzet bal oldalán dolgozunk, a vezérlés csak az "A" csatorna hangerejét és a hangerő szintjét érinti. a kijelző bal oldalát mutatja. A billentyûzet jobb oldalán történõ mûködtetéskor a gomb hatással lesz A „PITCH-” és „PITCH+”” gombok kényelmét szolgálják a PITCH BEND gomb mûködésének szimulációjában, egyenletes hangmagasság-eltolással fel/le és vissza. A funkció programozási módban felgyorsíthatja vagy lassíthatja a PITCH BEND szimulátort. a négy hangmagasság-változási arány valamelyikének kiválasztásával. "MOD" gomb - négy modulációs szint vezérlése (25, 50, 75 és 100%). Ha megnyomja és ebben a helyzetben tartja, a hangszínmoduláció MIDI-n keresztül bekapcsol. A gomb elengedése letiltja a modulációt. A MIDI interfésszel ellátott hangkártyával felszerelt számítógépek tulajdonosainak egy adapterre (MIDI adapterre) is szükségük lesz a hangszer MIDI bemenete és a számítógép hangkártya TTL midi bemenete közötti galvanikus leválasztáshoz. Sémája a ábrán látható. 2.

    A szétválasztást az AOT127A (U1) optocsatoló biztosítja. Az adapter tápellátása a hangkártya csatlakozóján keresztül történik (1,8 és 9 érintkezők - +5 V, 4 és 5 érintkezők - közös). A "MIDI THRU-" és "MIDI OUT" bemenetek szintetizátorok, hanggenerátorok és egyéb, a számítógépbe nem beépített külső MIDI vevők csatlakoztatására szolgálnak Ezt egy behangolt és teljesen működő hangszeren ebben a sorrendben tegye Kapcsolja be a hangszert, nyomja meg a A "WRITE" gombot a távirányítón, és azonnal kapcsolja be a VOLUME funkciót a "4" gombbal. Ha az R40 ellenállás gombját egyenletesen elforgatja az óramutató járásával megegyező irányba, a kijelzőnek mind a tizenhat fokozati fokozatnak kell megjelennie - 0-tól 15-ig. Ha a beállítási tartomány eltolt vagy keskeny, az R38 ellenállás kiválasztásával érje el az analóg-digitális átalakítás normál működését.

    A midi-parcellák jelenlétét az alábbiak szerint ellenőrizheti. Csatlakoztassa az oszcilloszkóp bemeneti szondáját a "MIDI OUT" csatlakozó 5. érintkezőjéhez, nyomja meg a "SYS-TAIN" pedált, vagy csatlakoztassa (ideiglenesen) a DD6 chip PCO és PC1 bemeneteit egy közös vezetővel, majd kapcsolja be a hangszert. Ezzel a kapcsolattal működik a ciklikus MIDI kimeneti program Az 55H kód öt impulzusból álló burstként jelenik meg az oszcilloszkópon, minden bit 32 mes hosszú, ami 31250 bps-nak, a MIDI üzenet sebességnek felel meg.

    A billentyűzet külső hangmodulhoz vagy számítógéphez (ha van megfelelő interfész) MIDI-protokoll segítségével csatlakoztatható - zene szekvenszer programba vagy élő előadásba történő rögzítésére. A javasolt változatban a billentyűk száma 48, ami az áramkör megváltoztatása nélkül 64-ig növelhető.A javasolt billentyűzet megkülönböztető jellemzője a billentyűleütési erőre való érzékenység.

    A készülék története

    Nemrég egy lakásvásárlás kapcsán kénytelen voltam elveszíteni egy elegáns hangszert, ami a MIDI-billentyűzetemként szolgált - ez a legendás YAMAHA DX-7 volt. Amikor a szomorúság alábbhagyott, felvetődött a kérdés teljes élességében és csúfságában: min dolgozzunk? Ebben a pillanatban történt, hogy barátom erőfeszítései révén a KR1816BE39 félig összeszerelt áramköre került a markoló kis kezeim közé (ellenfélben ezt a processzort 8048-nak hívják). Az áramkört könnyű összeszerelni és beállítani, és ami a legfontosabb, a megfelelő időben fel kell állítani. A billentyűzetet 8x6-os mátrix formájában állítottam össze KR1533ID7 és KR1533KP7 segítségével. Nem ámulatba ejtő – ennek a sémának két hiányossága halálra megöli minden előnyét: a billentyűk (hangszórók) lenyomási sebességére való érzékenység és a PITCH WEEL kerék. Nos, régebben programoztam a Z-80-on (és csináltam egy működő szekvenszert is), és úgy döntöttem, hogy megrázom a régi időket. A Z-80-at mint CPU-t határozottan elvetettem, mint elavultat. Ezen kívül nem akartam sokat forrasztani, és úgy döntöttem, hogy ezt az eszközt veszem alapul a KR1816BE39-en, felszerelve egy másik multiplexerrel a (felső) kulcsérintkezők törésére. Megtaláltam a KR1816BE39 assembler dokumentációját (nem fogja elhinni - a könyvtárban a „Digitális eszközök tervezése egykristályos mikroprocesszorokon”) című könyvet, és ráfirkantottam a programot... Aztán kiderült, hogy a barátom ROM programozója meghalt, és egyszerűen nem volt mit megvarrni a programot... A bánattól teljesen elvesztettem az eszem, és úgy döntöttem, hogy ugyanazt az algoritmust írom át a PIC-re. Fél nap alatt forrasztották a programozót (LUDIPIPO), majd az aljzatból egy elrendezést, KR1533ID7-et és egy pár KR1533KP7-et, és a teljes telepítést az MGTF végezte pecsét nélkül. És elindult a folyamat...

    Elsőként a program nem dinamikus változata indult el (adok azoknak is, akiknek a billentyűzetén billentyűnként egy érintkező van). Aztán elindult a dinamikus verzió. És ekkor megérett az ötlet, hogy gombokat és indikátort adjunk hozzá. Az tény, hogy sokáig hevert egy WAVEBLASTER sálam (gyerek hullámos szintetizátor nagyon régi hangrendszerekhez). Az alkotásomhoz kapcsolva kaptam valamit, amivel (lehetőségem és tehetségem szerint) számítógép nélkül is tudok játszani, ami néha egészen kényelmes. Ez meghatározta a gombok funkciókészletét – hasznos lehet, ha „élő” játék közben hangmodulokhoz csatlakozik. A gombfunkciók könnyen megváltoztathatók saját kezelők írásával, valamint a lekérdezési és jelzési eljárásaim használatával. A vastokba összerakott billentyűzet valahogy kényelmesebbnek bizonyult, mint a YAMAHA PSS (még mindig teljes méretű billentyűk, pedál és ami a legfontosabb, hangszóró!). Az alkotói folyamat közepette elsöprő vágy támadt a MIDI billentyűzet tiszta számítógépes változatának elkészítésére – a jelző és a gombok opcionálisak, de szükség van a PITCH WEEL és a MODULATION kerekekre. Küzdöttem vele egy darabig, de végül feladtam és újra bekapcsoltam a forrasztópákát. Az elektronika könnyen összeszerelhető, a mechanika kicsit nehezebb, és elkezdtem ráncolni a homlokomat a kerék elrendezése miatt. Ha belegondolok, úgy döntöttem, hogy elhagyom a második kereket - egyébként soha nem csavarom egyszerre a kettőt, általában először jegyzeteket írok és hangmagasságot írok, majd modulációt adok hozzá. Nem utolsó szempont volt az általam oly kedvelt gépészeti munkák volumenének felére csökkentése. A kevésbé lusták számára az alábbiakban elmagyarázom, hogyan készítsünk két kereket a rendszer bonyolítása nélkül. Hogy továbbra is modulációt írhassak, úgy döntöttem, hogy három kerékmódot szervezek: hangmagasság 2 félhangonként, hangmagasság 1 félhangon (kényelmes) és moduláció. Mindezt egy gombbal válthatod, az üzemmódot pedig egy pár LED-del jelezheted. A séma egyszerűsítése érdekében a többi gombot és indikátort kiiktattam, mindez nem szükséges a modern szekvenszer programokhoz.

    A kereket persze a potenciométer tengelyére kell tenni, ez érthető, de mihez kell kötni? Az első gondolat az volt, hogy egyetlen vibrátort használjunk egy 555-ös időzítőn, de a számítás azt mutatta, hogy nehéz lenne pontosságot és stabilitást elérni az impulzus időtartamának mérésében, ha elfogadható keréklekérdezési frekvenciát próbálunk biztosítani, mivel a processzor elsősorban a méréssel van elfoglalva. a billentyűzet érintkezőinek kapcsolási ideje. Az egyetlen lehetőség az analóg-digitális átalakító (ADC) használata. Mivel a Pic16F84-et beépített ADC nélkül használtam, így emlékeztem a mérnöki múltra (és a saját gyáramra) és több ellenállásból készítettem ADC-t komparátorral (és a program egy darabjával). Egyszerűnek, olcsónak és egészen pontosnak bizonyult.

    Mindkét sémát megadom - gombokkal és kerékkel, valamint programokat hozzájuk. Kívánt esetben mindkét áramkör könnyen kombinálható a külső eszközök címének enyhe megváltoztatásával, csak ne feledje, hogy a CHORUS (STEREO) mód hangmagasságot használ a detuning eléréséhez, és vagy el kell távolítania, vagy gondoskodnia kell a hangmagasság átviteléről a detuninggal. a csatornákon keresztül.

    Tehát - a tényleges billentyűzet

    Készülék diagram

    Elsőként egy nem dinamikus változat jelent meg, amely érzéketlen a billentyűleütés erejére – hogy tesztelje az elrendezés teljesítményét.

    A PIC16F84-et több okból is használtam processzornak: ez a chip megfizethető, olcsó és könnyen programozható, ráadásul pont ő volt a kezem ügyében. Figyelem: A PIC16C84 nem megfelelő - csak 36 cella RAM-ja van, és a program nem fog működni. A kerékáramkör azonban kevesebb RAM-cellát használ, és programja bepréselhető a PIC16C84-be néhány további cella csökkentésével, például a MIDCH-val (konstans MIDI csatorna hozzárendelése minden továbbított adathoz).

    A dinamikus billentyűzet diagramja jelzéssel az alábbiakban látható:

    Az áramkör nagyrészt hagyományos - pedálok és kerekek nélkül nehéz biciklit feltalálni.J Port B az átvitelre működik - az alsó 7 bit a kulcscímet adja ki a mátrixban, vagy adatokat ad ki a külső eszközökhöz (jelző és kerék DAC). A magas bitet a MIDI adatok soros kódban történő kimenetére használják - az átalakítást és a kimenetet szoftver végzi. Tehát a kristály legyen 4 MHz-en, ha nem akarod átírni a MIDI byte kimeneti eljárást. Az A port két legkisebb jelentőségű bitje vételre szolgál - a „kioldott” és a „lenyomott” billentyűérintkezők multiplexereitől kapnak jeleket, a három legjelentősebb bit pedig meghatározza a külső eszköz címét (egy másik KR1533ID7 dekóderen keresztül). A kerékkel ellátott áramkörben megtagadtam a külső eszköz címének dekóderét, hogy egyszerűsítse az áramkört és felszabadítsa a PA4 port magas bitjét a komparátorból történő adatbevitelhez, így a billentyűzet és a gombok címei eltérőek. Az áramkörök kombinálásakor ezt a mikroáramkört vissza kell adni, a cím dekódolásához használja a PA2 és PA3 portbiteket, és címezzen 4 eszközt: billentyűzet, gombok, dinamikus jelzés adatregiszter és dinamikus jelzés ismerős regiszter. A kerék üzemmódok jelzését át kell írni.

    A PITCH WEEL / MODULATION kerék séma így néz ki:

    Minden kulcshoz egy dióda van elhelyezve a leválasztáshoz. A multiplexerek bemenetein lévő ellenállások nem lehetnek 8k-nál nagyobbak, különben a szerelési kapacitás miatt hibák léphetnek fel. Kijelző - bármilyen közös anóddal 3 számjegyre, ha az egyes számjegyek szegmenseinek kimenetei külön kerülnek kiadásra, akkor az azonos nevű szegmensek kimeneteit kombinálni kell - a jelzés dinamikus és a számjegyek sorosan világítanak. Bármely gomb, rögzítés nélkül, az érintkezők ugrálása programozottan fojtódik. A LED-ek az azonos nevű gombok közelében vannak felszerelve, és a megfelelő módok aktiválását jelzik, a „+” és „-” gomboknak nincs LED-je. A jelzőn lévő tranzisztorok bármilyen kis teljesítményű, nagyfrekvenciás fordított vezetésűek. Két KR1533IR23 regiszter szolgál felváltva a jelző aktuális számjegyének címének és kódjának rögzítésére (a LED-ek szintén két kvázi számjegybe vannak csoportosítva). Szokásos szovjet elektromos orgonák billentyűzetét használtam 48 billentyűhöz (START rádiótervezőként külön is gyártották, és elég elterjedt). A billentyűzet magasságának és a hangszer vastagságának csökkentése érdekében minden billentyű alatt a hat érintkezőcsoportból kettőt meghagyunk, és mindezt levágjuk és újra ragasztjuk. Általában kulcsonként elég egy kapcsolási csoport, de kényelmesebb volt így ragasztani. A „kioldott” és „lenyomott” érintkezők sínekje 8 gombos. Igény szerint használhatunk billentyűzetet is, ahol a kapcsoló érintkezőcsoport helyett két pár záróérintkezőt használnak - az egyik pár a billentyűmozgás elején, a másik a végén zár (mint a YAMAHA eszközöknél). Ebben az esetben a PA0 jelét a multiplexer inverz kimenetéről (6. érintkező) kell szolgáltatni. A séma változtatása nélkül 64 billentyűs billentyűzetet használhat (a szabvány 61, azaz 5 oktáv). Szükség esetén a kulcsok száma akár 127-re is növelhető, ehhez még egy KR1533ID7 dekódert kell bevezetni az áramkörbe.

    Nagyon fontos a mechanika jól átépítése - a felső érintkezőket a kulcsok elengedésekor zárni KELL. Ha ez nem történik meg, a program az ilyen gombokat lenyomottnak tekinti, és megpróbálja feldolgozni, így ezen gombok ismételt megnyomása nem ad hangot. Ráadásul az egyidejűleg megszólaló hangok maximális száma 10 (ha valakinek több ujja nőtt a kezére, ez a szám könnyen változtatható), a ki nem adott billentyűk pedig csökkentik ezt a számot. Ugyanezen okok miatt a billentyűzet lekérdezési eljárásában jelzett billentyűk számának egyeznie KELL a valódi billentyűk számával. A névjegyek ugrálása programozottan elakad.

    Az R-2R ADC rezisztív mátrixhoz kívánatos 1-2% pontosságú ellenállásokat választani, és az abszolút értékek eltérőek lehetnek, az arány fontos. Az értéket azonban nem szabad nagyon növelni, ez megnöveli az átalakítási időt a komparátor bemeneti kapacitása miatt. Páratlan SMD-ellenállásokat használtam, bár a mérések azt mutatták, hogy ugyanabban a rögzítőcsíkban az ellenállások általában 1%-nál jobbra illeszkednek. Biztos vagyok benne, hogy az áramkör pontatlan ellenállásokkal fog működni, de a karakterisztika linearitása romlik. Maga a kerék egy régi TV fogantyújából készült, és a potenciométer tengelyén van egy rugó, amely visszaállítja a középső helyzetbe. A mechanika beállításának kényelme érdekében, amikor a tápellátást a mód gomb megnyomásával kapcsolják be, egy hibakereső program aktiválódik, amely kigyullad a LED-del, amikor a kerék középső állásban van, így finomhangolhatja a nulla pozíciót. a kerék a potenciométer tengelyén. Ha van igény és vágy külön MODULÁCIÓS kerék készítésére, akkor azt egy szabad komparátor elemhez kell kötni (négy van belőle), és közös az R-2R mátrix mindkét kerékhez. A komparátorok kimeneteinek váltásához jobb, ha egy további mikroáramkört használ, és a PA2-t használja vezérlőjelként.

    Kívánság szerint összeállíthatja a billentyűzet dinamikus változatát jelzések, gombok és a PITCH WEEL / MODULATION kerék nélkül - egyszerűen anélkül, hogy összeszerelné az áramkör nem használt részét. Minden módosítható paraméter alapértelmezés szerint bekapcsoláskor be lesz állítva…

    Az egészet bármiről táplálhatja, az áramfelvétel az adott jelzőtől függ, és nem haladja meg a 100 mA-t. Van egy 7805-ös stabilizátorom hűtőborda nélkül közvetlenül a táblán (a fotón jól látszik). Kis radiátorra van szükség, ha 9 V-nál nagyobb feszültséget kapcsolnak rá. A komparátort 9-12 V feszültség táplálja, lehetőleg stabilizált. Igen, régi készletekből szovjet gyártmányú mikroáramköröket használtam - számos modern analóg létezik, csere lehetséges, sőt kívánatos - a modern analógok fogyasztása kevesebb.

    Program

    A lenyomott billentyűk feldolgozásának algoritmusa a "Microprocessor Tools and Systems" folyóirat 1986. évi 5. számában javasolt algoritmusból származik. Ez a kiadvány (vagy inkább egy hiba a javasolt programban) késztetett arra, hogy tanuljak az assemblert. Valójában csak az ötlet innen származott, hogy a RAM (CHAN) speciálisan kijelölt területén rögzítsék az egyes lenyomott billentyűk számát, így amikor a billentyűzetet újra lekérdezik, a már feldolgozott billentyű ne kerüljön feldolgozásra. . Minden megnyomott gombhoz két RAM cellám van (összesen legfeljebb 10): az első a lenyomott gomb számát tárolja, a második a VELOCITY (lenyomási sebesség). Ismétlem - csak 20 ilyen cella van, és a kiindulási címet a CHAN név adja. A szabad pár jele az első cella magas bitje. A második cella beállított magas bitje azt jelenti, hogy ehhez a kulcshoz a NOTE ON már el lett küldve, és nincs szükség további feldolgozásra.

    Nem írom le részletesen a teljes programot, a forráskód tele van megjegyzésekkel, és egy képzett személy számára meglehetősen hozzáférhető. A többihez azonnal kész firmware-t adok a Dinamic.hex és a Pitchmod.hex fájlokban. Csak néhány nem nyilvánvaló pontot fogok kifejteni. Nos, először is a dinamikáról: a kulcs felső érintkezőinek kinyitásakor a szám a CHAN terület első szabad párjának első cellájába kerül, ezzel egyidejűleg visszaállítja a szabad pár előjelét. A második hely inicializálása VELOCITY = 127 értékkel történik. A billentyűzet érzékenységét a megszakítások gyakorisága határozza meg, mivel a megszakítások feldolgozása csökkenti a VELOCITY értékeit minden olyan billentyű esetében, amelyeknek a NOTE ON jelzése még nem került átvitelre. A megszakításokat a beépített időzítő váltja ki. A megfelelő CHAN cellában lévő kulcs alsó érintkezőinek zárásakor az „átvitel” jele beáll, és a NOTE ON üzenet az aktuális VELOCITY-vel kerül átvitelre. Az érzékenységi görbe javítása érdekében a VELOCITY értékek csökkenése logaritmikus törvényt követ: 1-gyel csökkentett részének 1/16-át levonják az aktuális VELOCITY értékből, és minél gyorsabban mozog a billentyű, annál nagyobb a VELOCITY a abban a pillanatban, amikor a kulcs alsó érintkezői záródnak, és a MEGJEGYZÉS BEKAPCSOLVA kerül átvitelre. A megszakítások a dinamikus jelzést is vezérlik, ez azért van, hogy kiküszöbölje a jelző villogását.
    Gombfunkciók: TRANSPOSE - minden billentyűt a kedvenc A-mollra konvertál: tartomány +/- 15 félhang. A PRG egy hangszínt (hangszert) rendel egy adott presethez (UP1-UP5), a VOL pedig a hangerőt. Az aktuális paraméter megjelenik a kijelzőn, és a „+” és „-” gombokkal módosítható A TWIN „dupla” hangszínt jelenít meg - az egyik előre beállított (UP1-UP5) és ezzel egyidejűleg a LOWER előre beállított hangot a Ugyanakkor. A STEREO az aktuális előre beállított hangot a bal és a jobb oldali sztereó csatornára adja ki, enyhe "detuning" ("kórus" effektus) kíséretében. A SPLIT gomb le van tiltva. A SUSTAIN pedál az egyik gombnak lett kialakítva, vezetékének kapacitása ne legyen túl nagy. A gombkezelők címeit a program elején táblázatba gyűjtjük, a gombok funkcióinak megváltoztatásakor saját magunkat is helyettesíthetjük.

    A kerék ADC-je félszoftver, az egymást követő közelítések algoritmusa szerint működik, a digitális-analóg átalakítást az R-2R mátrix végzi. Először az R-2R mátrixot adjuk meg 1-gyel a legjelentősebb számjegyben, és a komparátor meghatározza, hogy ez sok vagy kevés. Ha kicsi, akkor 1 marad a legjelentősebb számjegyben, ha sok van - 0. Ekkor ugyanez történik minden következő legkisebb számjeggyel (összesen 6 lépés), és a szögnek megfelelő hatbites számot kapunk. a kerék forgását. Ez a pontosság számomra elegendőnek tűnik, de a mátrix és a transzformációs program növelésével még egy bit hozzáadható.

    Tervezés

    Billentyűzetként a szovjet gyártású Start konstruktort használtam, most talán egyszerűbb találni egy régi, működésképtelen Yamahát vagy Casio-t, ez megoldja a tok elkészítésének problémáját is - ha persze a régi hangszeren viszonylag sértetlen ...

    A nyomtatott áramköri lapot nem fejlesztették ki - nem tartottam helyénvalónak időt fordítani a vezetékezésre és a kártya gyártására az eszköz egyetlen példányának gyártásához, és az elrendezést az áramköri lapon MGTF jumperekkel készítették el. A számítógép hajlékonylemez-meghajtóiból származó kábele, mindkét oldalán megfelelő csatlakozóval, csatlakozóként és a billentyűzethez vezető kábelként szolgált - ez megkönnyíti a kész eszköz összeszerelését / szétszerelését.

    Az én esetemben a tok vékony acéllemezből volt ívelt (ami kéznél volt) - fa oldalakkal (mint a régi szovjet hangszerek).

    Nos, röviden ennyi. Kreatív siker!

    A rádióelemek listája

    Kijelölés típus Megnevezés Mennyiség jegyzetPontszámA jegyzettömböm
    1. számú séma.
    mikrokontrollerPIC16F841 Jegyzettömbbe
    ForgácsCR1533ID71 Jegyzettömbbe
    ForgácsKR1533KP71 Jegyzettömbbe
    Lineáris szabályozó

    LM7805

    1 Jegyzettömbbe
    Dióda

    KD522A

    64 Jegyzettömbbe
    Kondenzátor22 pF2 Jegyzettömbbe
    Kondenzátor0,1 uF2 Jegyzettömbbe
    100 uF2 Jegyzettömbbe
    Ellenállás

    220 ohm

    2 Jegyzettömbbe
    Ellenállás

    6,8 kOhm

    8 Jegyzettömbbe
    Kvarc rezonátor4 MHz1 Jegyzettömbbe
    Billentyűzet 64 Jegyzettömbbe
    2. számú séma.
    mikrokontrollerPIC16F841 Jegyzettömbbe
    ForgácsCR1533ID72 Jegyzettömbbe
    ForgácsKR1533KP72 Jegyzettömbbe
    ForgácsKR1533IR232 Jegyzettömbbe
    Lineáris szabályozó

    LM7805

    1 Jegyzettömbbe
    bipoláris tranzisztor

    KT315A

    5 Jegyzettömbbe
    Dióda

    KD522A

    80 Jegyzettömbbe
    Kondenzátor22 pF2 Jegyzettömbbe
    Kondenzátor0,1 uF2 Jegyzettömbbe
    elektrolit kondenzátor100 uF2 Jegyzettömbbe
    Ellenállás

    180 ohm

    7 Jegyzettömbbe
    Ellenállás

    220 ohm

    2 Jegyzettömbbe
    Ellenállás

    6,8 kOhm

    16 Jegyzettömbbe
    Ellenállás

    8 kOhm

    1 Jegyzettömbbe
    Kvarc rezonátor4 MHz1 Jegyzettömbbe
    3 számjegyű LED digitális kijelző, közös anódokkal. 1 Jegyzettömbbe
    Fénykibocsátó diódaPiros12 Jegyzettömbbe
    Kulcsos kapcsoló 64 Jegyzettömbbe
    Gomb 16 Jegyzettömbbe
    3. számú séma.
    mikrokontrollerPIC16F841 Jegyzettömbbe
    ForgácsCR1533ID71 Jegyzettömbbe
    ForgácsKR1533KP72 Jegyzettömbbe
    Összehasonlító
    Ossza meg