generalitats, especificacions i missatges en detalltallerdemusics.pbworks.com/f/tutorial sobre midi....

21
Seqüenciació amb Cubase Tutorial MIDI: generalitats, especificacions i missatges en detall Curs 2010-2011 Professor: Medín Peirón Martín [email protected] 1 1 Tutorial sobre MIDI Generalitats, especificacions i missatges en detall 1 Una mica d’història ............................................................................................................................. 2 2 Què és el MIDI? .................................................................................................................................. 3 2.1 Interfície de comunicacions ...................................................................................................... 3 2.2 Per a instruments musicals........................................................................................................ 3 2.3 Digital ........................................................................................................................................... 3 2.4 No és un format d’àudio digital ............................................................................................... 4 3 Funcions del MIDI ............................................................................................................................. 4 4 Nivells d’especificació MIDI ............................................................................................................. 4 5 Nivell hardware: interfície de connexió ........................................................................................... 4 5.1 Microprocessador ....................................................................................................................... 4 5.2 Ports de comunicació MIDI ..................................................................................................... 5 5.2.1 MIDI IN............................................................................................................................. 5 5.2.2 MIDI OUT ........................................................................................................................ 5 5.2.3 MIDI THRU ..................................................................................................................... 5 5.3 Cables MIDI ............................................................................................................................... 5 5.4 Connectors MIDI ...................................................................................................................... 5 5.5 Connexió d’aparells físics .......................................................................................................... 6 5.6 Connexió d’aparells virtuals ...................................................................................................... 6 6 Nivell transmissió elèctrica de les dades .......................................................................................... 7 6.1 Polsos de tensió .......................................................................................................................... 7 6.2 Serial. Velocitat transmissió ...................................................................................................... 7 6.3 Simplex ........................................................................................................................................ 7 6.4 Asíncrona .................................................................................................................................... 7 7 Nivell lògic: funcions i estructura dels missatges............................................................................ 7 7.1 Filosofia dels missatges MIDI .................................................................................................. 7 7.1.1 Què codificar?.................................................................................................................... 7 7.1.2 Com codificar-ho?. Bytes MIDI: estat i dades. MSB i LSB ........................................ 8 7.1.3 Com codificar-ho?. Running status ................................................................................... 9 7.2 Missatges específics de canal .................................................................................................... 9 7.2.1 Què són els canals MIDI?................................................................................................ 9 7.2.2 Estructura general dels missatges de canal .................................................................... 9 7.2.3 Missatges de veu del canal ............................................................................................... 9 7.2.4 Missatges de mode del canal .......................................................................................... 15 7.3 Missatges de sistema ................................................................................................................ 17 7.3.1 System common (SysCom) .................................................................................................... 17 7.3.2 System real-time .............................................................................................................. 18 7.3.3 System exclusive (SysEx) ............................................................................................... 20 8 General MIDI (GM), General Standard, XG MIDI.................................................................... 21

Upload: others

Post on 06-Nov-2019

6 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Generalitats, especificacions i missatges en detalltallerdemusics.pbworks.com/f/Tutorial sobre MIDI. Generalitats...Seqüenciació amb Cubase Tutorial MIDI: generalitats, especificacions

Seqüenciació amb Cubase

Tutorial MIDI: generalitats, especificacions i missatges en detall

Curs 2010-2011

Professor: Medín Peirón Martín

[email protected]

1

1

Tutorial sobre MIDI Generalitats, especificacions i missatges en detall

1 Una mica d’història .............................................................................................................................2 2 Què és el MIDI?..................................................................................................................................3

2.1 Interfície de comunicacions......................................................................................................3 2.2 Per a instruments musicals........................................................................................................3 2.3 Digital...........................................................................................................................................3 2.4 No és un format d’àudio digital ...............................................................................................4

3 Funcions del MIDI .............................................................................................................................4 4 Nivells d’especificació MIDI.............................................................................................................4 5 Nivell hardware: interfície de connexió ...........................................................................................4

5.1 Microprocessador.......................................................................................................................4 5.2 Ports de comunicació MIDI.....................................................................................................5

5.2.1 MIDI IN.............................................................................................................................5 5.2.2 MIDI OUT ........................................................................................................................5 5.2.3 MIDI THRU .....................................................................................................................5

5.3 Cables MIDI ...............................................................................................................................5 5.4 Connectors MIDI ......................................................................................................................5 5.5 Connexió d’aparells físics..........................................................................................................6 5.6 Connexió d’aparells virtuals......................................................................................................6

6 Nivell transmissió elèctrica de les dades ..........................................................................................7 6.1 Polsos de tensió ..........................................................................................................................7 6.2 Serial. Velocitat transmissió ......................................................................................................7 6.3 Simplex ........................................................................................................................................7 6.4 Asíncrona ....................................................................................................................................7

7 Nivell lògic: funcions i estructura dels missatges............................................................................7 7.1 Filosofia dels missatges MIDI..................................................................................................7

7.1.1 Què codificar?....................................................................................................................7 7.1.2 Com codificar-ho?. Bytes MIDI: estat i dades. MSB i LSB........................................8 7.1.3 Com codificar-ho?. Running status ...................................................................................9

7.2 Missatges específics de canal ....................................................................................................9 7.2.1 Què són els canals MIDI?................................................................................................9 7.2.2 Estructura general dels missatges de canal ....................................................................9 7.2.3 Missatges de veu del canal ...............................................................................................9 7.2.4 Missatges de mode del canal..........................................................................................15

7.3 Missatges de sistema ................................................................................................................17 7.3.1 System common (SysCom)....................................................................................................17 7.3.2 System real-time ..............................................................................................................18 7.3.3 System exclusive (SysEx) ...............................................................................................20

8 General MIDI (GM), General Standard, XG MIDI....................................................................21

Page 2: Generalitats, especificacions i missatges en detalltallerdemusics.pbworks.com/f/Tutorial sobre MIDI. Generalitats...Seqüenciació amb Cubase Tutorial MIDI: generalitats, especificacions

Seqüenciació amb Cubase

Tutorial MIDI: generalitats, especificacions i missatges en detall

Curs 2010-2011

Professor: Medín Peirón Martín

[email protected]

2

2

1 Una mica d’història

Els primers sintetitzadors comercials neixen a finals dels 60’s. Eren analògics (els canvis als paràmetres de síntesi es representaven mitjançant canvis anàlegs en el voltatge dels circuits dels instruments), la qual cosa els feia poc fiables (el comportament de l’electrònica analògica depèn de les condicions ambientals). Eren modulars, amb blocs de funció independent que es connectaven entre sí (patching) manualment per produir cada timbre en temps real. Per això, no era possible recuperar automàticament un patch, s’havia d’apuntar en paper, ni tenia sentit la multitímbria (producció simultània de timbres diferents). La tecnologia analògica, a més, feia cara la polifonia (que aparegué al 1975 amb els sintetitzadors Oberheim). La necessitat d’evitar aquestes mancances, així com l’aparició dels sintetitzadors comercials digitals a mitjans 1970’s, esperonà el desenvolupament d’un protocol de control i comunicació de sintetitzadors també digital. Els primers intents daten dels 60, i utilitzaven ordinadors, sense potència per sintetitzar so en temps real però amb capacitat per controlar la síntesi d’instruments analògics. Als 70 apareixen mòduls digitals específics de determinats models de sintetitzadors, com el Polyphonic Synthesizer Programmer per a l’Oberheim. La manca d’estandardització, però, impossibilita connectar aparells de marques diferents. Al 1981, Dave Smith i Chet Wood de Sequential Circuits, desprès de contactar amb Tom Oberheim i amb diversos fabricants japonesos (Roland, Yamaha, Korg i Kawai), proposen un protocol universal, l’USI (Universal Synthesizer Interface), que segons publiquen a l’Audio Engineering Society (AES), havia de funcionar a 19.2 Kbaudis i amb jacks de ¼”. Durant dos anys, fabricants americans i japonesos treballaren plegats sobre aquesta proposta, fins que al 1983 presenten, al North American Music Manufacturers (NAMM) Show de Los Angeles, els resultats. A la demostració, Dave Smith tocà el teclat del sintetitzador analògic Prophet 600 (de Sequential Circuits) i, gràcies al MIDI, féu sonar el també analògic Jupiter-6 (de Roland). A l’agost de 1984 neix l’especificació MIDI 1.0, que s’estén ràpidament entre els instruments electrònics. A partir de 1983, el Commodore 64 i altres ordinadors (malgrat les seves limitacions, no deixen de ser màquines útils per enregistrar, reproduir i manipular qualsevol dada digital, incloent les MIDI) oferien la possibilitat d’afegir una interfície MIDI, i al 1986 l’Atari 520 ST l’incorporà de fàbrica, sent durant més d’una dècada l’ordinador dels músics, que l’utilitzen com a unitat de control. A principis dels 90s les targes de so incorporen un sintetitzador controlable pel protocol (en el que, per cert, els sons acústics eren pitjor en relació als electrònics), i l’ordinador ja no només pot fer de controlador, sinó que esdevé sintetitzador. Al 1990 neix el General MIDI, que estandarditza més elements del protocol. Al 1999 sortirà el MIDI 2.0. Avui l’èxit del sistema és inqüestionable, i la immensa majoria d’instruments musicals electrònics l’incorporen. La clau de l’èxit radica en l’estandardització a diferents nivells que implica el protocol, així amb la capacitat que ha tingut de re-definir-se amb els nous canvis tecnològics. Des del 2005 es treballa en un protocol MIDI d’alta definició.

