Fokusering
Kundalini
U F O
Midi UK
Artikler
Forum

Dette er version 1.0 af MIDI-siden, men jeg kommer forbi, en gang i mellem, og opdaterer den.
(For an English version, use the menu on the left)

Jeg vil starte min Midiside med en tekst som jeg skrev til et Roadiekursus i 1997, hvor jeg var elev i et arbejdsløsheds-projekt. Læreren, som var en af de dygtigste lydmænd i Danmark, mente ikke at han vidste nok om MIDI til at undervise i det. Jeg insisterede dog på at emnet var relevant, et dejligt ord fra den tid, og fik til opgave at lave et oplæg til klassen. Da Martin så oplæget, kunne han godt se at det var en del mere avanceret end han havde forventet og han mente at ingen andre i klassen ville fatte en brik af det jeg havde skrevet, så mit skrift blev uddelt til klassen og i øvrigt forbigået i stilhed. De andre elever var ikke interesseret i teknik og binære talsystemer, men de var gode til at ryge hash og lyfte tunge ting.

MIDI-intro er skrevet som et sammendrag af de første kapitler fra MIDI-ens Bibel:

Stora MIDIBOKEN
af Lars Ekström.
Warner/Chappell Music Scandinavia AB
Stockholm 1996
ISBN 91-86758-64-0

Efter mange år, hvor teksten lå og gærede på min AMIGA 500, fik jeg kopieret den til en PC-diskette og det er den udgave som blandt andet Soundcheck.dk har finpudset og lagt på deres hjemmeside. Jeg er dem meget taknemmelig for at de har taget teksten til sig og vist den til musik-verdenen. Noget jeg på det tidspunkt ikke havde hverken mod eller kræfter til at gøre.

Det er nu på tide at jeg bekender kulør og tilstår, at jeg er kilden.

Jeg har været så fræk at kopiere teksten fra Soundcheck.dk´s side, med de html-koder de har indsat, så jeg sparer en dags tastearbejde. Men jeg har nu finpudset teksten og fundet de oprindelige illustrationer fra Store midiboken, så læseren, forhåbentlig, kan få den fulde glæde af mit oprindelige arbejde. Larses illustrationer er de sort/hvide stregtegninger, som er kopireret med forfatterens tilladelse, mens jeg selv har produceret de kulørte billeder.

Herfra skal lyde en stor TAK for den åbenhed Lars Ekström har vist i forhold til at lade mig bruge hans materiale. Jeg håber at det har været tilliden værd.

Mvh. Anders

OBS!

Denne side er mere interessant, hvis man peger på billederne.

Jeg arbejder på at lave en engelsk udgave af denne side. Den bliver nok lagt på internettet midt i Juni.


Midi-intro

Formålet med denne tekst er at give en generel introduktion til MIDI-stystemet og hvordan det anvendes. Derudover vil jeg gå tæt på MIDI-tidskoder og hvad de bruges til. Jeg vil, hvis jeg får tid og gider, gå lidt mere i detaljer med hvordan de enkelte koder er udformet og hvad der sker, når de sendes og modtages på bit/byte-niveau.

MIDI-stik
Ben 4 og 5
anvendes til data
Ben 2 er Jord.
MIDI er en forkortelse for Musical Instrument Digital Interface og betyder frit oversat standard for digital musiktnstrument kommunikation. Med MIDI kan man sende talkoder over almindelige 5-bens DIN-kabler som overfører informationer mellem elektromikken på musikinstrumenter og/eller computere. Det anbefales at holde kablerne så korte som muligt, helst under 25 m hver. Der er altså ikke tale om at overføre lydsignaler og hvis man ved en fejltagelse koblede et midisignal på en lydgengiver ville det lyde ganske forfærdeligt.

MIDI-signal
Graf af signalet for note-On.
En start-bit en byte og en stop-bit.
Informationerne i MIDI-systemet overføres via et serielt interface som basalt set er 2 ledere i en skærm. Herigennem sendes strøminpulser svarende til 1'ere og nuller kaldet bits. 8 bits samles i grupper som kaldes bytes. Bitsne sendes med en hastighed af 31250 bits/sek. kaldet 31,25 kbaud. Dette er ikke særlig hurtigt set med dagens standard, men da stort set alle firmaer er hoppet på MIDI-standarden bliver det svært at ændre. MIDI kan overføre ca. 500 toner/sek. med mindre der også skal overføres styresignaler og systeminformation. Men indtil videre ligger systemets begrænsning hovedsageligt i at de enkelte instrumenters processorer ikke er hurtige nok til at bearbejde den information de modtager.


