midi - istorijawebsrv3.viser.edu.rs/avt/stari/download/pdf/mid_1p.pdf · početak i kraj tona su...
TRANSCRIPT
MIDI - istorija l Kraj 70-ih: nekompatibilnost elektronskih
instrumenata: l Različito dodeljivanje naponskih nivoa
svakoj dirki sa klavijature l Različiti standardi za analogne signale
takta, trigerovanja i sl. l Različiti standardi za digitalne interfejse:
Roland DCB (Digital Control Bus), Oberheim, Yamaha (Key Code).
Različiti standardi:1V/oktavi, 1V/1000Hz
MIDI – istorija (kraj 70ih) l Sintisajzeri u to doba – analogni,
monofoni: 1 glas (voice) u jednom trenutku,
l Dave Smith – razvoj polifonog sintisajzera (Prophet 5), originalna ideja: jedna sprava sa više glasova (sound producing engines), svi parametri glasova se digitalno kontrolišu.
l Promene jednog parametra se digitalizuju i mogu biti primenjene na više glasova istovremeno.
MIDI l Mikroprocesor “skenira” sve dirke,
digitalizuje informaciju: pitch control se dodeljuje prvom slobodnom glasu.
l Dve bitne posledice ove digitalizacije kontrolnih parametara:
l moguće ih je pamtiti – sintisajzeri sa memorijom.
l Kontolne površine (klavijature, pedale..) više nisu deo analognog kola generisanja signala: rođeni su kontroleri.
Potpuna polifonija - preskupo
6-polifoni sintisajzer sa pridruživanjem modula:
Osnovni sastavni blokovi sintisajzera
MIDI l Potreba za razvojem protokola za
komunikaciju između kontrolera i kola za generisanje zvuka.
l Dave Smith: na uređajima omogućiti konekcije za ulaz/izlaz ovih kontrolnih parametara, i standardizovati protokol na nivou bitnih proizvođača.
MIDI l Dogovori na relaciji USA, Japan, struka i Dave
Smith (Sequential Circuits Inc.): AES, New York, jesen 1981.: predložen standard.
l Januar 1983.: Dave Smith demonstrira komunikaciju između Prophet 600 i Roland JP-600.
l Avgust 1983.: objavljena je specifikacija MIDI 1.0 standarda.
l MIDI (Musical Instruments Digital Interface) je rođen: industrijski standardizovan protokol koji omogućava komunikaciju i sinhronizaciju između elektronskih instrumenata, kompjutera i ostale elektronske opreme.
Prophet 600 – Roland Jupiter 6
MIDI l Ukinuta potreba za tzv. “wall of
synthesizers”. Sintisajzeri se prave u “rack mount” verzijama, jedan kontroler upravlja sa nekoliko sintisajzera.
l Već od 1983. MIDI ratifikuju i proizvođači kompjutera: Apple, Commodore 64, Amiga, PC-DOS.
l Atari ST se pravi sa MIDI priključcima: standardna mašina po studijima u to vreme.
MIDI l Razvoj sekvencera: uređaji (hardverski ili
softverski) koji imaju mogućnost snimanja, editovanja i ponovnog puštanja MIDI sekvenci (kasnije i audio).
l MIDI time code: Vremenska sinhronizacija više MIDI sekvenci.
l MIDI time code je i danas standard za sinhronizaciju digitalnog audija.
MIDI l U to vreme nisu postojali standardni zvuci za sve
sintisajzere kontrolisane MIDI protokolom: MIDI poruke na različitim uređajima proizvodile su različite zvukove.
l 1991. uveden General MIDI (GM1) standard koji je standardizovao 128 tipova zvuka zajedničkih za sve sintisajzere: postavljen je standard zvučanja i “mesta” na kojem se ti zvuci nalaze unutar sintisajzera.
l MIDI Manufacturer Asociation (MMA): organizacija koja standardizuje i održava ovu tehnologiju.
MIDI l Dvokanalni audio CD kvaliteta: 10 Mbytes/
min. l MIDI poruke: reda veličine 10 Kbytes/min. l MIDI poruka ne sadrži audio informaciju,
već samo instrukcije sintisajtzeru koji zvuk, koju notu, u kom trajanju i koliko glasno da svira.
l MIDI data stream: unidirekcioni, asinhroni sitski protok brzine 32.5 Kbit/sec.
l Dužina bitske reči je 10 bita: start bit, 8 bita podataka i stop bit.
l Generator MIDI poruke: kontroler (u realnom vremenu) ili sekvencer. Izlazna MIDI poruka se šalje preko MIDI Out konektora.
l Prijemnik MIDI poruke: Sound Module, poruku prihvata preko MIDI In konekcije, na poruku odgovara generisanjem odgovarajućeg zvuka.
l Jedan fizički MIDI kanal kojim se prenose poruke je podeljen u 16 logičkih kanala.
l upotreba 4-bitne poruke za identifikaciju rednog broja kanala u okviru MIDI protoka
l Putem jedne MIDI konekcije prenosi se 16 nezavisnih “strimova”, ili “kanala” MIDI informacija.
l MIDI kontroler (sekvencer) se može podesiti da šalje poruke po bilo kom od ovih 16 kanala.
l Sa prijemne strane isto: očitavanje bilo kojeg od 16 kanala na raspolaganju.
U ovakvoj konekciji predajnik i prijemnik MIDI informacije moraju biti podešeni na isti kanal:
MIDI THRU konekcija - sledećem u lancu prosleđuje istu poruku koja se pojavljuje na MIDI IN ulazu – svaki modul dobija poruku po svom posebnom kanalu:
PC+MIDI
MIDI poruke l MIDI poruka se sastoji od jednog statusnog bajta
(status byte) za kojim slede jedan ili dva bajta podataka (data byte).
l MIDI poruke se dele u dve grupe: kanalne i sistemske (channel and system messages).
l Kanalne poruke se odnose na odgovarajući kanal. Broj tog kanala je definisan u statusnom delu kanalne poruke.
l Sistemske poruke se ne dodeljuju svakom kanalu posebno. Njihov statusni bajt ne nosi informaciju o kanalu.
MIDI poruke l Kanalne poruke se dalje dele na: 1. Channel Voice Messages l Nose podatke o izvođenju muzike,
zauzimaju najviše “mesta” u prenosu MIDI informacije.
2. Mode Messages Informacija o načinu na koji prijemni
instrument reaguje na Channel Voice Messages
Channel Voice Messages
l Note On, Note Off, l Polyphonic Key Pressure, l Channel Pressure, l Pitch Bend Change, l Program Change, l Control Change messages.
Note On / Note Off / Velocity l Početak i kraj tona su dva nezavisna događaja. l U trenutku pritiska na dirku šalje se Note On
poruka l Za njom slede dva bajta podataka: koji je ton u
pitanju (key number) i kojom silom je dirka pritisnuta, odnosno brzina kojom se kreće (velocity)
l Po otpuštanju dirke šalje se Note Off poruka, za kojom takođe slede ista dva bajta informacija. Note Off Velocity informacija se po pravilu ignoriše.
Aftertouch l Osetljivost na promena pritiska dok je dirka
pritisnuta l Ukoliko klavijatura ima sve dirke osetljive na
pritisak generišu se Polyphonic Key Pressure poruke – sastoje se od posebnih bajtova podataka o broju dirke i količini pritiska.
l Često klavijatura ima samo jedan nivo osetljivosti u jednom trenutku za sve dirke. Tada se generiše Channel Pressure poruka koja ima samo jedan bajt informacija o količini pritiska.
Pitch Bend Change l Modifikacija visine odsviranog tona l Kontrola je najčešće preko pitch bend
wheel-a. (šabanajzer) l Opisuje se sa dva bajta podataka zbog
potrebe za finom rezolucijom koja je u stanju realno da isprati pokretanje modulacionog točka.
Program Change
l Služi za specificiranje tipa instrumenta koji treba da se upotrebi za generisanje zvuka po datom kanalu.
l Opisuje se jednim bajtom.
Control Change (CC) poruke l Označene su od #0 do #127 l Za kontrolu različitih opcija u samom
sintisajzeru. l Imaju statusni bajt u kojem se određuje na koji
kanal se ova kontrolna poruka odnosi. l Prvi bajt podataka sadrži tzv. "controller
number", kojim se određuje na koju funkciju prijemnog uređaja se promena odnosi.
l Drugi bajt, tzv. "control value“, definiše samu promenu
Control Change (CC) poruke
l Primer: šaljemo CC #7 poruku (na CC listi broj 7 je Volume Control Change), čime se prijemnom uređaju saopštava da želimo da promenimo nivo izlaznog signala.
l Za ovom porukom ide poruka sa informacijom koliki taj nivo treba da bude.
l Promene se mogu mapirati dvojako: 1. Override: nosi konkretnu informaciju o novom
stanju. 2. Offset: nosi informaciju o podešavanju
parametra sa nekim osnovnim inkrementom na gore ili na dole.
Control Change (CC) poruke
l CC poruke mogu biti MSB(Most Significant Byte) i LSB (Least Significant Byte) tipa – jednobitne i dvobitne.
l MSB tip poruke se koristi za “grublja” podešavanja - samo jedan bajt dovoljan
l LSB tip poruke omogućava finija podešavanja – “rezolucija” dva bajta
l Dosta CC poruka istog tipa postoji i kao MSB i LSB
Bank Select l Bank Select funkcija se koristi kod nekih sintisajzera, u
paketu sa Program Change porukama. l Služi za proširenje broja zvukova koji se mogu
specificirati u jednom instrumentu. l Sa Program Change porukom može se mapirati 128
zvukova. l Dodatni zvuci se mapiraju dodatkom Control Change
poruke ispred Program Change poruke: 16.384 banke od po 128 zvukova.
l MIDI “ne zna” šta se nalazi u kojoj banci. Standarde propisuju proizvođači za potrebe svojih uređaja: Roland (GS), Yamaha (XG) i sl.
Bank Select - primer 1. CC#0 - Bank Select MSB Control
Change message 2. MSB vrednost —za izbor konkretne
banke 3. CC #32 — Bank Select LSB Control
Change message 4. LSB vrednost – za izbor konkretne banke 5. Program Change poruka – za izbor
jednog od 128 zvukova u okviru odabrane banke
Control Change poruke
l Još neke CC poruke koje se često koriste u praksi:
1. CC#1- modulacija: Dodavanje vibrata ili nekog drugog tipa modulacije
2. CC#64 – sustain: informacija o tome da li je sustain pedala pritisnuta ili ne, odnosno da li ton treba da traje ili ne.
3. Undefined: prazne CC poruke koje mogu biti definisane od strane proizvođača za neke sopstvene potrebe i namene.
System Exclusive (SysEx) poruke
l Prenose se informacije specifične i ekskluzivne samo za određeni tip uređaja: globalna setovanja, sadržaj memorije, daljinsko upravljanje kontrolama i sl.
l SysEx poruke uvek započinju informacijom o uređaju za koji su namenjene, koju ostali uređaji ne mogu razumeti: SysEx ID.
l Nakon nje sledi konkretna instrukcija koja može imati proizvoljnu dužinu.