Mine sisu juurde

MIDI

Allikas: Vikipeedia
Noodi nimed ja MIDI noodi numbrid
CerioktavitesMIDI süsteemis

MIDI(akronüüm ingliskeelsest fraasistMusical Instrument Digital Interface,muusikainstrumendi digitaalne liides) on1981.aastal loodudandmevahetusprotokoll,mis võimaldabelektroonilistel muusikainstrumentidel,arvutitelja teistel seadmetel omavahel suhelda, üksteist juhtida jasünkroonida.

Eelduseks on, et seadmetel on MIDI-liides, mistõttu nad toetavad MIDI standardit ja nende vahel on MIDI-ühendus (standardne MIDI-kaabel või näiteksUSB-MIDI kasutajaliides) võiWIDI-ühendus ( "traadita" MIDI ehkWireless MIDI).MIDI-ksnimetatakse ka kaabli või WIDI kaudu edastatavat MIDI teavet.

MIDI standard käsitleb digitaalsed käske – sündmuste teateid ja nende edastamist, mis hõlmab teavet näitekstempo,helikõrguse,oktavi,helitugevuse,modulatsiooni,helipanoraamispaiknemise jne kohta.

MIDI on alates oma ilmumisest1983.aastast saanud levinud standardiksmuusikariistade(näiteks elektroonilised klahvpillid, kitarriprotsessorid, trummimasinad, sekventserid jne) juhtimisel ja sünkroonimisel.

MIDI lühiajalugu

[muuda|muuda lähteteksti]

Elektroonilistemuusikainstrumentidealgusaastatel olidsüntesaatoridtavaliselt monotoonsed seadmed. Piirangust, taasesitada üht nooti korraga, läksid elektrooniliste muusikainstrumentide tootjad mööda tehnoloogiaga, mis võimaldas luua elektrilise ühenduse erinevate süntesaatorite vahel. Üks süntesaator määrati ülemaks ja sellega võimaldati juhtida alluvate helimoodulite taasesitusparameetreid. Nimetatud ülem-alluv-süsteemi juhtimiseks töötati välja algeline juhtsignaal. Süsteem põhines varajaste süntesaatorite omadusel, kus nende mängimisel tekkivaalalispingegaoli võimalik juhtida teise instrumendi pingega juhitud võnkumisi ja pingega juhitudvõimendeid.Kuna mitmed sel ajal kasutusel olnud süntesaatorid genereerisid alalissignaali, millepingesuurenes ühevoldivõrra okaatvi kohta, siis oli võimalik kasutada seda juhtpinget normpingena. See võimaldas edastada helikõrgust sisaldavat informatsiooni teistele süntesaatoritele. Nootide algushetke ja kestuse sünkroonimiseks kasutati väravsignaali, kuid kuna tootjad kasutasid oma elektroonilistes instrumentides erinevaid sünkroonimisimpulssidetaktsagedusi,oli mitteühilduvate seadmete sünkroonimine keerukas ja nõudis lisaseadmeid. Digitaalelektroonikaareng võimaldas otsida alternatiive analoogjuhtimisele, mistõttu alustasid David Smith ja Chet Wood digitaalset elektrooniliste instrumendi juhtreeglistiku arendamist. Väljatöötatav protokoll nimetati süntesaatori universaalliideseks ja 1981. aasta sügisel tutvustati juhtreeglistikku heliinsenerluse kogukonnale (AES). Kahe järgmise aasta jooksul tehti koostöös elektrooniliste instrumentide suurtootjatega protokolli standardis muudatusi ja 1983. aastal nimetati süntesaatori universaalliides ümber MIDI-ks.

Standardsed MIDI rakendused

[muuda|muuda lähteteksti]

MIDI võimaldab elektrooniliste instrumentide vahelsuhtluseja teeb võimalikuks ühel seadmel juhtida teist. Näiteks MIDI-instrumendil noodi mängimine genereerib digitaalsignaali, millega on võimalik mängida noot teisel elektroonilisel instrumendil. MIDI juhtimine võimaldab instrumente paigutada väiksematesse moodulitesse ja neid samaaegselt kasutada. Samuti on MIDIga võimalik instrumendi helisid programmeerida ja muuta helide signaalide kuju. Filtrite rakendamine võimaldab muuta helidetämbritning luua funktsioone, mis on suutelisedfiltriteparameetreid määratud aja jooksul muutma. Tarkvaraliste ja riistvaraliste muusikainstrumentide juhtnuppude ja parameetrite juhtimine on võimalik määrataMIDI kontrollerifüüsiliste lülitite alla. Kasutades muundureid, mis teisendavad MIDI signaale analoogjuhtsignaalideks, on võimalik MIDI-seadmetega juhtida ka analoogsüntesaatoreid.