MIDI-systemet

kan sende informationer på 16 kanaler pr. forbindelse. Dette gøres ved at kode de enkelte data med et kanalnummer. Når et MIDI-apparat modtager data, vil de kun reagere på de data der er kodet med det rigtige kanalnumer. MIDI har 4 forskellige MIDI-modes(tilstande), som hver har deres fordele og ulemper. De bestemmer hvilke kanaler der modtages og hvor mange toner der kan sendes til lydmodulet. Der er ingen faste navne på disse modes, så for at undgå forvirring er det bedst at være opmærksom på nummeret. Der arbejdes med følgende termer:
  1. Hvad MIDI-maskinen vil tage imod:
    1. Omni on: Alle MIDI-kanaler er åbne.
    2. Omni off: Den/de specifiserede MIDI-kanal(-er)

  2. Hvad MIDI-maskinen kan gøre med informationen:
    1. Poly: Spille mange toner samtidigt.
    2. Mono: Spille en tone ad gangen pr. kanal.

Dette er så de forskellige MIDI-modes:
  1. MIDI_Mode_1 Omni on/poly ( MIDI-mode 1 ):
    Der modtages data på alle 16 kanaler og spilles polyfonisk på den valgte lyd, men der sendes kun data på en kanal (normalt nr.1). Dette mode har i mange år været standard og i mange tilfælde eneste mulighed på ældre keyboards.



  2.  MIDI_Mode_2 Omni on/mono ( MIDI-mode 2 ):
    Der modtages data på alle 16 kanaler, men spilles kun en tone ad gangen med en lyd uanset hvor mange data der kommer ind på de forskellige kanaler. Der sendes data på en valgt kanal. Dette mode er ikke særlig brugbart og har vel kun sin berettigelse til MIDI-fløjter og andre monofoniske instrumenter.



  3. MIDI_Mode_3 Omni off/poly ( MIDI-mode 3 ):
    Modtager på den specifiserede kanal og spiller dette polyfonisk. data sendes på en valgt kanal. Sammen med meddelelsen"Omni off/poly(MIDI-mode 3)" sendes numret på en så kaldt base kanal. På nyere maskiner kan man splitte den op på flere MIDI-kanaler og tildele dem hver sin lyd. Hvis den fx. kan splittes i 4 dele og man sender basekanal=5 vil man kunne bruge kanalerne nr. 5 og derover, altså 5-6-7-8 (der var kun 4). Men efterhånden er der dog blevet mere almindeligt at man kan specifisere hver kanal for sig, så man vælger frit. Fx. kanal 2-5-7-10(trommer)-12. Dette kan også bruges hvis man skal modtage data fra flere keyboards på en gang til en sequencer eller en computer. Dette mode har efterhånden overtaget pladsen som det mest brugte.



  4.   MIDI_Mode_4 Omni off/mono ( MIDI-mode 4 ):
    Der modtages på den/de specifiserede kanaler som hver kan spille en tone. Der sendes på en specifiseret kanal.
    Dette bruges til MIDI-guitarer som så for en kanal til hver streng.



MIDI-apparaterne

kan kendes på at de har et eller flere hun-DIN-stik der er mærket med MIDI-IN, MIDI-OUT og MIDI-THROUGH. På nogle MIDI-apparater er der flere stik til MIDI-OUT eller MIDI-IN. Nogle af disse apparater kan sende eller modtage på 32 kanaler(2 stik).
MIDI kan kun sende data en vej for hver ledning. MIDI-systemet kan forbindes med 4 typer stik:
1. MIDI-OUT
Her sendes data til MIDI-IN.


2. MIDI-IN
Her modtages data fra MIDI-OUT eller MIDI-THROUGH. MIDI-IN har en bufferhukommelse på mindst 128 bytes hvor data kan stå i kø indtil microprocessoren får tid til at bearbejde dem. Er bufferen for lille, tabes data.


3.MIDI-THROUGH
Herfra sendes en kopi af MIDI-IN data, men ikke de MIDI-OUT-data som apparatet selv laver.


4. MIDI-OUT/ECHO
Ses ikke ret tit. Her kan vælges mellem at sende normalt MIDI-OUT(echo off) eller sende et mix af MIDI-OUT og MIDI-IN(echo on). Med echo on sendes de 2 udgangssignaler til en MIDI-merger der sorterer sine inddata i "hele meddelelser" på hver 2-3 bytes og sender dem videre på en ordnet måde. Der kan dog opstå fejl i medelelser af typen sysEx, da de er længere end en standardMIDI-meddelelse og derfor kan blive blandet med andre data, hvis det ikke virker som det skal.