Page 3: Generalitats, especificacions i missatges en detalltallerdemusics.pbworks.com/f/Tutorial sobre MIDI. Generalitats...Seqüenciació amb Cubase Tutorial MIDI: generalitats, especificacions

Seqüenciació amb Cubase

Tutorial MIDI: generalitats, especificacions i missatges en detall

Curs 2010-2011

Professor: Medín Peirón Martín

[email protected]

3

3

2 Què és el MIDI?

2.1 Interfície de comunicacions

MIDI és acrònim de “interfície digital per a instruments musicals”. Una interfície és quelcom que fa de mitjancer entre elements que, per sí mateixos, no poden comunicar-se. Per exemple: un televisor no entén les nostres ordres, pel que necessitem una interfície, el comandament a distància, que les rebi i, al seu torn, les transmeti intel�ligiblement a l’aparell.

2.2 Per a instruments musicals El MIDI va néixer com a interfície per a comunicar sintetitzadors de diferents fabricants: gràcies a ell, el teclat d’una marca (ACME) pot fer sonar el d’una altre (MECA), i a l’inrevés. Aquesta funció l’acompleix gràcies a que representa un vertader protocol de comunicacions entre sintetitzadors. Les seves principals característiques en aquest sentit serien:

� Comunicació entre dispositius a través de missatges amb una sintaxi comuna. � Molts d’aquests missatges, malgrat circular físicament per la mateixa via, poden

distribuir-se per 16 canals diferents, i podem seleccionar a quins canals responen els equips receptors.

� El programa (o “patch”) MIDI correspon al timbre, l’instrument, el “so” d’una veu. � Els programes de sons s’agrupen en “bancs”. � A través dels missatges de control podem controlar remota i contínuament qualsevol

paràmetre d’un equip MIDI (sintetitzador, sampler, processador de so, taula, etc). � Els equips MIDI receptors poden estar en diferents estats: Omni off (resposta

només als missatges pel canal seleccionat), Omni on (resposta als missatges de tots els canals), Poly (polifònics), Mono (monofònics)

2.3 Digital

Els missatges que es bescanvien els dispositius MIDI són digitals. És a dir, als equips generadors de MIDI, els gestos de l’intèrpret no són codificats com a canvis anàlegs en el potencial elèctric d’algun circuit de l’instrument, sinó discretament, en forma binària, com a successió de bits (0’s i 1’s). Com s’ha dit, el control digital data dels 60; el MIDI, però, va ser el primer sistema estàndard. Igualment, que el control sigui digital no implica que la síntesi també ho sigui; de fet, al 1983 molt pocs sintetitzadors ho eren. El que sí que cal és que els instruments a controlar digitalment disposin d’una interfície digital que converteixi les dades generades per l’acció mecànica de l’intèrpret en 0’s i 1’s. El control digital té certes avantatges en relació a l’analògic:

� És molt més robust a les condicions ambientals i, per tant, més fiable (les mateixes accions donaran lloc sempre als mateixos sons).

� Facilita l’emmagatzematge automàtic de memòries de timbres. � Facilita l’emmagatzematge de la interpretació musical, que pot ser llavors

reproduïda en temps diferit (a diferència del control analògic, que només pot ser a temps real), i editada a l’estudi (on pot canviar-se tot allò que no agrada).

� Això últim dona sentit a l’aparició de sintetitzadors multitímbrics, amb els que es pot crear una peça sencera, pista a pista.

Page 4: Generalitats, especificacions i missatges en detalltallerdemusics.pbworks.com/f/Tutorial sobre MIDI. Generalitats...Seqüenciació amb Cubase Tutorial MIDI: generalitats, especificacions

Seqüenciació amb Cubase

Tutorial MIDI: generalitats, especificacions i missatges en detall

Curs 2010-2011

Professor: Medín Peirón Martín

[email protected]

4

4

2.4 No és un format d’àudio digital Avui és habitual enregistrar dades MIDI en fitxers que reproduïm a l’ordinador, la qual cosa ha fet pensar el MIDI és un tipus de codificació de música. Però el MIDI no codifica l’àudio. Les dades MIDI que codifiquen els missatges que es bescanvien els dispositius MIDI representen instruccions de control d’instruments musicals electrònics, la “partitura” que han de seguir els xips de dispositius compatibles per a generar electrònicament el so (fins que les instruccions no arriben als xips, no sonen, pel que el MIDI, en sí mateix, no sona ni bé ni malament, tot depèn del sintetitzador). D’aquí que els arxius MIDI ocupin molt menys que els d’àudio (1’ d’àudio de qualitat ocupa uns 10 Mb, un arxiu MIDI de la mateixa durada pot ocupar sols 10 Kb, 1000 vegades menys).

3 Funcions del MIDI � El MIDI neix per a comunicar sintetitzadors de diferents marques. � Posteriorment, és adoptat com a protocol de control en altres generadors de so

(mòduls de so, samplers, caixes de ritme), processadors de so (taules de mescla, multiefectes) i taules de llum (això últim pot assegurar una sincronia total en directe entre música i llums).

� Possibilita la sincronia automàtica entre vídeo i la seva banda sonora sequenciada. � S’utilitza per fer sonar les partitures digitals.

4 Nivells d’especificació MIDI El MIDI va néixer com un conjunt de regles de compliment obligatori per tots els dispositius que pretenen emprar el protocol. Aquesta estricte estandardització, que representa una de les seves principals avantatges, es dona a tres nivells diferents:

� Hardware de connexió: interfície MIDI, connectors i cables. � Transmissió elèctrica de les dades. � Estructura lògica dels missatges.

5 Nivell hardware: interfície de connexió

Tots els aparells MIDI tenen una interfície digital capaç d’enviar i/o rebre missatges MIDI. Aquesta interfície conté un microprocessador i un nombre variable de ports.

5.1 Microprocessador

Es el “cervell”, que es programa. � Als dispositius que responen al

MIDI, el microprocessador rep les dades MIDI de l’UART i les adapta a la circuiteria encarregada a la síntesi (o del que sigui).

Figura 1 Interfície MIDI

Page 5: Generalitats, especificacions i missatges en detalltallerdemusics.pbworks.com/f/Tutorial sobre MIDI. Generalitats...Seqüenciació amb Cubase Tutorial MIDI: generalitats, especificacions

Seqüenciació amb Cubase

Tutorial MIDI: generalitats, especificacions i missatges en detall

Curs 2010-2011

Professor: Medín Peirón Martín

[email protected]

5

5

� Als emissors MIDI, el microprocessador capta la informació produïda al manipular interfícies mecàniques (tecles, rodes...) i l’envia a l’UART (Universal Asynchronous Receiver/Transmitter), que les converteix en MIDI.

Ni ha d’entendre ni ha de produir tots els missatges MIDI (els no-entesos són ignorats); cal consultar fulla d’implementació de l’aparell per saber a què atenir-nos.

5.2 Ports de comunicació MIDI

Són els elements físics per on entren o surten les dades MIDI. N’hi ha de tres tipus.

5.2.1 MIDI IN Tots els receptors de dades MIDI (p.e. sintetitzadors) l’han de tenir. Rep missatges MIDI d’un altre aparell en forma de polsos de tensió, i els envia a un optoacoblador, que transmet la informació digitalitzada a la resta del circuit no per contacte físic, sinó a través de llum (protegint l’equipament de tensions indesitjades, p.e. per un connexionat erroni).

5.2.2 MIDI OUT Tots els emissors MIDI (p.e. controladors) l’han de tenir. Els polsos de tensió digitals que representen els missatges MIDI de l’UART són amplificats i aconduïts a aquest port, on els voltatges que representen els missatges produïts per l’aparell enviables per un cable.