MIDI-ga komponeerimine

[muuda|muuda lähteteksti]

Arvutitarkvara või spetsiaalsete riistvaraliste arvutite abil on võimalik heliloomingu ja -töötluse eesmärgil MIDI sündmusi järjestada, muuta ja luua. Nii saab modifitseerida MIDI arranžeeringu tempot, helistikku ja instrumente ilma, et ühtegi instrumenti peaks uuesti salvestama. MIDIt kasutatakse ka kõrgekvaliteediliste digitaalsetehelisämplitejuhtimiseks. Mitmetesse tarkvaralistesse helindusarvutitesse (DAW) on projekteeritud MIDI implementatsioonide funktsioon. Teiste funktsioonide seas saavad helindusarvutid graafiliselt esitada MIDI nootide andmeid ja neid töödelda. Muuta saab MIDI nootide vältust, helikõrgust ja helitugevust ning lisada modulatsiooniefekte, nootide libistamist ühelt helikõrguselt teisele.

Muid MIDI rakendusi

[muuda|muuda lähteteksti]

MIDI reeglistikku on rakendatud ka mittemuusikaliste süsteemide juhtimiseks. MIDI-t on kasutatud lavavalgustussüsteemide lülitamiseks, sünkroonimiseks ja automatiseerimiseks. Ettevõtte Apple tarkvara "Apple Motion" võimaldab MIDI-ga juhtida videotöötlusparameetreid. 1987. aastal kasutati MIDI protokolli arvutite omavahelisse võrku lülitamiseks, eesmärgiga mängida arvutimängu "Oxyd". Lisaks kasutatakse MIDI-t kodudes valgustuse ja kodumasinate juhtimiseks.

MIDI-instrumendid

[muuda|muuda lähteteksti]

MIDI-instrument sisaldab MIDI-teadete edastamiseks ja vastuvõtmisekssisend- ja väljundpesasid,protsessorit sisend- ja väljundsignaalide töötlemiseks,kasutajaliidest,mis võimaldaks seadet programmeerida, heli tekitamiseks vajalikku elektrilist lülitust ja juhtsüsteemi. Tavaliselt salvestatakse MIDI-instrumendi helid jaoperatsioonisüsteeminstrumendipüsimällu.MIDI-instrumendiks võib olla ka klaverilaadsete klahvideta üksikmoodul.

MIDI-seadmestik

[muuda|muuda lähteteksti]
Diagram of a MIDI connector
MIDI pistikseadme kontakttihvtide paigutus

MIDI riistvaraline liides töötab asünkroonsejadaühendusenaboodikiirusega 31,25 kbd (+/- 1%), kusjuures andmeedastuseks kasutatakse ühtalgusbitti,kaheksat andmebitti ja lõppbitti.PaarsusbitteMIDI andmevahetuse käigus ei saadeta. Kokku edastatakse 320 mikrosekundilise ajavahemiku vältel 10 bitti ühe jadamisi saadetud baidi kohta. Edastatavates baitides saadetaksevähima kaaluga bittesimesena. Algusbitt on määratud loogilise nullina ja lõppbitt loogilise ühena. Maanduskontuurideja andmevigade vältimiseks on saatja elektriline lülitus ja vastuvõtja elektriline lülitus teineteisestoptoisolaatorigaeraldatud. Ahelas kasutatava optoisolaatori tõusuaeg ja langeaeg peab olema väiksem kui 2 mikrosekundit. Vastuvõtja elektriahel peab sisselülitamiseks tarbima vähem kui 5 mAvoolu. Viie kontakttihvtiga 180-kraadine DIN-pesa. MIDI andmevahetuses ei kasutata ning sellest tulenevalt ei ühendata kontakttihvte 1 ja 3 saatja ning vastuvõtja elektriahelatesse. MIDI sisendpistikseadise kontakttihvt 2 jääb samuti ühendamata. MIDI-pesade ja pistikseadiste varjestusühendusi ei lülitata ühtegi MIDI riistvaraahelasse ega korpusemaandusse. MIDIpeegelduspesakasutamisel võib MIDI-sisendpesa ja peegelduspesa vahelises andmevahetuses esinedasignaalidegradeerumine nelinurksignaali tõusva ja langeva serva vahel. See on tingitud optoisolaatori reageerimiskestusest. Reageerimiskestusest tingitud ajastusvead seavad jadamisi MIDI ahelasse lülitatavate MIDI-seadmete arvule piirangu. MIDI-seadmete omavaheliseks ühendamiseks kasutatavate kaablite maksimaalne pikkus on, veatõrjekoodi puudumise tõttu, 15 meetrit. Kasutatavaks kaabliks on varjestatudkeerdpaarkaabel,mille mõlemas otsas on viie kontakttihvtiga DIN-pistikseadis. Kaabli varjestus on ühendatud pistikseadiste teise kontakttihvtiga.