MIDI-apparater forbundet i serie

Ved at tage signalet fra MIDI-THROUGH og sende det ind i MIDI-IN kan man lave kæder af apparater der får samme data. Det anbefales at man ikke sætter flere end 5 apparater i serie, da der så kommer en forsinkelse på mere end 30 millisekunder (som er grænsen for hvad øret kan skelne). MIDI-standarten sætter ikke nogen grænse for hvor mange apparater der kan sættes sammen. Eneste begrænsning er når MIDI's hastighed giver hørbare gener.

Yamahas XG-Works I aktion.
(Se også under MIDI-koblingsudstyr)


Compuetern er efterhånden blevet kernen i ethvert større MIDI-system. Computeren kan ikke umiddelbart sende og modtage MIDI-signaler. Derfor kobler man et MIDI-interface på computerens serieludgang, der som regel har MIDI-IN, MIDI-THROUGH og flere MIDI-OUT. Fra computeren styres de øvrige apparater ved hjælp af et sequencerprogram. Her kan man både modtage, gemme, redigere, afspille og meget mere.


Der 3 typer Keyboards:
  • MIDI-keyboard( Disse kaldes også motherkeyboards) som kun kan sende MIDI-signaler. Der er fra 12 til 88 tangenter og knapper til at sende "skift lyd" og andre MIDI-meddelelser. De bruges til at lave MIDI-signaler til andre MIDI-enheder.
  • Synthesizers, elklaverer mm. som har indbyggt lydgenerator. De kan sende og modtage MIDI-signaler på 16 kanaler og spille op til 48 toner samtidigt fordelt på 16 instrumenter. Nogle af disse har indbygget sequencer og kan bruges som center for et MIDI-system.
  • Sampeleren sender og modtager MIDI-signqaaler. De gemmer forskellige lyde og afspiller dem i forskelligt tempo og kan derved lyde som forskellige instrumenter eller man kan lave musik med lyde fra andre steder.

Billigt plastik keyboard, til en tusse. Hører til en pakke med et lydkort, som jeg ikke kender navnet på.

På disse keyboards er der flere måder at modificere lyden på. Anslagsfølsomhed er efterhånden standard. Aftertouch mærker ændringer i trykket mens tangenten er trykket ned. Pitchbenderen ændrer tonehøjden og modulations"hjulet" tilsætter vibrato. Dertil kommer pedaler og blæsefølere, samt de programmerede ændringer der hører til lyden. Alle disse data kan sendes via MIDI til computere eller andet MIDI-udstyr.

MU128v2 er bare for lækker!.  Bemærk at alle slots er fyldt ud (DX,AN VL Kun for kendere ;-) )

MIDI-lydmoduler er i praksis en synthesizer/sampler uden keyboard. Det kan kun modtage MIDI-OUT. Det kan også spille mange toner og instrumenter samtidigt og kobles ofte til en computer med cequencerprogram, som eneste externe enhed i til hjemmebrug.

Trommemaskinen er et væsentligt MIDI-apparat, som indeholder en sequencer der kan programmeres til forskellige rymtmemønstre, som så kan afspilles med gantagelser, variationer og fill-in's så man kan have hele den nødvendige rytmebaggrund til et nummer på en maskine. Trommemaskinen har sit eget lydmodul med samples af et stort udvalg af trommelyde og pads(store knapper) som man kan spille på direkte eller bruge til programmering. Den var hovedinstrumentet i discomusikken og de senere år har dance music'en taget den til sit hidsigt bankende hjerte. Den bruges også meget i studier til at holde rytmen, når man bliver træt af at høre på trommeslageren eller hvis han er fuld. Og så selvfølgelig til synkronisering af sequencere og andet midi udstyr.