5.2.3 MIDI THRU Treu una còpia de tot el que entra pel port IN, i no treu res que no hagi entrat prèviament per l’IN. Ho fa directament, sense passar per l’UART (per tant treu tot el que rep l’IN independentment de si el microprocessador ho entén). Rep de l’optoacoblador, pel que abans de treure pel cable ha d’amplificar. Serveix en connexions en cadena, és a dir, per a

que un dispositiu pugui enviar dades MIDI a molts altres.

5.3 Cables MIDI Com els d’àudio professional (Cannon o XLR-3), transmeten 3 comportaments elèctrics:

� Terra o potencial constant nul 0 V (referència). � Voltatge constant de +5V (alimentació). � Voltatge altern a 0 o +5 V (senyal).

Per tant, necessitem cables “multifilars”. Aquests van per parells de fils, pel que els cables MIDI, tot i només requerir-ne tres, tindran quatre fils. Per evitar interferències, els dos fils conductors estan trenats entre sí, i apantallats, és a dir, recoberts d’una malla metàl�lica a 0 V (connectada al pin que està a terra) i que fa de gàbia de Faraday. La construcció garanteix la transmissió sense errors per a longituds inferiors a 15 metres, tot i que es recomana que no siguin més llargs de 2 metres.

5.4 Connectors MIDI Normalment són DIN (circulars) de cinc pins o contactes, dels que només s’usen tres: � Pin 2: terra (0 Volts). � Pin 4: conductor, alimentat a un voltatge constant de (5

Volts). � Pin 5: conductor, amb una tensió que alterna entre dos

valors, 0 i +5 Volts.

Els pins 1 i 3 es reservaren per possibles ampliacions del protocol mai implementades.

Figura 2 Connectors DIN de 5 pins

Page 6: Generalitats, especificacions i missatges en detalltallerdemusics.pbworks.com/f/Tutorial sobre MIDI. Generalitats...Seqüenciació amb Cubase Tutorial MIDI: generalitats, especificacions

Seqüenciació amb Cubase

Tutorial MIDI: generalitats, especificacions i missatges en detall

Curs 2010-2011

Professor: Medín Peirón Martín

[email protected]

6

6

Els ports dels equips solen tenir connectors DIN femella, essent físicament idèntics els connectors de tipus IN, OUT o THRU. Els cables solen tenir connectors MIDI normalment mascle-mascle (també hi ha mascle-femella), i cada fil es connecta pels extrems al mateix pin. A les targes de so dels ordinadors, però, no trobem connectors DIN. Inicialment es reaprofità el connector DB15, pensat inicialment pel joystick, serial i amb 15 pins (per rebre i transmetre MIDI a través d’ell, però, cal un cable adaptador que inclogui l’optoacoblador). Actualment, en molts fabricants (Casio, Korg, Roland) la connexió d’aparells es fa per USB (Universal Serial Bus), amb quatre pins, o per firewire.

5.5 Connexió d’aparells físics

La connexió entre ports MIDI a través de cables només pot donar-se de dues formes: � De la sortida MIDI-OUT d’un aparell, a l’entrada MIDI-IN d’un altre equip. � De la sortida MIDI-THRU d’un aparell, a l’entrada MIDI-IN d’un altre equip.

L’aparell que envia informació a través del seu port MIDI-OUT a un altre fa de controlador “mestre” (master), perquè controla el seu funcionament.

El dispositiu que rep les instruccions d’un controlador a través del seu port MIDI-IN fa d’”esclau” (slave), perquè respon a les ordres del controlador mestre. Pot interessar que un mateix mestre (p.e. seqüenciador) controli més d’un esclau (p.e. diversos sintetitzadors). Dues configuracions ho permeten:

� En sèrie o cadena (daisy chain): la informació del mestre és enviada a un primer esclau que, a través del seu MIDI-THRU, la reenvia a un segon esclau que fa el mateix, i així fins que convingui. En cada pont, la informació es degrada i retarda, havent també el perill de que si un aparell deixa de funcionar, els que venen a continuació deixen tots de rebre les dades.

� En estrella: la informació del mestre és enviada a un dispositiu intermedi (MIDI THRU box, o MIDI Patch Bay) que la reenvia simultàniament als diferents esclaus. No esperem degradació, desfasment temporal ni disfuncions en cadena.

Figura 3 Configuracions per esclavitzar diversos dispositius (esquerra: sèrie o cadena, dreta: estrella)

5.6 Connexió d’aparells virtuals

La connexió de dispositius MIDI virtuals (programes que s’executen en un ordinador) sol requerir la configuració, exclusivament, de dos ports virtuals, el MIDI IN (per on treu el MIDI el programa) i el MIDI OUT (per on el captura). A Windows, necessitem instal�lar aplicacions com MIDI Yoke (XP) o LoopBe (Vista) per a que apareguin múltiples ports

Page 7: Generalitats, especificacions i missatges en detalltallerdemusics.pbworks.com/f/Tutorial sobre MIDI. Generalitats...Seqüenciació amb Cubase Tutorial MIDI: generalitats, especificacions

Seqüenciació amb Cubase

Tutorial MIDI: generalitats, especificacions i missatges en detall

Curs 2010-2011

Professor: Medín Peirón Martín

[email protected]

7

7

d’entrada i sortida a cada una de les aplicacions MIDI de que disposem, que d’aquesta manera es poden connectar entre sí). A MacOS, IAC driver és l’aplicació nadiva que serveix per això, i MIDI Patchbay un programa extern pel mateix.

6 Nivell transmissió elèctrica de les dades

6.1 Polsos de tensió Els missatges MIDI es transmeten en base a 0’s i 1’s. Aquests són representats com a diferència de voltatge elèctric entre el pin 5 que alterna (entre 0 i +5V) respecte el pin 4 a +5 V. Quan el punt alternant està baix (0 V), la diferència és de +5 V, el LED de l’optoacoblador dona llum i es representa un 0; quan el punt alternant està alt (+5 V), la diferència és de 0 V, el LED de l’optoacoblador no dona llum, i es representa un 1.

6.2 Serial. Velocitat transmissió Les dades s’envien en sèrie, una darrera l’altre, com breus diferències de voltatge o pulsos correlatius. Per això la transmissió no és molt ràpida: màxim de 31.250 bits per segon (31.250 baudis=31,25 Kbaudis) als cables MIDI. Això és 100 vegades més lenta que molts ADSL, i 300 cops inferior a la de l’Open Sound Control, que va a 10 Mbits per segon. Un missatge MIDI estàndard, de 30 bits, doncs, triga uns 0.96 ms en ser transmès. En un segon poden transmetre’s 100 missatges MIDI com a màxim. Per això, quan es fa un acord, amb tants missatges com notes, la manca de sincronia pot notar-se. Cal dir que quan els missatges MIDI corren dins l’ordinador aquestes restriccions no són aplicables.

6.3 Simplex La transmissió és “simplex”: dins un mateix cable, les dades només es mouen unidireccionalment, de l’aparell emissor (controlador “mestre” o master) al receptor (dispositiu “esclau” o slave). La transmissió bidireccional entre dos dispositius MIDI implica, per tant, la utilització de dos cables independents, un que surt de l’OUT del dispositiu 1 i que val a l’IN del dispositiu 2, i un altre que surt de l’OUT del dispositiu 2 i va a l’IN del dispositiu 1.

6.4 Asíncrona La transmissió no està sincronitzada, no hi ha paritat, receptor i emissor no es comuniquen contínuament, sinó que és asíncrona, el receptor transmet quan vol (p.e. perquè un músic prem una tecla), en base al seu rellotge intern. Aquesta asincronia obliga a que cada byte de missatge vagi rodejat d’un bit que indica el començament del missatge (start bit) i un altre que marca el final (stop bit). Quan el receptor rep un start bit, comença a llegir la continuació del missatge, en base al seu propi relloge (que ha de tenir, doncs, una velocitat adequada en relació al rellotge de l’emissor), i atura la lectura desprès de rebre un stop bit.

7 Nivell lògic: funcions i estructura dels missatges

7.1 Filosofia dels missatges MIDI

7.1.1 Què codificar? Els missatges MIDI codifiquen dos grans tipus d’informació:

� Generada per l’intèrpret d’un instrument musical electrònic (“fer sonar una nota, amb una certa intensitat”, “apagar la nota”, “fer un glissando”, “canviar al

Page 8: Generalitats, especificacions i missatges en detalltallerdemusics.pbworks.com/f/Tutorial sobre MIDI. Generalitats...Seqüenciació amb Cubase Tutorial MIDI: generalitats, especificacions

Seqüenciació amb Cubase

Tutorial MIDI: generalitats, especificacions i missatges en detall

Curs 2010-2011

Professor: Medín Peirón Martín

[email protected]

8

8

Figura 4 Correspondència nombres binaris de 4 bits amb sistema decimal (0-15) i hexadecimal (0-F)

programa de trompeta”, etc...). Cal notar que, aquesta, no és necessariament la teoria de la música tradicional (la “durada de la nota”, per exemple, no és directament recollida a través d’un missatge MIDI).

� Sobre el funcionament dels aparells (el “rellotge intern” del dispositiu, una indicació de que l’aparell “està funcionant”, etc).

7.1.2 Com codificar-ho?. Bytes MIDI: estat i dades. MSB i LSB Tots els missatges es codifiquen en base a un codi binari, amb dos bits (0 i 1), que serien com les “lletres” de l’alfabet MIDI. Les “paraules” més petites tindrien 4 bits (poden determinar el “tipus de missatge de canal” o el “canal al qual afecta el missatge”). Per això ens convé familiaritzar-nos amb el seu valor decimal i hexadecimal.

Binari Decimal Hexadecimal 0000 0*20=0 0 0001 1*20=1 1 0010 0*20+1*21=2 2 0011 1*20+1*21=3 3 0100 0*20+0*21+1*22=4 4 0101 1*20+0*21+1*22=5 5 0110 0*20+1*21+1*22=6 6 0111 1*20+1*21+1*22=7 7 1000 0*20+0*21+0*22+1*23=8 8 1001 1*20+0*21+0*22+1*23=9 9 1010 0*20+1*21+0*22+1*23=10 A 1011 1*20+1*21+0*22+1*23=11 B 1100 0*20+0*21+1*22+1*23=12 C 1101 1*20+0*21+1*22+1*23=13 D 1110 0*20+1*21+1*22+1*23=14 E 1111 1*20+1*21+1*22+1*23=15 F

8 bits fan un byte. Però com que la transmissió MIDI és asíncrona, es requereix un start bit (0) que marca el començament del byte i un stop bit (1) que indica que el final, pel que els bytes MIDI tenen 10 bits (així es sobreentendrà des d’ara fins el final). Els primers quatre bits de l’octet són els quatre “bits alts”, i darrers els quatre “bits baixos”. El primer bit de l’octet és el més significatiu (most significant bit o MSB). Quan val 1 parlem de “byte d’estat” (STATUS BYTE), i quan val 0 de “byte de dades” (DATA BYTE).

StaB MSB StoB

El “byte d’estat” sol codificar el paràmetre a modificar, la qual cosa determina el tipus de missatge. Té 7 bits lliures, pel que poden prendre 27=128 valors diferents (de 0000000=0=00 a 1111111=127=7F). Els “bytes de dades” codifiquen el valor que ha de prendre el paràmetre. Amb 7 bits lliures poden prendre 128 valors diferents. Per augmentar la seva resolució, es poden ajuntar dos bytes de dades del mateix missatge, o de missatges consecutius. En aquests casos, el primer byte de dades és el MSB (most significant byte), i codifica el valor “a l’engròs” (coarse), i el segon, el LSB (less significant byte) fa l’ajustament fi (tunning) del valor.

Figura 5. Byte MIDI (10 bits)

Bits baixos Bits alts

0 1

Page 9: Generalitats, especificacions i missatges en detalltallerdemusics.pbworks.com/f/Tutorial sobre MIDI. Generalitats...Seqüenciació amb Cubase Tutorial MIDI: generalitats, especificacions

Seqüenciació amb Cubase

Tutorial MIDI: generalitats, especificacions i missatges en detall

Curs 2010-2011

Professor: Medín Peirón Martín

[email protected]

9

9

La major part de missatges MIDI estan formats per un byte d’estat i dos de dades. Hi ha, però, missatges amb dos bytes (un d’estat i un de dades), amb un sol byte d’estat, i missatges que requereixen de la intervenció de diversos missatges de tres bytes.

7.1.3 Com codificar-ho?. Running status

Amb running status, quan el missatge és del mateix tipus que l’anterior, i té el mateix byte d’estat, aquest és omès. Així la transmissió és més ràpida (útil sobretot amb controls continus). L’adopció per un emissor és opcional, però tot receptor l’ha de comprendre.

7.2 Missatges específics de canal

7.2.1 Què són els canals MIDI?

La majoria de missatges MIDI són específics de canal, és a dir, poden ser adscrits a un “canal MIDI” particular (tradicionalment, 16 diferents). Això s’aconsegueix incloent en ells una mena d’”etiqueta” que indica el canal al que pertanyen. Els canals MIDI serveixen per segregar la informació: pel cable viatgen tots els missatges de tots els canals, i aquests arriben a tots els dispositius esclaus, però cada receptor només respon als missatges del canal/canals al qual està “sintonitzat”. D’aquesta manera, un mateix controlador pot fer executar diferents instruccions a cada esclau (p.e. diferents seqüències musicals amb timbres diferents), pel que els podem considerar com les “veus independents” d’un controlador.

7.2.2 Estructura general dels missatges de canal

STATUS BYTE DATA BYTE 1 DATA BYTE 2

1 0 0