MIDI teatetüüpide diagramm
MIDI baiditüüpide diagramm

Jadasiinide spetsifikatsioone MIDI süsteemides

[muuda|muuda lähteteksti]

USB võimaldab süsteemi lisada kuni 127 välist seadet, mis on tinginud MIDI tööstuses tendentsi luua süsteeme, kus seadmete omavaheliseks ühendamiseks kasutatakse minimaalsel hulgal lisaühendusi. USB-ühendused võimaldavad lisaseadme ja arvuti vahel kahepoolse ühenduse, mis lihtsustab lõppkasutaja jaoks süsteemi kasutamist. Lõppkasutaja kasutajamugavuse suurendamiseks võimaldatakse ka USB-seadmetekäigultvahetus. USB 1.0 ja USB 2.0 standardite seadmetevahelise ühenduskaabli maksimaalne pikkus on viis meetrit ning seadmeid, mille voolutarve on suurem kui 500 mA, tuleb elektrienergiaga varustada välise toiteseadme kaudu.

FireWirevõimaldabkiudoptilisi kaableidkasutades edastada MIDI juhtimissignaale kuni saja meetri kaugusele. FireWire on suuteline MIDI süsteemi ühendama kuni 63 välist seadet ning, sarnaselt USB standardiga, kasutab kahepoolseks suhtluseks keerdpaarkaablit. FireWire-süsteemid toetavad käigultvahetust.

MIDI andmevorming

[muuda|muuda lähteteksti]

MIDI suhtlus saavutatakse mitmebaidiliste andmekogumitega, mis koosnevad ühest seisundibaidist, millele järgnevad üks või kaks andmebaiti. Tavaliselt ehitatakse MIDI instrumenti nii saatja kui ka vastuvõtja, kuid MIDI seade võib olla ka varustatud ainult ühega. Vastuvõtja teostab MIDI-käske ja võtab vastu MIDI andmevormingus teateid. Vastuvõtja riistvara koosneb optoisolaatorist, UART-seadmest ning muust kindla funktsiooni täitmiseks vajalikust riistvarast. MIDI andmevormingus informatsiooni edastamiseks kasutab MIDI saatja UART-seadet ja signaalivõimendit. MIDI-teateid võib edastada kuni üle 16 kanali ja teade koosneb ühest või enamast baidist.

Teatetüübid

[muuda|muuda lähteteksti]

MIDI teated jaotatakse kahte põhikategooriasse: kanaliteated ja süsteemiteated.

Kanaliteade kasutab teate edastamiseks ühele kanalile seisundibaidist nelja bitti ning järelejäänud nelja bitti kasutatakse teate defineerimiseks. Seega on kanaliteated mõeldud vastuvõtjatele, mille kanalinumber on kodeeritud kanaliteate seisundibaiti. MIDI teateid on võimalik edastada rohkem kui ühele kanalile korraga. Kanalit, millele edastatakse põhikäsud, nagu näiteks millisel programminumbril olla ning millist töörežiimi kasutada, nimetatakse kanali baaskanaliks. MIDI seadet on võimalik seadistada mitmel kanalil informatsiooni vastuvõtmiseks. Selliseid kanaleid nimetatakse häälkanaliteks. Eristatakse kaht tüüpi kanaliteateid: häälteated ja töörežiimiteated. Häälteateid kasutatakse MIDI instrumendi häälte juhtimiseks ning neid edastatakse üle häälkanalite. Töörežiimiteateid kasutatakse, et defineerida MIDI instrumendi reageerimine häälteatele. Töörežiimiteated edastatakse baaskanali kaudu.