Efterhånden kan man få næsten alle typer instrumenter til MIDI. Først kom selvfølgelig synth'en, men MIDI-guitaren fulgte snart efter. Her kunne man i staten sætte en føler på bag strengene som via noget elektronik gætter hvilken tone der bliver spillet og sender den tilsvarende MIDI-kode videre. Den kunne kun opfatte halvtonespring og hvis man vred strengen, spillede lavede vibrato eller akkorder gik der koks idet. Senere blev der lavet særlige MIDI-guitarer, (som Synth-axe der koster et par hundrede tusind Kr.) men de kan stadig ikke erstatte alle de muligheder en rigtig guitar har for musisk udtryk og vil altid lyde af MIDI. Med tiden er der også kommet mange MIDI-blæserinstrumenter, som med et blæsefølsomt mundstykke kan simulere de rigtige instrumenter på ganske overbevisende vis. Dette giver fx. en fløjtenist mulighed for via midi at spille på forskellige blæserinstrumenter uden at skulle lære diverse spilleteknikker og så kan han/hun også lege med alle mulige andre lyde fra synth's, samplere osv.

Derudover er der en mængde andre maskiner med tilknytning til lydgengivelse der kan styres af MIDI-data. FX-boxe kan programmeres til at reagere på program/lyd-skift, NOTE-ON-meddelelser. En særlig vigtig mulighed i denne forbindelse er fænomenet "Bulkdump", hvor alle indstillinger kan sendes ud på MIDI og gemmes på disk. Når man så kommer tilbage og en eller anden dum elev har pillet ved dimsen, kan man bare tage sin disk og hælde det hele tilbage. Båndoptagere kan modtage fjernstyringsordrer med tidskode og selv spole frem og tilbage til det rette tidspunkt på båndet, så man kan side i fred og ro i sin magelige stol og koncentrere sig om mixning.

MIDI-koblingsudstyr

MIDI-apparater forbundet i serie MIDI-THROUGH-boxen tager et MIDI-IN signal ind som kopieres til flere MIDI-THROUGH-udgange. Ved størrer opsætninger med mange MIDI-apparater undgår man den forsinkelse der kommer ved at serieforbinde og det hjælper også til at gøre opstillingen mere overskuelig.

MIDI-apparater forbundet via Midi Merge-box MIDI-merger-boxen har flere MIDI-IN-stik og et eller flere MIDI-OUT-stik. Med denne kan man fx. sætte flere keyboards og computere osv. i MIDI-IN-stikkene og få et samlet MIDI-signal ud til et MIDI-lydmodul. Man skal dog sørge for at sende på forskellige MIDI-kanaler, for at undgå at dataene fra de forskellige apparater blandes sammen med fejl til følge.

MIDI-apparater forbundet via MIDI switch MIDI-switcher(mekanisk)/MIDI-patchbay(elektronisk) har flere MIDI-IN-stik og flere MIDI-OUT-stik, og ideen er at man kan vælge hvilke indgange der kobles til hvilke udgange. Derudover har MIDI-patchbay's ofte mulighed for at filtrere MIDI-signalerne så fx. SysEx-meddelelser og lydskift pilles fra eller oversættes.


MIDI-sproget

Jeg vil nu gå lidt tættere ind på sproget MIDI og hvad det kan gøre for os. MIDI er baseret på computer teknik og arbejder derfor med talkoder (Bits,Nibbles og Bytes). For at for forstå det er det desværre nødvendigt at sætte sig ind i 2-talssystemet, kaldet binære talsystem. Det gider jeg ikke spilde tid på, så her kommer nogle få fakta og dem der er interesseret kan så begrave sig i det på egen hånd.
Grunden til at det er praktisk at betragte kodernes værdier som binærværdi er at de der har lavet MIDI-systemet har besluttet at visse bits har en særlig betydning og hvis man ser på koderne i 10-talssystemet vil man ikke se logikken i kodernes værdier.
Drop det hvis det ikke er noget for dig.


Lynkursus i det binære talsystem

En Bit er et 1 eller et 0. I princippet sættes de sammen på samme måde som 10-talssystemet, hvor et tal der er længst til højre tæller enere og det næste til venstre for det tæller den mindste værdi der ikke kan tælles til med et cifer.(fik i den derude).
I vores 10-talssystem kan man tælle til 9 og den næste bliver 1 i mente og et nul. sådan: 10. I det binære system kan man tælle til 1 og menten svarer til værdien 2 sådan: 10 (= 2).
Hvergang man flytter en plads til venstre vil et 1-tal på den plads svare til den dobbelte værdi. Altså fra højre mod venstre vil et 1-tal svare til 1, 2, 4, 8, 16, 32, 64 og 128.
Et nul på de samme pladser vil selvføgelig svare til 0 uanset hvor det står.

For at finde den tilsvarende værdi i 10-talssystemet lægger man 1'ernes værdier sammen.
fx. bin: 10101010 = 128+0+32+0+8+0+2+0=170.

