eo en eo en eo eo pt eo eo eo eo eo eo eo eo eo eo eo eo eo eo eo eo eo eo eo eo eo eo eo eo eo eo eo eo eo eo eo eo eo eo eo eo eo eo eo eo pt eo eo eo en en fr zh it de ja ja en en de en eo eo eo eo nds eo hbs_lat sv eo es ja es es eo eo ja mk es es eo eo en ar eo es es eo de ar eo eo eo eo en ps eo eo it eo en io eo es it eo es ar eo it it eo eo eo eo eo eo eo es eo eo it eo eo eo eo eo eo pt eo eo eo en es eo eo eo eo eo eo eo es eo eo eo es eo es eo eo eo eo eo eo eo eo eo eo tl eo eo eo eo eo eo en eo eo eo lt eo eo eo eo de es eo eo eo eo eo sv ur eo eo eo eo es eo eo eo eo eo eo eo eo tr nl eo eo it eo eo eo eo eo eo eo eo eo eo eo eo az de bg hbs_lat ca hbs_lat da de el en es et eu fa fi fr lt he hbs_lat hu id it ja ko cs it lt lv en ml nl nb fr pl pt ro ru en si sk sl hbs_lat sv th tr fy vi zh eo eo eo eo eo eo eo eo eo
El Vikipedio, la libera enciklopedio
Jump to navigation Jump to search
La sistemo MIDI estas vasta, do multenombrajn detalojn povas scii nur fakuloj. Tiu ĉi artikolo strebas sciigi nur superrigardon de MIDIo.
1.2 Interŝanĝo de muzikaj signaloj inter muzikiloj
2 Ĝenerala strukturo de MIDI
5 Formato de dosieroj MIDI
Ekzemploj de uzo[redakti | redakti fonton]
Dosieroj MIDI[redakti | redakti fonton]
Muzikaj verkoj povas esti koditaj en komputilaj dosieroj. La MIDIaj dosieroj havas kutime sufikson .MID, iam .KAR (por karaokeo). La MIDI-dosieroj en distingo de aliaj komputilaj formatoj de sono (ekzemple MP3) ne enhavas fizikan prezenton de sono kiel oscilado de aero. Aparato, kiu transformas kodon MIDI en sonon estas sinteziloj. Plej vaste uzataj sinteziloj estas komputiloj. Profesiaj muzikistoj ofte uzas elektronikajn sintezilojn. Memkompreneble, la kvalito de ludo dependas de la kvalito de la sintezilo.
La amplekso de MIDIaj dosieroj estas kutime ĉirkaŭ 15-foje malplia ol la amplekso de aliaj sonformatoj (ekz. MP3).
La dosieroj MIDI ne povas prezenti voĉon, sed ebligas prezenton de teksto, kiun povas montri la sintezilo dum ludo de kantoj. Kutime la sinteziloj markas kiel bone videbla la fragmenton de teksto, kiu rilatas al ĉi tiu momento de tempo. Alivorte, sinteziloj prezentas karaokeon.
Interŝanĝo de muzikaj signaloj inter muzikiloj[redakti | redakti fonton]
La kodo MIDI povas esti trasendita per kanaloj de komunikado. Tiun manieron uzas "elektronikaj orkestroj", kiuj konsistas el muzikiloj kaj aliaj elektronikaj aparatoj, kiuj havas interfacon MIDI. La kodo MIDI sonigas por ĉiu muzikilo la ĝustan partituron, sinkronigas la muzikilojn kaj ebligas la sinkronan regadon de aparataro (lumigo, piroteknika aparataro ktp).
Ĝenerala strukturo de MIDI[redakti | redakti fonton]
Oni subdividas la melodion en trakoj el 1 ĝis 512 (nombrado el 0 ĝis 511). Oni tre malofte uzas pli ol 16 trakojn, sed ofte la melodio enhavas nur unu trakon.
Ĉiu trako enhavas propran pecon de melodio. Kutime en multitraka melodio ĉiu trako enhavas unu partituron (muzikilon). Do oni ludas ĉiujn trakojn samtempe.
Tamen se la melodio havas kelkajn partiturojn, la kodo MIDI povas havi nur unu trakon, do ne estas devige dividi melodion en trakojn laŭ partituroj. Kelkaj aparatoj povas ludi nur unutrakan melodion (ekzemple elektronika piano Casio WK-3300, kiu havas interfacon MIDI kaj povas ludi MIDIajn dosierojn).
Pli grava ol trako estas la nocio "kanalo MIDI". Ekzistas 16 kanaloj (kun nombroj el 0 ĝis 15).
La kanalo 9 estas destinata por drumoj (frapaj muzikiloj) kaj en tiu kanalo oni kodas ĉiujn drumojn de la melodio.
Kutime ĉiu kanalo (krom kanalo 9) enhavas unu partituron, do unu muzikilon kaj kutime por ĉiu kanalo oni starigas la muzikilon nur unufoje komence de melodio kaj la kanalo ludas tiun muzikilon ĝis fino de la melodio. Se la melodio havas pli ol 16 partiturojn, oni devas dividi certajn kanalojn inter kelkaj muzikiloj, do ŝanĝi muzikilon en kanalo kiam necesas.
MIDI subtenas steresonon, do kodas ankaŭ dividon de sonoj en la spaco. MIDI ne kodas separe maldekstran kaj dekstran kanalon kiel kutime faras la plimulto de aliaj sonformatoj. MIDI kodas la pozicion de ĉiu muzikilo en la spaco per nombroj el 0 (maldekstre) ĝis 127 (dekstre). La dividon en dekstra kaj maldekstra kanalo faras la aparataro, kiu transformas kodon MIDI en fizika prezento de sono, do la aparataro kiu interpretas la kodon MIDI.
Kodo MIDI[redakti | redakti fonton]
Kodo de MIDI estas sekvenco de bitokoj. Dosiero MIDI havas prefikson kaj ĉiu (eble nur unu) trako havas propran prefikson (vidu poste Formato de dosieroj MIDI). Trako(j) konsistas el komandoj.
La unua bitoko de ĉiu komando havas biton 1 en unua pozicio de bitoko, do iliaj kodoj varias el 128 ĝis 255 (0x80 ĝis 0xFF). Postaj bitokoj de komando havas 0 en unua bito. Senco de tiu regulo estas sekvanta. Dum transsendo de kodo MIDI per nesekura kanalo certaj bitokoj povas esti distordataj. Tiam la ricevanto ignoras eraran komandon kaj rekonas novan komandon laŭ 1 en maldekstra bitoko. Tio mimimumas la sekvojn de eraroj. Ekzemple reto de MIDIaj muzikiloj ne perdas sinkronecon pro eraroj.
Komandoj povas konsisti el nombroj aŭ sekvencoj de bitokoj (ekzemple teksto, regantaj sekvencoj ktp).
Nombroj povas enhavi 1 ĝis 4 bitokoj. Por programistoj estas grava memorfiksi, ke nombroj el 2,3 aŭ 4 bitokoj havas unuan plej signifan bitokon. Krome, ĉiu bitoko de nombro havas maksimume 7 bitojn, do en ĉiu bitoko nur 7 dekstraj bitoj estas signifaj kal la plej maldekstra bito estas ĉiam 0. Ekzemple la nombro 384 havas deksesuman prezenton 0x0300, ne 0x8001 kiel en mikroprocesoroj INTEL x86 aŭ x64. 0x0300 = 0b00000011+0b00000000, kie nur dikaj bitoj estas signifaj. La valoro estas dekumaj 3*128 + 0 = 384. Do programoj por procesoroj INTEL dum prilaboro de kodo MIDI devas rearanĝi (inversigi) la bitokojn kaj kalkuli la valoron kiel ilustras la ekzemplo.
Sekvencoj de bitokoj en komandoj havas prefikson kiu difinas la longecon de sekvenco. Sekvencoj povas enhavi nulojn, do nulo ne kodas la finon de sekvenco.
Komandoj MIDI[redakti | redakti fonton]
Tiu ĉi artikolo enhavas nur ĝeneralan informon pri komandoj. Detaloj vidu en komandoj MIDI.
La komandaro MIDI enhavas komandojn de kanalo (ekzemple komenco/fino de sono de noto/drumo) kaj sistemaj komandoj. Sistemaj komandoj starigas ekzemple rapidecon de ludo, diversajn tekstojn ktp.
Strukturo de komandoj[redakti | redakti fonton]
Ĉiu komando rilatas al iu momento de tempo, en tikoj. Tiko (angle tick) estas unuo de tempo en dosieroj MIDI. Jen la strukturo de sekvenco de komandoj MIDI:
delta1 komando1 delta2 komando2 ... deltaN komandoN
delta1, delta2,..., deltaN estas nombroj kaj signifas intervalon post la antaŭa komando. Komando1, komando2,..., komandoN estas propre komandoj. Kiel menciita antaŭe, la unua bitoko de komando havas 1 en la plej maldekstra bito, aliaj havas 0 en la plej maldekstra bito. Ekzemplo de fragmento de komanda sekvenco (deksesumaj nombroj):
... 20 92397F 00 922A7F 30 823900 00 822A00 ...
Ĉi tie 20 = dekuma 36 estas intervalo post la lasta antaŭa komando. La komando 92397F enŝaltas tonon kun nombro 0x39 en la kanalo 2. La sekvanta intervalo havas delta = 0 (00 deksesuma). Tio signifas, ke la komando 922A7F (enŝalto de sono kun nombro 0x2A en kanalo 2) plenumiĝas samtempe kun la antaŭa komando. La sekvanta komando 823900 elshaltas la tonon 0x39 post 9x30 = 48 deksesumaj tikoj post enŝaolto per unua komando. Samtempe la kvara komando elŝaltas la tonon 0x2A. Do ĉi tiu fragmento lanĉas du tonojn kaj ĉesigas ilin post 48 tikoj.
Nombrado de tonoj[redakti | redakti fonton]
MIDI povas prezenti 120 tonoj de 10 oktavoj. La oktavoj en midi havas nombrojn el 1 ĝis 10. La tonoj havas nombrojn el 0 ĝis 119. La tono 0 estas la noto C (do) de subkontroktavo kaj havas frekvencon 16,35 Hz, do estas tiom malalta, ke ne estas aŭdebla por plimulto de homoj. La tono 119 estas la noto H de oktavo 10 kaj havas frekvencon 15804 Hz. Do la diapazono de notoj MIDI estas tre larĝa. Ekzemploj: la noto 0x39 = 48 + 9 = 57 dekuma. 57 dividi per 12 rezultas kvotienton 4 kaj restaĵon 9. Do la sono apartenas al oktavo 4 + 1 = 5 ĉar oni nombras oktavojn el 1. La tonoj en oktavo estas:
Do la tono 57 estas la noto A en la oktavo 5. Simile la tono 0x2A = 42 dekuma. 42 = 3*12 + 6. Do la tono estas la noto F# de oktavo 4.
Komandoj de kanalo[redakti | redakti fonton]
Oni nomigas komandoj de muzikaj eventoj ankaŭ komandoj de kanalo. Ekzistas 7 grupoj de tiaj komandoj. Ĉiu Komando konsistas el 3 aŭ 2 bitokoj, laŭ la sekvanta tabelo. N (deksesuma) aŭ nnnn (duuma) estas nombro de kanalo.
Elŝaltas sonantan noton, N kaj nnnn estas nombro de kanalo
Modifas la sonon de klavo
Diversaj funkcioj de regado k. kontrolo
Ŝanĝo de muzikilo (tembro)
Starigas muzikilon en kanalo
Modifas ĉiujn sonojn en kanalo
Modifas ĉiujn tonojn en kanalo
Jen kelkaj klarigoj de tiuj funkcioj. Pli detale vidu en komandoj MIDI.
La komando 8N ĉesas sonon en la kanalo N. La noton (nombro el 0 ĝis 127) difinas la unua bajto de komando (vidu antaŭe la paragrafon Nombrado de tonoj. La rapideco, se estas difinita en sonanta aparataro, difinas la rapidecon de ĉesigo. En la plimulto de MIDI dosieroj la rapideco ĉe ĉi tiu komando estas nulo.
La komando 9N enŝaltas la sonon de certa noto en la kanalo N. La nombron de noto difinas la unua bitoko de komando. La dua bitoko difinas la laŭtecon (el 0 ĝis 127).
La komando AN starigas la posttuŝon de la klavo. Kutima la MIDIa aparataro aŭ programaro realigas vibradon de laŭteco de sono lanĉita de la respektiva noto. La samon faras la komamndo DN, sed por ĉiuj notoj en la kanalo N. Vibradon de tonalteco de noto regas la komando BN, por ĉiuj notoj de la kanalo N tion faras la komando EN.
La komando CN difinas la muzikilon en la kanalo N. La nombro de muzikilo el 0 ĝis 127 estas en la unua bitoko de la komando. Ekzemple la kanalo povas soni kiel trombono (kodo 57), violono (kodo 40), gitaro akustika kun nilonaj kordoj (kodo 24), gitaro akustika kun ŝtalaj kordoj (kodo 25), gitaro elektra ĝaza (kodo 26) k.s.
La komando BN starigas diversajn kontrolilojn kiuj regas modusojn de kanalo. Ekzemploj: kontroliloj 1, 7, 10, 11 kaj 64, kiuj estas devigaj por realigo en MIDIa aparataro:
1 Modulado, difinas la profundecon de frekvenca modulado en kanalo.
7 Laŭteco de ĉiuj notoj en kanalo.
10 Panoramo, pozicio de muzikilo en sterepanoramo.
11 Esprimeco de sono en kanalo.
64 Pedalo de deteno, angle: Sustain Pedal. Detenas la ĉesitajn notojn.
Sistemaj komandoj[redakti | redakti fonton]
La sistemaj komandoj havas kodon 0xF en la unua duono de bitoko. La plej gravaj komandoj havas kodon 0xFF en la unua bitoko. Jen la listo:
0xFF 0x00 Nombro de sekvenco - detale vidu en Komandoj MIDI. Angle: Sequence Number.
0xFF 0x01 ĝis 0x09 diversaj tekstoj.
0xFF 0x20 prefikso de MIDIkanalo - detale vidu en Komandoj MIDI.
0xFF 0x2F fino de trako.
0xFF 0x51 ritmo, rapideco de sono. Angle: Set Tempo.
0xFF 0x54 delokigo SMPTE - detale vidu en Komandoj MIDI.
0xFF 0x58 muzika takto, enhavas informon, kiom da kvaraj notoj enhavas unu takto. Angle: Time Signature.
0xFF 0x59 tonalo. Angle: Key Signature.
0xFF 0x7F informo specifa por sekvensoro. Angle: sequensor specific information.
0xF0 mesaĝo SysEx, sistema ekskluziva mesaĝo.
0xF2 montrilo de pozicio en partituro.
0xF3 elekto de partituro.
0xF6 postulo de agordo.
0xF7 fino de SysEx, finpo de sistema ekskluziva mesaĝo.
0xF8 takta horo (sinkronigo). Tiu komando sinkronigas la muzikilojn en la reto.
0xFA starto de partituro.
0xFB kontinuo de partituro.
0xFC stopo de partituro.
0xFE kontrolo de konektoj en reto.
Muzikiloj MIDI[redakti | redakti fonton]
Pli detale vidu Muzikiloj MIDI.
Ĝenerala MIDIo havas 128 diversajn instrumentojn (muzikilojn), kiuj havas kodojn el 0 ĝis 127. Tio estas imito de muzikiloj aŭ, uzante la terminojn de tonsilaba programo Tone, "tonaj tembroj". Ekzemploj de MIDIaj muzikiloj estas piano (kelkaj variaĵoj), akordiono (kodo 21), klarneto (kodo 71).
Krom "tonaj" muzikiloj MIDIo difinas 61 drumojn (frapajn muzikilojn) kun kodoj el 27 ĝis 87. Ekzemploj estas akustika bastamburo (kodo 35), malfermita triangulo (kodo 81).
Formato de dosieroj MIDI[redakti | redakti fonton]
Tiu ĉi artukolo priskribas nur ĝenerale la formaton de dosieroj MIDI. Pli detale vidu Dosieroj MIDI.
La dosiero MIDI havas prefikson kun longeco 14 bitokoj. La prefikso de dosiero enhavas en unuaj kvar bitokoj tekston MThd. La prefikso enhavas tri gravajn informojn pri la muzika verko:
1 kaj 2 = multitraka.
kvanto de tikoj en kvara noto.
Kutime kvara noto enhavas inter 48 kaj 192 tikojn, la nombro estas ĉiam dividebla al 12.
Post La prefikso MThd troviĝas trakoj. Ĉiu trako havas propran prefikson, kiu komencas kun teksto MTrk. La prefikso de trako enhavas la longecon de la trako en bitokoj.
La trako mem enhavas sekvencon de komandoj. La komandoj havas variajn longecojn.
Informoj pri la paĝo
Citi ĉi tiun artikolon
Ĉi tiu paĝo estis lastafoje redaktita je 05:01, 15 jun. 2018.
La teksto disponeblas laŭ la permesilo Krea Komunaĵo Atribuite-Samkondiĉe 3.0 Neadaptita; eble aldonaj kondiĉoj aplikeblas. Vidu la uzkondiĉojn por detaloj.
Regularo pri respekto de la privateco