Süsteemiteated

[muuda|muuda lähteteksti]

Süsteemiteated ei sisalda kanalinumbreid. Kokku on võimalik eristada kolme tüüpi süsteemiteateid: ühisteated on, olenemata kanalist, adresseeritud kõigile vastuvõtjatele. Reaalajateateid kasutatakse sünkroonimiseks ning on mõeldud kõigile taktipõhistele süsteemiosadele. Reaalajateated edastavad ainult seisundibitte. Reaalajateateid on võimalik saata igal ajal, ka erineva staatusega teate baitide vahel. Sel juhul reaalajateatele reageeritakse või seda ignoreeritakse, seejärel jätkub viimane vastuvõtmisprotsess. Süsteemi eksklusiivteated võivad sisaldada suvalise arvu andmebaite ning teadete edastamine lõpetatakse eksklusiivteate lõppbaidi (EOX) või suvalise teise seisundibaidiga. Lõppbait tuleks alati edastada süsteemi eksklusiivteate lõpus. Teated sisaldavad tootja identifitseerimiskoodi. Kui vastuvõtja ei tunne identifitseerimiskoodi, tuleks koodile järgnevaid andmeid ignoreerida. MIDI-seadmete tootjatel on kohustus avalikustada identifitseerimiskoodile järgnev teadete andmevorming. See võimaldab kasutajatel ja arendajatel tootjate MIDI-seadmetele ligi pääseda.

Andmetüübid

[muuda|muuda lähteteksti]

MIDI edastab kaht tüüpi baite: seisundibaite ja andmebaite.

Seisundibaidid

[muuda|muuda lähteteksti]

Seisundibaidid on kaheksabitised kahendsüsteemi numbrid, milles suurima kaaluga bitt on määratud loogilise ühena. Seisundibaitide ülesanne on määrata teate tüüp, ehk seisundibaidile järgnevate andmebaitide ülesanne. Uued seisundibaidid (v.a reaalajateated) määravad vastuvõtja seisundi ka juhul, kui viimase teate käsud jäid täitmata.

Seisundi säilitamine

[muuda|muuda lähteteksti]

Kehtib häälteadete ja töörežiimiteadete puhul. Seisundibaidi vastuvõtmisel ja tema käsu täitmisel jääb vastuvõtja seisundibaidi edastatud seisundisse seni, kuni vastu võetakse teistsugune seisundibait. Seetõttu on võimalik korduva seisundibaidi edastamise puhul korduvate baitide saatmine ära jätta ning edastada ainult andmebaite. Järelikult on seisundi säilitamise korral võimalik edastada teateid, mis koosnevad ainult andmebaitidest. Seisundi säilitamise lõpetab suvalise teistsuguse seisundibaidi edastamine. Reaalajateated ei tohi seisundi säilitamist mõjutada. Kõiki vastuvõetud seisundibaite ja nendele järgnevad andmebaite, mille ülesannet vastuvõtjas ei täideta, ignoreeritakse.

Määratlemata seisund

[muuda|muuda lähteteksti]

MIDI seadmed ei tohi edastada määratlemata seisundiga baite. MIDI süsteemis häirete vältimiseks tuleb määratlemata seisundiga baite ignoreerida. MIDI seadme käivitamisel ning väljalülitamisel ei tohi MIDI seade väljundpesastmürasignaaleedastada, kuna see võib põhjustada andmevigu või andmete valest alguskohast lugemist.

Andmebaidid (v.a reaalajateated) edastatakse pärast seisundibaiti. Teate sisu kannavad üks või kaks kaheksabitilist andmebaiti, millesuurima kaaluga bitton alati määratud loogilise nullina. Iga seisundibaidi kohta tuleb edastada õige arv andmebaite. Vastuvõtjad peavad enne teate täitmist ootama, kuni kõik andmebaidid on vastu võetud. Andmebaite, millele ei eelnenud valiidne seisundibait, tuleks ignoreerida juhul, kui tegemist ei ole seisundi säilitamisega.