En byte er den grundliggende informationsenhed i systemet og kan antage 256 forskellige værdier
(0->255)(00000000->11111111).

En halv byte kaldes en nibble og består af 4 bits, som kan antage 16 værdier
(0->15)(0000->1111).

Derudover skal nævenes at første og sidste bit i en byte 11111111 kaldes MSb og LSb (bemærk det lille b):
MSb (most significant bit= mest betydende bit, yderst til venstre),
LSb (least significant bit= mindst betydende bit, yderst til højre).

Hvis 2 bytes(grupper af 8 bits) står ved siden af hinanden, vil den til venstre have 256 gange højere værdi end den til højre, fordi man kan tælle til 256 med en byte.

Derfor har man også navne for disse to enheder.(med stort B)
MSB (most significant byte= mest betydende byte, til venstre) LSB (least significant byte= mindst betydende byte, til højre).

Og nu til det sjove.

Hvad kan MIDI-sproget tilbyde os af service.

  1. CHANNEL MESSAGES(kanalmeddelelser)
    1. Channel voice messages.

      NOTE ON
      Tone start (fx. tryk på en tangent på en synth.)


      NOTE OFF
      Tone slut


      POLYPHONIC KEY PRESSURE
      Registrer kontinuerligt hvor hårdt en tangent holdes nede for hver tone.


      CONTROL CHANCE
      Forskellige kontrolværdier for volumen, blæsestyrke, pedaltryk osv.


      PROGRAM CHANGE
      Skift af lyd på synths, men bruges også af FX til programskift mm.


      CHANNEL PRESSURE
      Som POLYPHONIC KEY PRESSURE, men giver 1 værdi pr. kanal.


      PITCH BEND
      Ændrer tonehøjden med data fra PITCH BEND-hjulet på fx. synth.


    2. Channel mode messages.
      RESET ALL CONTROLLERS
      Sæt alle kontroller tilbage til startværdien (når der tændes for dimsen)


      LOKAL CONTROL ON/OFF
      Kobler den interne lydgengiver i tangentinstrumenter til eller fra.


      ALL NOTES OFF.
      Sluk for alle påbegyndte toner


      MIDI MODES 1, 2, 3, 4
      Vælg MIDI-mode. Se ovenfor.


  2. SYSTEM MESSAGES(systemmeddelelser), er uafhæning af MIDI-kanalerne.
    1. System Common messages.
      MIDI TIME CODE
      Tidsstyrekoder til synkronisering af MIDI og film/video.


      SONG POSITION POINTER
      Viser hvor man er i en sang.


      SONG SELECT
      Skift melodi fx i trommemaskine eller sequencer.


      TUNE REQUEST
      Anmoder om at analoge MIDI-maskiner stemmer sig selv.


      END OF SYSTEM EXCLUSIVE
      Afslutter en SYSTEM EXCLUSIVE meddelelse.


    2. System realtime messages.
      TIMING CLOCK
      MIDI-tids-ur der regner i dele af nodeværdier.


      START
      Starter sequencer/trommemaskine


      CONTINUE
      Fortsætter fra det punkt hvor sequencer/trommemaskine stoppede.


      STOP
      Stopper sequencer/trommemaskine.


      AKTIVE SENSING
      Send A.S. 3 gange/sek. så modtageren mærker at midimaskinen er der.


      SYSTEM RESET
      Sæt alle værdier tilbage til startværdien (når der tændes for dimsen)


    3. System exclusive messages
      MANUFACTURER SYSTEM EXCLUSIVE MESSAGE
      Sender meddelelser til MIDI-apparater af et bestemt fabrikat(fx.Yamaha eller Roland. Herunder bulkdump og indstillinger til fabrikatets specifikke modeller


      UNIVERSAL NON-COMMERCIAL SYSTEM EXCLUSIVE MESSAGE
      Sender meddelelser til MIDI-apparater der ikke har et manufacturer id. Dette kunne være en maskine du selv har bygget.


      UNIVERSAL NON-REAL TIME SYSTEM EXCLUSIVE MESSAGES
      Sender non-real time meddelelser til en bestemt Device-kanal, 0 -> 127, hvor kanal 127 modtages af alle.


      UNIVERSAL REAL TIME SYSTEM EXCLUSIVE MESSAGES
      Sender real time meddelelser til en bestemt Device-kanal, 0 -> 127, hvor kanal 127 modtages af alle.



Når der sendes en MIDI-meddelelse, der er kodet med kanal-nummer, vil den første byte altid være en status-byte der angiver hvilken type data der kommer efter. En status-byte er sammensat af 2 nibles: 1 statusnible der altid har 1 som mest betydende bit, MSbit (længst til venstre) og nible 2, der angiver et kanalnummer.

Det ser således ud i binær:
status MIDI-kanal
1001 0111
nible1 nible2=kanal 7

Generelt kan skrive en status-byte på formen:
status MIDI-kanal
1sss nnnn
Hvor sss angiver koden for de forskellige MIDI-meddelelser og nnnn er et kanalnr.

Bytes'ne kommer til at se således ud for de forskellige channel-messages:
status kanal Funktion
1001 nnnn Note-on
1000 nnnn Note-off
1010 nnnn Poly-Key-Presure
1101 nnnn Channel-Pressure
1100 nnnn Program Change
1011 nnnn Control Change
1110 nnnn Pitch Bend
1111 tttt System message, Hvor "t t t t" angiver typen.

------------------------------------------------
Efter en status-byte følger som regel 2 eller flere data-bytes afhænig af typen.
MSb, første bit, på en databyte er altid 0 (Eks. 01111111=127 er den største værdi).

Note-On:
status/MIDI-kanal Data-byte 1 Data-byte 2
1001/nnnn note number Attack Velocity
Tone på/kanal Nodeværdi Anslagshastighed
1-16 0-127 0-127
Tangent trykket ned


Data-byte 1:
Et normalt MIDI-klaver med 88 tangenter sender 21-108. 60 svarer normalt til C1.

Data-byte 2:
Angiver hvor hurtigt tangenten trykkes ned (tonens startstyrke).

Her er en tabel der viser de styrkeniveauer der normalt bruges i nodesystemer sammen med de tilsvarende midi-værdier.

0 23 36 49 64 75 88 101 114 127
Off ppp pp p mp mf f ff fff ffff

Bemærk at hvis Attack-Velocity er 0, vil det opfattes som en note-off-meddelelse. Dette gør det muligt at sende i "running mode", hvor en status-byte følges af mange pakker med data-bytes, indtil en ny status-byte, med MSb=1, sendes. Data-bytes'ne tolkes herefter udfra det format der hører til den nye status-byte.


Note-Off:
Sendes når en tone afsluttes på et MIDI-instrument.
status/MIDI-kanal Data-byte 1 Data-byte 2
1000/nnnn note number Release Velocity
Tone på/kanal Nodeværdi Sliphastighed
1-16 0-127 0-127
Tangent sluppet


Data-byte 1:
Som Note-On

Data-byte 2:
En hurtigere sliphastighed ( høj værdi ) giver ofte hurtigere udklingning af tonen, men kan programmeres til at gøre hvadsomhelst ved hjælp af indstillinger i det apparat der modtager MIDI-data.

Polyphonic Key Pressure/After touch:
status/MIDI-kanal Data-byte 1 Data-byte 2
1010/nnnn note number Pressure Value
Tone på/kanal Toneværdi Ny trykværdi
1-16 0-127 0-127
Tryk efter anslag, aflæst kontinuert


Data-byte 1:
Som Note-On

Data-byte 2:
Sender en ny værdi for hver tangent der er trykket ned lige så snart trykket ændrer sig.Findes kun på dyre keyboards. Sender mange data og derfor skabe problemer hvis mange instrumenter bruger samme MIDI-forbindelse. En almindelig anvendelse er til vibrato-styring, ved at ændre trykket efter en tangent er anslået.

Channel Key Pressure:
status/MIDI-kanal Data-byte 1 Data-byte 2
1101/nnnn last note number Channel Pressure Value
Tone på kanal Sidste Toneværdi Ny gruppetrykværdi
1-16 0-127 0-127
Fælles tryk efter anslag. Gennemsnit eller højeste værdi.


Data-byte 1:
Som Note-On, men hvis der er flere trykket ned ad gangen vælges den sidst nedtrykte.

Data-byte 2:
Sender en ny værdi for alle tangenter der er trykket ned (på den kanal) lige så snart trykket ændrer sig. Normalt sendes den højeste værdi, men nogle bedre keyboards beregner et gennemsnit, dette kaldes plastisk dynamik. Sender mange data og kan f.eks bruges til vibrato-styring ved at ændre trykket efter anslaget.


Program Chance:
status/MIDI-kanal Data-byte 1
1100/nnnn Pgm. mummer
1-16 0-127


Data-byte 1:
Det nye program nummer. På keyboards og lydmoduler bruges denne funktion til at skifte lyd. Der har i lange tider ikke været en standard for hvilke lyde der ligger på hvilke programpladser, men Roland har forsøgt at indføre en standard GM (General MIDI system Se kopi af side 73-74), som de ihvert fald selv holder fast ved. Enkelte andre fabrikanter er hoppet med, men det varer nok lidt før der kommer helt styr på denne del af MIDI-systemet.

En FX-maskine der modtager en P. C. skifter program og andre MIDI-maskiner kan gøre andre ting, f.eks tænde en kaffemaskine eller skifte CD (øh.. fremtidsmusik?).

Der kan opstå et problem med om det første program hedder 0 eller 1, så kan man får lyd 15 når man beder om nummer 14. Det påstås at nogle maskiner kan finde på at begynde endnu længere oppe i talrækken, men det er jeg ikke selv stødt på.


Control Chance:
status/MIDI-kanal Data-byte 1 Data-byte 2
1011/nnnn Kontrol nummer. Control Værdi
1-16 0-127 0-127


Controller ID Nr.(Databyte 1):
Angiver hvilken kontrolværdi der skal ændres.( se. vedlagte kopier af side 26-27). Disse værdier svarer til en knap, pedal, effekthjul eller andet som kan ændres real-time ved en lyd eller et program i en MIDI-maskine.

Controller Value(Databyte 2):
Den ny værdi kontrollen skal stilles på.

Der er 3 typer af kontroller:
  1. Continous controller er kontroller der hele tiden ændres.
  2. Switches er omskiftere ( tænd/sluk knapper ).
  3. Data controllers kan skrue 1 op eller ned for en valgt parameterværdi.
  4. Alle kontrolnumre der står "undefined" ved, er reserveret til senere brug og må ikke anvendes uden tilladelse fra MMA(MIDI Manufactures Association) der administrerer MIDI-sprogets brug og udvikling.

Disse controller sendes til en bestemt kanal:
  • Nr. 0-63 kaldes 14 bit kontroller fordi man kan sende 2 bytes for at få en højere opløsning (0-16383). Prisen er at man først skal sende en værdi (MSB) til kontrol nr. x og der efter en(LSB) til nr. x+32. Egentlig er det kun nogle få af disse kontroller, hvor man kan høre forskel(f.eks. breath:blæsestyring, Portamento Time:glisando tid, og data. Hvis X+32 ikke sendes sættes værdien(LSB) til 0, og man får så trin på 128 pr. stk.
  • Nr. 16-19 + 80-83 kan producenterne frit bruge til specielle funktioner for netop deres maskiner.
  • Nr. 64-67, 69 og 91-95 er omskiftere som kun tænder og slukker for en funktion (sustain, tremolo m. m.).
  • Nr. 96-97 kan skrue 1 op eller ned for en valgt parameterværdi. Se nedenunder.
  • Nr. 98-101 her kan man vælge hvilken parameter man vil ændre på. En parameter kan bruges til at indstille alt muligt. F.eks. kan man vælge en parameter der ændrer en hvilken som helst værdi i programmeringen af en synth. eller stille om på en rumklangs indstilling af rumstørrelse og hårdhed.
    Der er to typer NRPC(Non Registreted Parameter Controller) og RPC (Registreted Parameter Controller).
    At en parameter controller er registreret, betyder at producenten har fået godkendt parameterens funktion så den er blevet MIDI-standard. Det er disse controllere man skal have fat i når man skal trylle med nutidens fantastiske elektroniske vidundere. Her kan man komme helt ned i detaljen og justere alle facetter af de enkelte funktioner. Fx. størrelsen og formen på det rum, som en rumklang simulerer

Nr. 121-127 Channel Mode Messages:
  • Nr. 121(Databyte=0): Reset all controllers. Sætter alle kontrollers værdi på kanalen til startværdien(Default).
  • Nr. 122(Databyte:off=0/on=127): Lokal control off afbryder forbindelsen mellem tangenter og lydmodul i et keybord, så man kan spille via et externt lydmodul uden det indbyggede blander sig.
  • Nr. 123(Databyte=0): Al notes off sendes når toner "hænger", fordi de ikke har reageret på Note-Off-signal.
  • Nr. 124-127(Databyte=0): MIDI-Modes 1-4 er omtalt tidligere.

Pitch Bender:
status/MIDI-kanal Data-byte 1 Data-byte 2
1110/nnnn LSB MSB
1-16 0-127 0-127
To systemer for kodning af modulations-hjulet.(-8192 til +8191.)/(0 til +16383)

Databyte 1(LSB):
Mindst betydende byte af PB.-hjulets position.

Databyte 2(MSB):
Mest betydende byte af PB.-hjulets position. Sammen giver de mulighed for 16384 værdier.

Desværre kan disse værdier sendes efter 2 systemer, der begge bruges.
1. Hvilepositionen angives med 0 og værdierne går fra -8192 til +8191.
2. Hvilepositionen angives med 8192 og værdierne går fra 0 til +16383.
Hvis man kan finde ud af hvilken model systemet bruger, kan man med denne funktion hæve eller sænke tonen indenfor det antal halvtoner der er programmeret i "lyden"'s data.


MIDI-Tidskodesystemer:
MIDI-time code(MTC): TMC er beregnet til at samarbejde med video-/film-udstyr og derfor regnes i timer, minutter, sekunder og frames( 24, 25, 30, 30drop). Frames angiver hvor mange billeder hvert sekund deles i. 30drop er en hastighed, hvor der er 29,97 billeder pr. sekund, så man dropper 2 ekstra farmes ind hver 10. minut, for at få det til at passe helt præcist. Meddelelserne sendes 4 gange pr. frame, altså 120 gange ppr. sekund ved 30 f./s Kodningen af de tidskoder der sendes er ret komplex og jeg vil ikke gå i detaljer med det.

Full Messages:
Det bruges når hovedmaskinen f.eks. en videobåndoptager spoler båndet og sender de samme oplysninger om timer, munutter, sekunder og frames( 24, 25, 30, 30drop), men kun en gang hver frame. Det fylder 10 bytes, men belaster ikke systemet lige så meget som MTC. Når den så er nået frem til det ønskede sted, venter den til de andre maskiner melder at de også er nået frem til samme kode, så starter den med at sende MTC igen.

SMPTE(Society of Motion Picture and Televition Engineers):
Denne tidskode er udviklet af NASA for at kunne synkronisre billeder fra forskellige sende-stationer. Siden er det blevet den altdominerende standard indenfor radio, video og film. SMPTE deler tiden op i timer, minutter, sekunder frames( 24, 25, 30, 30drop) og Bits(80 billeddele). Der bruges 80 bits til alle værdier i en tidsangivelse(et tidspunkt).
Koden består af en firkantsvingning hvis klokkefrekvens normalt holdes indenfor 900hz.-2400hz. Eksperter kalder SMPTE for LTC(Longitudinal Time Code). Et problem med SMPTE er at man ikke kan køre langsommere end 1/10-1/20 af normal afspilningshastighed uden at koden bliver svær at læse, dette går dog normalt først ud over udlæsningen af bits og rettes op når næste korrekt læste tid er dekodet. Hvis du indspiller og afspiller SMPTE må du aldrig bruge filtrering eller støjreduktion, da det ødelægger firkantkurvens form.

For at få de 3 ovennævnte tidskoder til kommunikere med hinanden har nogle kloge personer udviklet DTL(Direct Time Lock) og DTLe(Advanced Direct Time Lock) som er forskellige konverteringssprog der oversætter koder mellem SMPTE og TMC/Full Messages. De kan fås som software til computere eller som boxe.


MIDI-Cueing Messages(MTC): Disse koder er en del af MTC-systemet og bruges til at sende styreordrer til apparater så som Studiebåndoptagere, harddiskrecordere osv.


Her en liste over nogle af de funktioner der kan sendes:

Set/slet Punch in points start her ved synkronisering af indspilning
Set/slet Punch out points. slut her ved synkronisering af indspilning
Set/slet Event start point. start event (hendelse f.eks. lydeffekt) her
Set/slet Event slut point. slut event (hendelse f.eks. lydeffekt) her
Set/slet cue point et sted man ønsker at der skal spoles til


Nodeværdier i forhold til MIDI-clock-tal MIDI Clock:
Dette system tæller taktslag og noder, sådan at forstå at der f.eks. (normalt) sendes 24 MIDI-Clock-meddelelser for hver fjerdedelsnode. Der bør kun være en MIDI Clock-master i et system. Det kan f.eks. være en computer der styrer en eller flere sequencere. Når de modtager signalet justeres hvor hurtigt de sender melodi-data. så alle spiller melodien med samme hastighed.(se bilag. Kopi af side 47)



Fortsættelse følger!




Skabt: 21.6.2009
Opdateret d. 16.4.2011
Via