de en sk
Úvod > Hobby projekty a výskum > Inteligentný MIDI interfejs

Inteligentný MIDI interfejs

(Intelligent MIDI-Interface)

© Ing. Radovan Konečný - radkon, 2002-2003


S kúpou syntezátora KORG M1 okamžite nastal problém s archiváciou dát zo syntezátora (zvuky, sekvencer a podobne), keďže samotný syntezátor nemá žiadnu disketovú jednotku ani nič podobné. Tento problém som riešil v tej dobe asi najdostupnejším riešením - kúpil som si počítač Atari 1040 ST (v tej dobe konkurent počítača Commodore Amiga), ktorý mal obsluhu MIDI (čo je to MIDI) vyriešenú veľmi dobre. Syntezátor je našťastie schopný vyslať rôzne svoje nastavenia (prakticky všetky svoje dáta) cez MIDI. Na počítači Atari 1040 ST som mal napísaný celkom zložitý program na pohodlnú a bezpečnú prácu s dátami syntezátora a slúžil na správu niekoľkých stoviek skladieb, ktoré som na KORG M1 urobil.

Viac o spomenutom programe tu: KORG M1 Filer

V dobe, keď som už mal normálny osobný počítač, začal som uvažovať o prerobení programu práve pre PC. A tu nastal problém - MIDI v tej dobe nebolo veľmi dobre navrhnuté a obsluhovať MIDI v operačnom systéme MS-DOS bol ťažký oriešok. Najťažšie bolo urobiť MIDI komunikáciu tak, aby bolo možné prenášať aj relatívne veľké dátové balíky (okolo 50 kB) bez straty dát. Atari s týmto nemal žiaden problém. Niektoré moderné USB MIDI interfejsy (zvlášť od výrobcu M-Audio) s týmto však problém majú. Pri bežných MIDI poveloch nehrozí žiaden veľký balík dát - tam všetky MIDI interfejsy fungujú dobre. USB MIDI interfejs, ktorý som niekoľko rokov používal (M-Audio MIDISPORT 1x1), nie je toho schopný a napriek mnohým snahám to spraviť, sa to nepodarilo a problém je vo vnútri interfejsu. Problém som vyriešil až kúpou USB MIDI interfejsu od iného výrobcu.

Ešte v dobe MS-DOSu som sa rozhodol spraviť si vlastný MIDI interfejs, ktorý by bol nezávislý od stupňa vyspelosti počítačov, nezávislý od operačného systému a s ktorým by som mohol prenášať relatívne veľké balíky dát bez obáv z poškodenia dát. Interfejs fungoval na veľmi starom PC pod DOS-om bez problémov, dnes funguje bez problémov na modernom PC obsluhovaný programom v Jave (mal by fungovať pod ľubovoľným operačným systémom). Jedinou podmienkou je, aby mal počítač paralelný port a aby bol port vhodne nakonfigurovaný.

Jadrom môjho MIDI interfejsu je mikropočítač (AT89C51), obvody pre pripojenie MIDI káblov, pamäť 128 kB RAM a obvody pre prepojenie s PC cez rozhranie Centronics (paralelný port LPT). Pamäť RAM s kapacitou 128 kB slúži ako konfigurovateľný zásobník MIDI dát. Kapacita 128 kB je dostatočne veľa aj na účely prenosu kompletných dát zo syntezátora KORG M1. Výhodou zásobníka je hlavne to, že PC nemusí okamžite vybaviť príchodzie MIDI dáta a tak nehrozí ich strata. Môj MIDI interfejs teda nezaťažuje počítač príchodzími dátami, ktoré by sa inak museli okamžite počítačom prijať a buď spracovať alebo uložiť. Okrem funkcie zásobníka dokáže interfejs filtrovať rôzne druhy MIDI povelov - všetko je konfigurovateľné z počítača. Napríklad, keď potrebujem prenášať len dátové balíky nastavenia syntezátora, je môžné všetky ostatné MIDI povely ignorovať a v takom prípade sa balík dát v zásobníku nebude ohrozovať prípadným návalom klasických MIDI povelov a v zásobníku (pamäti RAM) bude len to, čo potrebujem. Prenos MIDI dát a aj použitie zásobníka funguje samozrejme v oboch smeroch (MIDI IN, MIDI OUT).

V prípade problémov (napr. ak je zásobník preplnený), MIDI interfejs posiela počítaču všetky chybové hlásenia.

MIDI interfejs som dokončil asi v roku 2002. Dodnes zariadenie dobre funguje a využíval som ho v spolupráci s mojim programom KORG M1 Filer. Po kúpe USB MIDI interfejsu (nie od M-Audio), ktorý už zvláda aj veľké balíky MIDI dát, sa môj MIDI interfejs presunul do krabice v skrini - pravdepodobne na svoj večný spánok.

Schéma a pár fotiek:

Schéma Zapojený MIDI interfejs Predný panel Konektory Zadný panel

Copyright © 2009-2024 Ing. Radovan Konečný - radkon. All rights reserved.