Tots els missatges de canal tenen un byte d’estat en el que els quatre bits alts codifiquen la instrucció concreta a realitzar en l’àmbit del canal (entre 1000=8=8 i 1110=14=E; 1111=15=F està reservat per als missatges de sistema), i els quatre bits baixos codifiquen el canal al qual s’ha d’executar la instrucció (poden adquirir tots els valors possibles, 24=16 (de 0000=0=0 a 1111=15=F; d’aquí que tinguem 16 canals MIDI, tot i que sovint són numerats de l’1 a 16). A partir d’aquí es succeeixen un o dos bytes de dades que serveixen per assignar valors numèrics al paràmetre, amb 7 bits de resolució cada un.

7.2.3 Missatges de veu del canal La majoria de missatges de canal són “missatges de veu”, és a dir, missatges que afecten al so que s’està produint pel canal (pel que fa a la seva alçada, intensitat, timbre, etc...).

Instrucció (8-14) canal (0-15) dada 1 (0-127) dada 2 (0-127) opcional Figura 7 Missatges de canal

Figura 6. Els receptors MIDI responen només al canal al que estàn “sintonitzats”

Page 10: Generalitats, especificacions i missatges en detalltallerdemusics.pbworks.com/f/Tutorial sobre MIDI. Generalitats...Seqüenciació amb Cubase Tutorial MIDI: generalitats, especificacions

Seqüenciació amb Cubase

Tutorial MIDI: generalitats, especificacions i missatges en detall

Curs 2010-2011

Professor: Medín Peirón Martín

[email protected]

10

10

7.2.3.1 Note on (activació de nota)

Es produeix quan es prem la tecla, es polsa la corda, es bufa l’embocadura.... d’un controlador.

STATUS BYTE DATA BYTE 1 DATA BYTE 2 NOTE ON CANAL MIDI MIDI Pitch MIDI Velocity

1 0 0 1 n n n n 0 n n n n n n n 0 n n n n n n n 9 0-15 0-127 0-127 9 0-F 0-7F 0-7F

El byte de dades indica que cal fer sonar una determinada nota, per un determinat canal. El primer byte de dades marca l’alçada tonal de la nota que ha de sonar (MIDI pitch). Pot prendre 128 valors diferents. El 0 correspon a “do”. Com que el MIDI empra una escala temperada per defecte (amb alguns trucs, o amb l’ajuda de certs programes, però, ho podem canviar), amb 12 semitons per octava, incrementar/decrementar en 1 el MIDI pitch equival a incrementar/decrementar l’alçada 1 semitó; per això, els múltiples de 12 també són “do”. Com a referència, 00111100=60=3C equival al do del centre d’un piano, un do3 (C3 en nomenclatura franco-belga, la que emprem nosaltres; al sistema internacional, però, és un do4). Amb els 128 valors de semitons es poden representar més de 10 octaves, tres més que a un piano, aproximadament les que l’oïda humana pot abastar. El segon byte de dades codifica la MIDI velocity, la velocitat amb la que s’ataca la tecla d’un controlador. Els teclats sensibles a la velocitat donen un valor més alt quan més fort toquem la tecla, els insensibles generen sempre un valor constant, normalment intermig (64). La velocity determina la intensitat de la nota que interpreta el sintetitzador. Si val 0, no cal fer sonar la nota, sinó apagar-la, i a més velocitat, més intensitat.

7.2.3.2 Note off (desactivació de nota)

És enviat quan es treu el dit de la tecla, es deixa de bufar el controlador, etc...

STATUS BYTE DATA BYTE 1 DATA BYTE 2 NOTE OFF CANAL MIDI MIDI Pitch MIDI Velocity

1 0 0 0 n n n n 0 n n n n n n n 0 n n n n n n n 8 0-15 0-127 0-127 8 0-F 0-7F 0-7F

El byte d’estatus indica que ha de deixar de sonar una nota que estava sonant per un determinat canal.

El primer byte de dades codifica el MIDI pitch, l’alçada de la nota que cal desactivar. El segon byte de dades codifica la MIDI velocity, la velocitat amb la que, en aquest cas, s’allibera la tecla d’un controlador MIDI, i a la que la nota s’ha d’extingir. La majoria de sintetitzadors, però, ignoren la velocitat d’extinció i, per apagar una nota, responen a la desactivació instantània realitzada amb un note on de velocity 0.

7.2.3.3 Polyphonic aftertouch (key pressure, postpulsació polifônica)

Es produeix quan, un cop baixada la tecla, fem una sobrepressió sobre ella (missatge afetertouch o de postpulsació), amb la particularitat de que això pot fer-se de forma

Page 11: Generalitats, especificacions i missatges en detalltallerdemusics.pbworks.com/f/Tutorial sobre MIDI. Generalitats...Seqüenciació amb Cubase Tutorial MIDI: generalitats, especificacions

Seqüenciació amb Cubase

Tutorial MIDI: generalitats, especificacions i missatges en detall

Curs 2010-2011

Professor: Medín Peirón Martín

[email protected]

11

11

independent per cada nota. Això implica que el controlador disposa d’un sensor de pressió independent per cada tecla (gamma alta), i explica el qualificatiu de postpulsaciò “polifònica”. D’aquesta forma poden enviar-se desenes de missatges per segon (possible embús), pel que els controladors amb aquesta funció solen poder desactivar-la.

STATUS BYTE DATA BYTE 1 DATA BYTE 2 POLY AFTOU CANAL MIDI MIDI Pitch Key pressure

1 0 1 0 n n n n 0 n n n n n n n 0 n n n n n n n 10 0-15 0-127 0-127 A 0-F 0-7F 0-7F

El byte d’estat indica que hi ha una postpulsació polifònica per un determinat canal El primer byte de dades recull l’alçada de la nota que ha estat polsada. El segon, el valor amb el que es fa sobrepressió sobre la tecla. Aquest valor sol afectar la intensitat i/o el timbre del so, tot i que no tots els sintetitzadors responen a ell.

7.2.3.4 Channel Aftertouch (channel pressure, postpulsació monofònica o de canal) Es produeix també quan, baixada la tecla, la sobrepressionem, amb la particularitat de que el controlador, que té una única tira sota les tecles sensible a la pressió (gamma mitjana), no pot enviar diferents valors de pressió simultanis per cada tecla, sinó un de sol, que habitualment correspon al valor de sobrepressió superior.

STATUS BYTE DATA BYTE 1 CHA AFTOU CANAL MIDI Pressure

1 1 0 1 n n n n 0 n n n n n n n 13 0-15 0-127 D 0-F 0-7F

Només contempla un byte d’estat, que indica postpulsació monofònica a un canal, i un de dades, que no recull l’alçada de la nota, sinó el valor de sobrepressió, doncs un dispositiu que rep aquest missatge altera la tímbrica de totes les notes que estan sonant en aquell moment pel canal, independentment de si les respectives tecles són sobrepressionades.

7.2.3.5 Pitch bend (variació o desplaçament de l’afinació)

Es sol produir amb una roda, que sol retornar a la posició central de repòs per sí mateixa, i que envia contínuament el missatge (desenes de vegades per segon), amb un valor que depèn de l’angle de rotació de la roda i un signe que està en funció del sentit de la rotació.

STATUS BYTE DATA BYTE 1 DATA BYTE 2 PITCH SHIFT CANAL MIDI Pitch shift LSB Pitch shift MSB

1 1 1 0 n n n n 0 n n n n n n n 0 n n n n n n n 14 0-15 E 0-F

El byte d’estat indica que s’ha de desplaçar subtilment l’afinació de la nota que sona pel canal. El running estatus evitarà la seva aparició desenes de vegades per segon.

Com que es desafina la última nota que s’ha fet sonar pel canal, no cal codificar la seva alçada, només la quantitat de desafinació a aplicar.

-8192 - +8191 00 00 – FF FF

Page 12: Generalitats, especificacions i missatges en detalltallerdemusics.pbworks.com/f/Tutorial sobre MIDI. Generalitats...Seqüenciació amb Cubase Tutorial MIDI: generalitats, especificacions

Seqüenciació amb Cubase

Tutorial MIDI: generalitats, especificacions i missatges en detall

Curs 2010-2011

Professor: Medín Peirón Martín

[email protected]

12

12

Els dos bytes de dades s’ajunten en un de sol (el primer és el MSB, i el segon el LSB): amb 14 bits lliures podem codificar 214=16384 valors diferents, que en decimal es reparteixen entre -8192 i 0 (baixen l’alçada tonal) i 0 i +8191 (pugen l’alçada tonal). Als sintetitzadors General MIDI el desplaçament de l’afinació màxim sol ser de + 2 semitons, és a dir, un to avall i un amunt (com veurem, això pot canviar-se amb el missatge de canvi de control adient). D’aquesta forma, amb aquesta resolució cada un d’aquests missatges pot desplaçar l’afinació en centèsimes de cents, i l’encadenament de valors correlatius produeix glissandi perceptivament continus, que és el que es perseguia en aquest cas.

7.2.3.6 Program Change (patch change, canvi de programa)

S’envien prement un dispositiu que permet seleccionar un número. Això es fa abans de començar l’execució, per seleccionar l’instrument, o quan cal canviar-lo a la meitat d’una execució.

STATUS BYTE DATA BYTE 1 PRG CHANG CANAL MIDI MIDI Program

1 1 0 0 n n n n 0 n n n n n n n 12 0-15 0-127 C 0-F 0-7F

El byte d’estat indica que cal canviar el programa MIDI actiu del canal, que en MIDI correspon al timbre, instrument, “so” o patch del sintetitzador del canal (patch o parxe com als sintetitzadors analògics). Tenen un byte de dades que codifica fins a 128 programes diferents (de 0 a 127, o de 1 a 128, segons el sintetitzador). Els sintetitzadors General Midi, com els de les targes de so, tenen una llista de 128 programes estàndard (cada número correspon a un determinat instrument, tot i que el so concret pot ser diferent d’un sintetitzador a un altre; els instruments de percussió no estarien inclosos aquí, perquè sonarien activant notes pel canal 10)..

7.2.3.7 Control Change (canvi de control), o CC’s (continuos controllers) Es produeixen desenes de vegades per segon manipulant les interfícies mecàniques de l’instrument, o de controladors externs no estrictament instrumentals: botons, rodes, pedals, potenciòmetres, faders, etc...

STATUS BYTE DATA BYTE 1 DATA BYTE 2 CC CANAL MIDI Control number Control value

1 0 1 1 n n n n 0 n n n n n n n 0 n n n n n n n 11 0-15 0-119 0-127 B 0-F 0-77 0-7F

El byte d’estat indica que cal canviar el valor d’un control en un determinat canal. Un canvi de control ens permet canviar de forma contínua el valor de qualsevol paràmetre d’un dispositiu MIDI (sintetitzador, processadors de so, taules...). Aquest byte d’estat, que també encapçala els missatges de mode de canal, no serà enviat repetidament si activem el running status.

Page 13: Generalitats, especificacions i missatges en detalltallerdemusics.pbworks.com/f/Tutorial sobre MIDI. Generalitats...Seqüenciació amb Cubase Tutorial MIDI: generalitats, especificacions

Seqüenciació amb Cubase

Tutorial MIDI: generalitats, especificacions i missatges en detall

Curs 2010-2011

Professor: Medín Peirón Martín

[email protected]

13

13

El primer byte de dades codifica el número de control a canviar. Pot adquirir valors entre 0 i 119 (els valors entre 120 i 127 estan reservats pels missatges de mode de canal, amb el mateix byte d’estatus). Hi ha 120 controls (i estratègies per augmentar-ne aquest nombre; de fet, hi ha més missatges d’aquest tipus que de tots els altres), més que suficients per controlar adequadament qualsevol dispositiu. El segon byte de dades codifica el valor del control. Per a realitzar el canvi de control amb una resolució pel valor de 7 bits és suficient amb un d’aquests missatges. En alguns controls, podem doblar la resolució del valor encadenant dos d’aquests missatges (el primer amb el MSB pel valor al segon byte de dades i el segon amb el LSB en aquesta posició). Als missatges RPN i NRPN, per la seva part, es codifica tant el nombre de control com el valor amb doble resolució, per a la qual cosa poden requerir-se fins a 4 missatges de canvi de control encadenats. En molts casos, la variació contínua del valor del control produeix un canvi perceptivament continu, i d’aquí que els controls MIDI es coneguin també, genèricament, com a “continous controllers” (CC’s). En d’altres, el control només commuta entre dos estats perceptius possibles. Cal tenir en compte, també, que la funció de molts dels controls no està pre-establerta, sinó que és implementada pels fabricants a la seva conveniència.

7.2.3.8 Controls 0-63: CC’s amb doble resolució facultativa

Del 0 al 31 tenim 32 controls que, en variar de forma contínua, produeixen canvis sonors també continus. Per codificar el valor d’aquests controls amb doble resolució, s’envia el CC 0-31 MSB valor seguit d’un CC control+32 LSB valor (per això s’ocupen també els controls 32-63).

7.2.3.8.1 Canvi de banc: CC 0 MSB / CC 0 MSB + CC 32 LSB

Canvia a un banc determinat. Un banc és un conjunt de 128 programes diferents. A continuació del canvi de banc sol envir-se un “canvi de programa” que escull un programa concret del banc prèviament seleccionat.

7.2.3.8.2 Modulation wheel (roda de modulació): CC 1 MSB / CC 1 MSB + CC 33 LSB

S’envia típicament a través de la roda dels teclats que no torna automàticament a la posició inicial, moltes vegades per segon. Canvia contínuament un paràmetre del canal, diferent segons el sintetitzador, però que sol modular (variar periòdicament) algun paràmetre el so, com la freqüència d’oscil�lació (vibrato), l’amplitud (trèmolo), la freqüència de tall d’un filtre (wah-wah), etc.

7.2.3.8.3 Channel volume (volum del canal): CC 7 MSB / CC 7 MSB + CC 39 LSB

Permet modificar el volum general de tot el canal, com si fos el volum d’una pista a un mesclador (no confondre amb el Note On, que permet canviar el volum d’una nota).

7.2.3.8.4 Pan (panorama): CC 10 MSB / CC 10 MSB + CC 42 LSB

Permet canviar la panoràmica estèreo (180º) d’allò que es sent pel canal. Si el segon byte

Page 14: Generalitats, especificacions i missatges en detalltallerdemusics.pbworks.com/f/Tutorial sobre MIDI. Generalitats...Seqüenciació amb Cubase Tutorial MIDI: generalitats, especificacions

Seqüenciació amb Cubase

Tutorial MIDI: generalitats, especificacions i missatges en detall

Curs 2010-2011

Professor: Medín Peirón Martín

[email protected]

14

14

de dades val 0, la font es situa a l’esquerra del tot, si té un valor intermedi, al centre, i si té un valor màxim, a la dreta del tot.

7.2.3.8.5 Expression controller (volum puntual del canal): CC 11 MSB/ CC 11 MSB + CC 43 LSB

És un control superposat del volum general del canal: volum general del canal = [volum indicat pel control 7] * [(volum indicat pel control 11)/127]

Així, sempre que aquest control estigui al màxim, el volum general ve determinat pel control 7 i, en un punt concret, podem canviar el volum, mitjançant aquest control, per donar més expressivitat, sense tocar el volum general expressat pel control 7.

7.2.3.9 Controls 64-70: controls conmutats

Produïts típicament amb pedals. Requereixen un sol missatge, amb un segon byte de dades que pot variar contínuament, tot i que això sols commuta entre dos estats sonors possibles.

7.2.3.9.1 Dumper pedal on/off (sustain): CC 64 MSB

Canvia el decaïment de la nota, com el pedal sustain d’un piano, commutant entre decaïment normal (valor entre 0 i 63) i llarg (valor entre 64 i 127).

7.2.3.10 Controls 70-79: Sound controllers, resolució simple

Codifiquen el valor amb resolució simple, amb un únic missatge. Representen controls del so, que regulen de forma contínua la síntesi.

7.2.3.11 Número de control 91-95: CC’s d’efectes

Requereixen d’un sol missatge. Controlen efectes de so típics, com la reverberació (CC91) o el chours (CC93).

7.2.3.12 Número de control entre 96 i 101: RPN i NRPN

Són missatges de canvi de control especials, perquè: � Codifiquen el número de control amb doble resolució, a través de dos missatges

(per això hi ha un munt d’aquests missatges, 214 =16.384). � Permeten codificar el valor amb 7 o 14 bits, i ofereixen més opcions a l’hora de

canviar aquest valor, cosa que es fa amb un o dos missatges més.

Com a la resta de missatges CC’s, n’hi ha que estan més o menys estandarditzats (RPN, Registered Parameter Number) i n’hi ha que no (NRPN, Non-Registered Parameter Number). Per fer un missatge RNP cal un primer missatge CC 101 MSB pel RNP, i un segon missatge CC 100 LSB pel RNP. Per fer un NRPN, cal un primer missatge CC 99 MSB pel NRPN, i un segon missatge CC 98 pel NRPN.

A continuació, un tercer missatge CC actualitza el valor del control. � Si el primer byte de dades val 6 (Data Entry MSB), el segon byte de dades codifica el

MSB pel valor del paràmetre. � Si el primer byte de dades val 96 (Data Increment=Data Entry) o 61 (Data

Decrement=Data Entry), el segon byte de dades codifica les unitats que cal incrementar

Page 15: Generalitats, especificacions i missatges en detalltallerdemusics.pbworks.com/f/Tutorial sobre MIDI. Generalitats...Seqüenciació amb Cubase Tutorial MIDI: generalitats, especificacions

Seqüenciació amb Cubase

Tutorial MIDI: generalitats, especificacions i missatges en detall

Curs 2010-2011

Professor: Medín Peirón Martín

[email protected]

15

15

o disminuir el valor. Molts aparells, però, ignoren aquest segon byte de dades i fan un increment/decrement per defecte (sovint de +1).

Com sempre, per a codificar el valor amb doble resolució, cal un segon missatge amb el LSB del valor. En aquest cas és un quart missatge que segueix al CC 6 MSB i és CC 38 LSB pel valor del paràmetre. Només existeixen sis RPN. Entre parèntesi els dos primers missatges CC involucrats.

� Pitch bend sensitivity o Pitch bend range (CC 101 0, CC 100 0): permet ajustar el rang del pitch bend.

� Channel fine tuning o Master fine tuning (CC 101 0, CC 100 1): permet desplaçar l’afinació de referència de les notes, amb el la3 a 440 Hz, a una altre, en fraccions de semitó.

� Channel coarse tuning o Master coarse tuning (CC 101 0, CC 100 2): permet desplaçar l’afinació de referència de les notes, amb el la3 a 440 Hz, a una altre, en semitons sencers.

Els NRPN es poden fer servir, p.e., per modificar a temps real les envolvents, els moduladors de baixa freqüència, o els filtres dels sintetitzadors.

7.2.4 Missatges de mode del canal

Una minoria dels missatges de canal són “missatges de mode”, és a dir, que no afecten directament la síntesi del so pel canal, sinó que canvien en bloc determinats aspectes del funcionament al canal (notes actives, valor dels controls, polifonia, resposta a instruccions locals), o de la resposta del sintetitzador (exclusiva a un canal o sensible a tots ells). Es codifiquen com missatges de canvi de control, amb un byte d’estat que comença per 1011, però no es consideren CC’s. El primer byte de dades està entre 121 i 127 (per tant, n’hi ha de 7 tipus diferents). El segon té un valor diferent segons cada missatge.

7.2.4.1 All Notes-off (desactivar totes les notes)

És el missatge que envien, p.e., els botons de pànic. STATUS BYTE DATA BYTE 1 DATA BYTE 2

CC CANAL MIDI

1 0 1 1 n n n n 0 1 1 1 1 0 1 1 0 0 0 0 0 0 0 0 11 0-15 123 0 B 0-F 7B 0

Apaga totes les notes que estan sonant pel canal. Molt útil quan algun note off s’ha perdut i es queda alguna nota penjada.

7.2.4.2 Reset-All Controllers (Reajust de controls) STATUS BYTE DATA BYTE 1 DATA BYTE 2

CC CANAL MIDI

1 0 1 1 n n n n 0 1 1 1 1 0 0 1 0 1 1 1 1 1 1 1 11 0-15 121 121 B 0-F 79 7F

Inicialitza automàticament tots els controls als seus valors per defecte (banc=0, programa=0, modulació=0, volum=100, panorama=64, expressió=127....). Útil d’enviar just quan acaba una seqüència (en la que hem pogut canviar el valor de molts paràmetres).

Page 16: Generalitats, especificacions i missatges en detalltallerdemusics.pbworks.com/f/Tutorial sobre MIDI. Generalitats...Seqüenciació amb Cubase Tutorial MIDI: generalitats, especificacions

Seqüenciació amb Cubase

Tutorial MIDI: generalitats, especificacions i missatges en detall

Curs 2010-2011

Professor: Medín Peirón Martín

[email protected]

16

16

7.2.4.3 Mono on = Poly off STATUS BYTE DATA BYTE 1 DATA BYTE 2

CC CANAL MIDI

1 0 1 1 n n n n 0 1 1 1 1 1 1 0 0 n n n n n n n 11 0-15 126 0-15 B 0-F 7E 0-F

Fa que pel canal només pugui sonar una única nota cada vegada, no es pot fer cap acord. Si el segon byte de dades val 0, tots els canals funcionen de forma monofònica. Si val 1, l’efecte es restringeix al canal codificat al byte d’estat, si val 2, a aquest canal i al següent, si val 3, al canal codificat al byte d’estat i dos més, i així fins al 15.

7.2.4.4 Poly on = Mono off STATUS BYTE DATA BYTE 1 DATA BYTE 2

CC CANAL MIDI

1 0 1 1 n n n n 0 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 11 0-15 127 0 B 0-F 7F 0

Fa que pel canal puguin sonar tantes notes simultànies com calgui.

7.2.4.5 Control local on i Control local off

STATUS BYTE DATA BYTE 1 DATA BYTE 2 CC CANAL MIDI Local Control On

1 0 1 1 n n n n 0 1 1 1 1 0 1 0 0 1 1 1 1 1 1 1 11 0-15 122 121 B 0-F 7A 7F

Fa que les instruccions generades per un controlador local, integrat a l’aparell, siguin

interpretades pel propi aparell (sempre que sigui un receptor sintonitzat al canal).

STATUS BYTE DATA BYTE 1 DATA BYTE 2 CC CANAL MIDI Local Control Off

1 0 1 1 n n n n 0 1 1 1 1 0 1 0 0 0 0 0 0 0 0 0 11 0-15 122 0 B 0-F 7A 0

Fa que aquestes instruccions no siguin interpretades pel propi aparell, sinó només pels altres dispositius externs que les rebin.

7.2.4.6 Omni on

STATUS BYTE DATA BYTE 1 DATA BYTE 2 CC CANAL MIDI Omni On

1 0 1 1 n n n n 0 1 1 1 1 1 0 1 0 0 0 0 0 0 0 0 11 0-15 125 0 B 0-F 7D 0

Fa que el sintetitzador respongui a la informació de tots els canals.

Page 17: Generalitats, especificacions i missatges en detalltallerdemusics.pbworks.com/f/Tutorial sobre MIDI. Generalitats...Seqüenciació amb Cubase Tutorial MIDI: generalitats, especificacions

Seqüenciació amb Cubase

Tutorial MIDI: generalitats, especificacions i missatges en detall

Curs 2010-2011

Professor: Medín Peirón Martín

[email protected]

17

17

7.2.4.7 Omni off

STATUS BYTE DATA BYTE 1 DATA BYTE 2 CC CANAL MIDI Omni Off

1 0 1 1 n n n n 0 1 1 1 1 1 0 1 0 0 0 0 0 0 0 0 11 0-15 124 0 B 0-F 7C 0

Inactiva un missatge anterior, i l’instrument torna a respondre exclusivament als missatges que pertanyen al canal al qual estat “sintonitzat”.

7.3 Missatges de sistema El seu byte d’estat comença amb 1111=15=F, i els quatre bits baixos restants (xxxx) no indiquen el canal (nnnn), sinó que especifiquem 24=16 missatges diferents (0-15). A diferència dels missatges de canal, es missatges de sistema han de ser executats per tots els aparells receptors, independentment del canal al qual estiguin sintonitzades. Per això, no inclouen informació que els adscriu a cap canal.

7.3.1 System common (SysCom)

Adreçats a tots els aparells receptors, però amb funcions força heterogènies, incloent la sincronia entre de dispositius per codi de temps comú.

7.3.1.1 MIDI Time Code (MTC) quarter frame

Són produïts a partir de la reproducció d’un vídeo o àudio que inclogui estampada un

codi de temps SMPTE (Society of Motion Picture and Television Engineers), segons el

qual cada quadre (frame) del vídeo o l’àudio és identificat per una cadena

hora:minut:segon:frame diferent. Cada valor SMPTE és transformat, pel conversor

adient, en quatre missatges MTC quarter frame, cada un amb el valor corresponent a

una de les quatre unitats.

STATUS BYTE DATA BYTE 1 Sistema MTC Unitat temps Valor

1 1 1 1 0 0 0 1 0 n n n y y y y 15 1 F 1

Els quatre bits alts del byte de dades codifiquen la unitat SMPTE (hora, minut, segon o

frame), i els quatre bits baixos el valor numèric d’aquesta. D’aquesta manera, es pot

sincronitzar la reproducció d’una cinta (mestre) i d’un seqüenciador MIDI (esclau).

7.3.1.2 Posició de cançó

STATUS BYTE DATA BYTE 1=LSByte DATA BYTE 2=MSByte Sistema Posició cançó Nombre de beats MIDI (1 per 6 clocks) que han passat d’inici

1 1 1 1 0 0 1 0 0 n n n n n n n 0 n n n n n n n 15 2 0-127 0-127 F 2 00-7F 00-7F

Page 18: Generalitats, especificacions i missatges en detalltallerdemusics.pbworks.com/f/Tutorial sobre MIDI. Generalitats...Seqüenciació amb Cubase Tutorial MIDI: generalitats, especificacions

Seqüenciació amb Cubase

Tutorial MIDI: generalitats, especificacions i missatges en detall

Curs 2010-2011

Professor: Medín Peirón Martín

[email protected]

18

18

Codifica la posició actual de la seqüència reproduïda (“punter” a la posició actual), en nombre de beats MIDI (ni ha un cada sis polsos de rellotge) que han passat des de que la seqüència va començar a ser reproduïda. Així, quan arribi un missatge de temps real continue, el seqüenciador pot prosseguir la reproducció des d’on s’havia aturat.

7.3.1.3 Selector de cançó

STATUS BYTE DATA BYTE 1 Sistema Selecció cançó Número cançó MIDI

1 1 1 1 0 0 1 0 0 n n n n n n n 15 3 0-127 F 3 00-7F

Codifica el número de cançó (d’una o vàries pistes) a interpretar pel seqüenciador. Aquesta cançó serà la reproduïda quan arribi un missatge de temps real de tipus start.

7.3.1.4 Autoafinació

STATUS BYTE Sistema Autoafinació

1 1 1 1 0 1 1 0 15 6 F 6

El MIDI va començar amb instruments analògics, i aquest missatge servia per a que aquests afinessin els seus oscil�ladors. Normalment no s’utilitza als sintetitzadors digitals.

7.3.1.5 EOX (fi de missatge exclusiu)

STATUS BYTE Sistema Fi SysEx

1 1 1 1 0 1 1 1 15 7 F 7

Indica que el missatge exclusiu de sistema, amb un nombre de bits lliure, s’ha acabat.

7.3.2 System real-time

Tenen un sol byte d’estat que, degut al seu caràcter urgent, té prioritat, pel que pot aparèixer a qualsevol lloc, fins i tot entre el byte d’estat i de dades de qualsevol missatge. O bé són la font de sincronia relativa o absoluta, o bé controlen determinats aspectes de la reproducció en temps real d’una seqüència (en un seqüenciador, a una caixa de ritmes) en base a aquesta. També inclouen active sensing i reset del dispositiu.

7.3.2.1 MIDI Clock

És produït per quasi tots els aparells MIDI.

STATUS BYTE Sistema MIDI clock

1 1 1 1 1 0 0 0 15 8

F 8

Page 19: Generalitats, especificacions i missatges en detalltallerdemusics.pbworks.com/f/Tutorial sobre MIDI. Generalitats...Seqüenciació amb Cubase Tutorial MIDI: generalitats, especificacions

Seqüenciació amb Cubase

Tutorial MIDI: generalitats, especificacions i missatges en detall

Curs 2010-2011

Professor: Medín Peirón Martín

[email protected]

19

19

No conté cap byte de dades perquè simplement interessa la seva aparició. Aquesta es dona sempre amb la mateixa freqüència relativa, 24 vegades per negra (és a dir, amb una velocitat de tresets de semifusa), pel que la seva freqüència absoluta depèn del tempo: si el tempo és molt elevat, s’envia moltes vegades per segon (pot arribar a saturar els ports), si és més baix, s’envia menys vegades.

Per això aquest missatge representa com un rellotge que indica com s’han de comptar les figures musicals: cada cop que es rebin 24 clocks haurà passat una negra, pel que si es reben 12 ha passat una corxera, 6 una semicorxea.... Igualment, la seva freqüència d’aparició absoluta determina el tempo: si apareix 24 vegades per segon és que una negra dura un segon, pel que el tempo és de negra=60, etc... Aquest missatge es fa servir per sincronitzar dispositius de forma relativa, no absoluta com amb el MTC: si dos dispositius comparteixin el mateix “rellotge”, es sincronitza la manera en que comptaran les figures musicals, així com el seu tempo. Val a dir que si ambdós poden generar clock, un haurà d’estar en mode master, però l’altre s’haurà d’”escoltar” aquest rellotge, i haurà d’estar en mode slave.

7.3.2.2 Midi Tick

STATUS BYTE Sistema Tick

1 1 1 1 1 0 0 1 15 9 F 9

Com l’anterior, no conté cap byte de dades, perquè simplement interessa la seva aparició, doncs també s’envia com una claqueta, en aquest cas amb una freqüència relativa variable (normalment els seqüenciadors permeten regular-ho), entre 24 i 960 vegades per negra. Marca la resolució temporal del sistema: tot allò que passi en intervals de temps inferiors, no pot ser temporalment ordenat. I això té un valor absolut: permet inferir dades sobre la durada dels esdeveniments. Dos aparells que comparteixen “tick”, doncs, compten el temps igual, pel que poden avançar/retrocedir en ell de forma sincronitzada.

7.3.2.3 Start (començament reproducció de seqüència)

STATUS BYTE Sistema Start

1 1 1 1 1 0 1 0 15 10 F A

Inicia la reproducció de la seqüència codificada al selector de cançó, i des del principi, cosa que posa en marxa l’enviament de missatges MIDI clock.

7.3.2.4 Stop (aturada reproducció de seqüència)

STATUS BYTE Sistema Stop

1 1 1 1 1 1 0 0

15 12

F C

Page 20: Generalitats, especificacions i missatges en detalltallerdemusics.pbworks.com/f/Tutorial sobre MIDI. Generalitats...Seqüenciació amb Cubase Tutorial MIDI: generalitats, especificacions

Seqüenciació amb Cubase

Tutorial MIDI: generalitats, especificacions i missatges en detall

Curs 2010-2011

Professor: Medín Peirón Martín

[email protected]

20

20

7.3.2.5 Continue (continuació reproducció seqüència)

STATUS BYTE Sistema Continue

1 1 1 1 1 0 1 0 15 11 F B

Continua la reproducció d’una seqüència aturada, al punt on s’havia aturat la reproducció (emmagatzemat pel punter de posició de cançó), i quan apareix el següent pols del rellotge.

7.3.2.6 Active sense (espera activa)

Els aparells que el produeixen ho fan cada 300 milisegons, denotant que “estan funcionant”.

STATUS BYTE Sistema Active sensing

1 1 1 1 1 1 1 0 15 14 F E

Els receptors preparats esperen rebre algun missatge MIDI abans de 300 milisegons. En cas contrari, l’emissor ha deixat d’enviar el missatge active sense, s’ha desconnectat, i com a mesura de protecció els receptors desactiven temporalment les veus actives (així, les notes que estan sonant quan es perd la connexió no es queden penjades eternament a l’espera d’un note off). Un cop fet, es passa al mode d’operació normal. Aquest sistema, però, no és implementat, ni molt menys, a tots els dispositius: ni tots els emissors han d’emetre aquest missatge ni tots els receptors han de ser capaços d’interpretar-lo..

7.3.2.7 Reset (inicialització de l’equip MIDI)

STATUS BYTE Sistema Reset

1 1 1 1 1 1 1 1 15 15 F F

Inicialitza el dispositiu MIDI als valors per defecte. Per la importància dels seus efectes, no es sol enviar automàticament, sinó que l’usuari ha d’activar-lo manualment.

7.3.3 System exclusive (SysEx) El MIDI neix amb la vocació de crear un codi de missatges universal per a tots els aparells. Tot i així, és evident que l’èxit del protocol passa per la possibilitat d’adaptar-se a les noves possibilitats, nous paràmetres de control... que poden aparèixer amb el temps, i que són difícilment previstes d’entrada. D’aquí que el mateix protocol contempli la possibilitat d’implementar missatges amb format lliure (qualsevol nombre de bits), i amb una funcionalitat exclusiva d’un dispositiu concret (funcionen només a un model determinat, tal i com indica el manual de l’aparell, una altre màquina els ignora). És obligatori que siguin encapçalats per un missatge que indica la seva aparició (SOX) i precedits per un altre que indica que s’han acabat (EOX).

Page 21: Generalitats, especificacions i missatges en detalltallerdemusics.pbworks.com/f/Tutorial sobre MIDI. Generalitats...Seqüenciació amb Cubase Tutorial MIDI: generalitats, especificacions

Seqüenciació amb Cubase

Tutorial MIDI: generalitats, especificacions i missatges en detall

Curs 2010-2011

Professor: Medín Peirón Martín

[email protected]

21

21

7.3.3.1 SOX (Start of Exclusive) Indica que el seguirà una sèrie de bits lliures corresponent a un missatge de sistema exclusiu. El primer byte de dades codifica la marca de l’aparell (Roland, Yamaha), i el segon, el model concret (JD-800, PSS-680).

STATUS BYTE DATA BYTE 1 DATA BYTE 2 Sistema SOX Marca Model

1 1 1 1 0 0 0 0 0 n n n n n n n 0 n n n n n n n 15 0 0-127 0-127 F 0 00-7F 00-7F

8 General MIDI (GM), General Standard, XG MIDI El MIDI 1.0 (1984) va assegurar que diferents instruments musicals puguéssin comunicar-se entre sí. Però aviat es va manifestar la necessitat d’estandarditzar algunes de les característiques que el protocol deixava lliures als fabricats. Desprès de noves reunions, es va arribar a un acord sobre especificacions addicionals que podien acomplir els sintetitzadors, i es va proposar el General MIDI (1991), amb una sèrie de condicions addicionals a les del MIDI 1.0, però de compliment només obligatori per aquells instruments etiquetats amb “General MIDI”. Qualsevol sintetitzador General MIDI:

� Té una capacitat multitímbrica de 16 canals. � Al canal 1-9 i 11-16 sonen instruments afinats, al canal 10 instruments de percussió. � Disposa de 128 programes d’instruments afinats estandarditzats (tot i que el so

concret de cada instrument pot ser diferent d’un sintetitzador a un altre) accessibles pels canals 1-9 i 11-16.

� Té els sons de percussió accessibles des del canal 10, cada un disparat a través d’una nota diferent. N’hi ha 59 de diferents, també estandardittzats (tot i que passa el mateix que amb els programes, el bombo d’un sintetitzador pot sonar molt diferent al d’un altre).

� Té sensibilitat a la velocitat d’atac. � Té un pitch bend amb un rang de +1 to. � Reconeix un nombre de canvis de control (CC) mínim: 1 (roda de modulació, 7

(volum general), 10 (panoràmica), 11 (volum particular), 64 (sustain), 121 (reset all controllers), 123 (all notes off),

� Té una polifonia mínima de 24 notes. Diversos fabricants han creat versions personalitzades que engloben i expandeixen aquest estàndard (per tant, asseguren els requisits GM i més coses, i que han pogut ser adoptats per altres fabricants. És el cas de Roland, amb el General Standard, i Yamaha, amb el XG MIDI, que amplien en ambdós casos la paleta instrumental i incorporen certes possibilitats d'edició i modificació dels sons originals. Una dels avantatges importants del General Standard és la incorporació de 317 sons (en lloc de 128) i de diversos kits de percussió (enlloc d’1).