HISTORIA - FÖRE MIDI

 

Det fanns en tid före MIDI. Den klassiska synten som vi var vana att se den på 60-talet var ett stort skåp som närmast liknade en telefonväxel. Modulerna i skåpet var byggstenar som vi idag känner igen från syntar, men också från mixerbord och t o m radioapparater: oscillatorer (tongeneratorer), filter, envelopegeneratorer, mixrar o s v. Dessa moduler producerade eller tog emot elektriska spänningar i form av ljud eller styrsignaler. De anslöts till varandra med patchkablar.

STYRNING

För att man ska ha någon nytta av t ex en oscillator krävs att den ska kunna ge ifrån sig en vågform, d v s att den ska "pipa". Men man måste också kunna ändra dess tonhöjd. Först och främst med en ratt på panelen, men också utifrån på något sätt, så att man t ex kan koppla till en klaviatur och få olika tonhöjd beroende på vilken tangent man spelar. Oscillatorn måste alltså ha en styringång.

Det vanligaste sätt var att skicka en likspänning och låta antalet Volt reglera tonhöjden. Ju högre spänning desto högre tonhöjd. Detta kallas spänningsstyrning. Skickar man ljudet från oscillatorn till en förstärkare kan man också reglera volymen. Är förstärkaren spänningsstyrd kan man använda en yttre spänning för att reglera volymen, o s v.

 

Bob Moog var ett hett namn på sextiotalet. En av de uppfinningar som lite orättmätigt tillskrivs honom är just användandet av spännings-styrning i synthesizers.

Det är viktigt att lägga märke till att de styrspänningarna endast används att påverka någon enstaka funktion i varje modul, t ex tonhöjden i en oscillator eller "gränsfrekvensen" i ett filter. De har alltså inte något direkt med ljudet att göra. Ljudet skapas och formas av oscillatorer, filter och förstärkare. Spänningarna används för att styra dessa moduler, och har ingen som helst kontakt med ljudet i sig.

MIDIS PRINCIP

Och det är i stora drag detsamma med MIDI. Det används endast för att tala om hur en synt ska uppföra sig, och dubblerar i många fall saker som man själv kan göra på synten. MIDI kan "spela" toner, och det är egentligen samma sak som när du själv trycker ned en tangent. MIDI kan lägga på vibrato och böja tonhöjden (PITCH-BEND), och gör det på samma sätt som när du använder hjulen på synten.

MIDI är alltså ett system för styrning av elektronisk musikutrustning, och har inget med ljud i sig att göra. Ett annat exempel på skillnaderna mellan digitalt ljud och digital styrning är att det går åt tiotusentals data-ord för att skapa en sekund digitalt ljud, medan det endast går åt sex ynka data-ord för att få MIDI att spela en komplett ton på en synt. En ton som kan vara hur lång som helst.

Ett sista exempel på MIDIs "dumhet". Det används ju bl a för att utifrån "trycka ned tangenter", men har ingen uppfattning om vad "det spelar på", en DX-7, en D-50 eller en Steinway-flygel med MIDI. Men faktum är att detta inte är någon nackdel, tvärtom är det tur att MIDI är så enkelt, annars hade det inte blivit den standard det är idag.

Tillbaks till forntiden. På äldre synthesizers (före MIDI) fanns ofta en eller flera uttag, märkta CV (Control Voltage = styrspänning) och Gate eller Trig. Med lite tur och mycket tålamod kunde man koppla ihop två instrument och använda den ena klaviaturen för att spela på båda. Men olika tillverkare använde olika system så det var bara vissa apparater som passade ihop. Dessutom stämde instrumenten sällan perfekt i tonhöjd. Och även om det fungerade så var resultaten för det mesta inte så imponerade att det

rättfärdigade arbetsinsatsen.

Men drömmen om det stora syntsystemet fanns där. Det gick att köpa lådor som genererade olika spänningar med rytmiska tidsintervaller. Koppla en sådan till oscillatorns ingång, och ser man på, en så kallad sequencer. En sådan kunde repetera sexton, eller kanske ännu fler (!) toner i en följd.

MIKROPROCESSORN

I slutet av sjuttiotalet var tiden mogen för den programmerbara synthesizern, Prophet-5, Oberheim OB-X, Roland Jupiter-8 o s v. Mikroprocessorerna hade blivit så pass kraftfulla och billiga att det var praktiskt möjligt att bygga instrument där de spelade en central roll. Inte för att på något sätt skapa ljud, utan endast för att övervaka klaviatur och knappar, omvandla information från dessa (nu spelar han en tangent, nu vrider han på en ratt...) till data för att sedan återvandla till spänning och till sist styra en eller flera ljudmoduler i synten. Moduler som byggde på precis samma gamla analoga system som Mini-moogen och tidigare instrument.

I en sådan här synt existerar alltså alla inställningar som data någonstans i datorns minne, vilket ger möjlighet att spara undan dessa någonstans för senare bruk, d v s att göra synten vad vi idag kallar för programmerbar. Tryck på en enda knapp och du får fram en mängd inställningar du gjort en minut eller ett år tidigare.

Eftersom datorn i ett sånt här instrument också övervakar klaviatur, och i princip "spelar" på själva synten, ligger det nära till hands att tänka sig att de datasignaler som skapas när man spelar också skickas vidare till annan utrustning. Eller att man kan ta emot data någonstans ifrån, för att utifrån spela på instrumentet. Vad man önskar sig är ett par sladdar som så att säga går direkt till/från mikroprocessorn. Man pratar om att synten har ett INTERFACE, på svenska egentligen gränssnitt, mot omvärlden. En kontakt där man kan ansluta annan datorutrustning för att sända och ta emot digital information. I det här fallet för att styra en synt.

OLIKA INTERFACE

Återigen hade olika tillverkare olika system vad gällde deras "digital-interface". En Oberheim synt fungerade bara ihop med en Oberheim sequencer o s v, även om funktionen hos de apparater som kom från varje tillverkare ofta liknade dagens MIDI-system väldigt mycket. Dags alltså för en standard. Historien förtäljer inte exakt hur det hela gick till, men Sequential och Roland stod för lejonparten av arbetet med att dra upp den specifikation som vi idag känner som MIDI. Och i en sån här text måste man väl nämna (för biljonte gången) att bokstäverna står för Musical Instrument Digital Interface. 1982 kopplades för första gången två syntar utrustade med MIDI samman. Det skedde på en mässa i USA, och de två lyckliga var en Sequential Prophet-600 och en Roland Jupiter-6.

På de kort som följer får du en grundläggande beskrivning av MIDI och anknutna begrepp. Du kan också hoppa direkt till det kort som intresserar dig.

 


FELSÖKNING


Du hör fler ljud än du tänkt dig.

Sänder du och tar emot på rätt midikanaler? Är synten Multitimbral? Kanske flera ljud är ställda att ta emot på samma MIDI-kanal utan att du märkt det.

Ett ljud spelas upp med konstiga dubbleringar eller flangereffekter.

Har du spelat in samma sak flera gånger? (det är lätt hänt när man spelar i en loop).

Det du ska spela in i sequencern hörs med konstiga dubbleringar eller flanger effekter.

Står synten inte i Local-Off? Är thru aktiverat i sequencern fast det inte ska vara det?

En synt hörs inte medan du ska spela in i sequencern.

Är thru inte aktiverat i sequencern? Skickar du till rätt utgång på sequencern (om den har flera)? Kommer data ut på fel midikanal när det går igenom sequencern? Är spåret mutat? Har du aktiverat några datafilter i sequencern? Tar du emot på rätt midikanal i synten? Har du valt ett program (kanske oavsiktligt via PROGRAM-CHANGE) som inte låter? Har du skickat MIDIvolym med värdet 0 till synten?

En synt spelar svagt eller starkt.

Har du skickat MIDIvolym med ett lågt/högt värde till synten?

En synt spelar transponerat eller falskt.

Har du aktiverat transponering i sequencern? Har du avslutat en inspelning utan att återställa PITCH-BEND till utgångsläge? Har du editerat så att PITCH-BEND data påverkats?

En synt har vibrato på hela tiden.

Har du avslutat en inspelning utan att återställa Modulation till utgångsläge? Har du editerat så att modulations-data påverkats?

Det går inte att styra volymen på en synt.

Kan synten verkligen ta emot MIDIvolym? Sänder du verkligen MIDIvolym till den? Har du stängt av mottagandet av alla Controllers i synten? Har du stängt av (eller inte slagit på) mottagandet av MIDIvolym i synten?

Dynamiken (anslaget) är konstigt.

Har du aktiverat en funktion i sequencern som påverkar Velocity? Har du valt en underlig velocity-kurva på synten eller på klaviaturen du spelar in med?

Ljuden klipps av.

Har rösterna i synten tagit slut? Är det en Roland synt? I sådana fall kan det tänkas att den sänder All-Notes-Off varje gång du lyfter alla fingrarna från tangentbordet. Detta kan påverka inspelningen i sequencern om du använder samma ljud på flera spår. Ta bort inspelade All Notes Off meddelanden.

Vissa toner låter inte.

Har rösterna tagit slut i synten? Har synten split keyboard? Har sequencern en splitfunktion som delar upp tonerna över klaviaturen? Har sequencern eller synten en funktion som påverkar (tar bort eller byter MIDIkanal på) toner med vissa anslag?

En synt eller effektenhet reagerar inte på programbyten.

Sänder du verkligen PROGRAM-CHANGE till den överhuvudtaget? Sänder du Program Change på rätt MIDIkanal? Är enheten inställd att reagera på Program Change ? På den MIDIkanalen? Sänder du ett högre Program Change nummer än apparaten reagerar på? Filtreras Program Change bort av sequencern? Vid inspelning? Vid uppspelning?

En eller flera toner hänger kvar.

Sänder du under Running-Status till en gammal synt? Har du editerat bort någon Note-Off?

En synt tar inte emot System Exclusive meddelanden.

Sänder du verkligen ut SYSTEM-EXCLUSIVE till den? Är synten inställd att reagera på System Exclusive? Står den i rätt läge för att reagera på System Exclusive? Är den inställd på rätt midikanal eller så kallat Device Number?

Du trycker på PLAY eller RECORD men sequencern startar inte.

Står den i External-Sync läge?

En sequencer eller trummaskin startar inte när du skickar synk till den.

Måste du kanske trycka på PLAY först? Sänder du MIDIklocka/MIDI-Time-Code till den? Är den inställd att reagera på MIDIklocka eller MIDI-Time-Code ? Står den i External-Sync läge? Sitter sladdarna som de ska? Använder du en mergebox eller midiväxel att köra synk och annan MIDIdata igenom? Klarar den MIDIklocka och/eller MIDI Time Code?

En sequencer eller trummaskin tappar synk mot band.

Är nivån från synksignalen på bandet för svag? För stark? Är bandspelaren rätt trimmad? Har du använt brusreducering på synkspåret? (det får man inte göra!) Använder du en mergebox eller midiväxel att köra synk och annan MIDIdata igenom? Klarar den MIDIklocka och/eller MIDI Time Code?

En sequencer eller trummaskin följer inte med när du spolar band eller annan trummaskin/sequencer.

Kan den läsa och reagera på Song-Position-Pointers?

En effektenhet reagerar inte på Controller meddelanden.

Sänder du verkligen Controller meddelanden till den överhuvudtaget? Sänder du dem på rätt midikanal? Är enheten inställd att reagera på Controller meddelanden? På den MIDIkanalen? Har du verkligen kopplat den parameter du vill ändra till rätt Controller nummer? Filtreras Controllermeddelanden bort av sequencern? Vid inspelning? Vid uppspelning?

En trummaskin spelar inte en trumma eller spelar, men fel trumljud.

Har du det trumljudet kopplat till rätt notnummer? Är ljudet inställt att ta emot på rätt midikanal?

På de följande korten finns datat i MIDIspecifikationen visad i tabeller. Här finns också några extra tabeller som kan vara användbara i vissa situationer. Dessa kort heter:

SAMMANFATTNING-AV-MIDIMEDDELANDEN CONTROLLER-TABELL MIDI-Mode-Tabell PROGRAM-CHANGE-TABELL BANK-SELECT-TABELL


 


HISTORIA - FÖRE MIDI


Det fanns en tid före MIDI. Den klassiska synten som vi var vana att se den på 60-talet var ett stort skåp som närmast liknade en telefonväxel. Modulerna i skåpet var byggstenar som vi idag känner igen från syntar, men också från mixerbord och t o m radioapparater: oscillatorer (tongeneratorer), filter, envelopegeneratorer, mixrar o s v. Dessa moduler producerade eller tog emot elektriska spänningar i form av ljud eller styrsignaler. De anslöts till varandra med patchkablar.

STYRNING

För att man ska ha någon nytta av t ex en oscillator krävs att den ska kunna ge ifrån sig en vågform, d v s att den ska "pipa". Men man måste också kunna ändra dess tonhöjd. Först och främst med en ratt på panelen, men också utifrån på något sätt, så att man t ex kan koppla till en klaviatur och få olika tonhöjd beroende på vilken tangent man spelar. Oscillatorn måste alltså ha en styringång.

Det vanligaste sätt var att skicka en likspänning och låta antalet Volt reglera tonhöjden. Ju högre spänning desto högre tonhöjd. Detta kallas spänningsstyrning. Skickar man ljudet från oscillatorn till en förstärkare kan man också reglera volymen. Är förstärkaren spänningsstyrd kan man använda en yttre spänning för att reglera volymen, o s v.

Bob Moog var ett hett namn på sextiotalet. En av de uppfinningar som lite orättmätigt tillskrivs honom är just användandet av spännings-styrning i synthesizers.

Det är viktigt att lägga märke till att de styrspänningarna endast används att påverka någon enstaka funktion i varje modul, t ex tonhöjden i en oscillator eller "gränsfrekvensen" i ett filter. De har alltså inte något direkt med ljudet att göra. Ljudet skapas och formas av oscillatorer, filter och förstärkare. Spänningarna används för att styra dessa moduler, och har ingen som helst kontakt med ljudet i sig.

MIDIS PRINCIP

Och det är i stora drag detsamma med MIDI. Det används endast för att tala om hur en synt ska uppföra sig, och dubblerar i många fall saker som man själv kan göra på synten. MIDI kan "spela" toner, och det är egentligen samma sak som när du själv trycker ned en tangent. MIDI kan lägga på vibrato och böja tonhöjden (PITCH-BEND), och gör det på samma sätt som när du använder hjulen på synten.

MIDI är alltså ett system för styrning av elektronisk musikutrustning, och har inget med ljud i sig att göra. Ett annat exempel på skillnaderna mellan digitalt ljud och digital styrning är att det går åt tiotusentals data-ord för att skapa en sekund digitalt ljud, medan det endast går åt sex ynka data-ord för att få MIDI att spela en komplett ton på en synt. En ton som kan vara hur lång som helst.

Ett sista exempel på MIDIs "dumhet". Det används ju bl a för att utifrån "trycka ned tangenter", men har ingen uppfattning om vad "det spelar på", en DX-7, en D-50 eller en Steinway-flygel med MIDI. Men faktum är att detta inte är någon nackdel, tvärtom är det tur att MIDI är så enkelt, annars hade det inte blivit den standard det är idag.

Tillbaks till forntiden. På äldre synthesizers (före MIDI) fanns ofta en eller flera uttag, märkta CV (Control Voltage = styrspänning) och Gate eller Trig. Med lite tur och mycket tålamod kunde man koppla ihop två instrument och använda den ena klaviaturen för att spela på båda. Men olika tillverkare använde olika system så det var bara vissa apparater som passade ihop. Dessutom stämde instrumenten sällan perfekt i tonhöjd. Och även om det fungerade så var resultaten för det mesta inte så imponerade att det rättfärdigade arbetsinsatsen.

Men drömmen om det stora syntsystemet fanns där. Det gick att köpa lådor som genererade olika spänningar med rytmiska tidsintervaller. Koppla en sådan till oscillatorns ingång, och ser man på, en så kallad sequencer. En sådan kunde repetera sexton, eller kanske ännu fler (!) toner i en följd.

MIKROPROCESSORN

I slutet av sjuttiotalet var tiden mogen för den programmerbara synthesizern, Prophet-5, Oberheim OB-X, Roland Jupiter-8 o s v. Mikroprocessorerna hade blivit så pass kraftfulla och billiga att det var praktiskt möjligt att bygga instrument där de spelade en central roll. Inte för att på något sätt skapa ljud, utan endast för att övervaka klaviatur och knappar, omvandla information från dessa (nu spelar han en tangent, nu vrider han på en ratt...) till data för att sedan återvandla till spänning och till sist styra en eller flera ljudmoduler i synten. Moduler som byggde på precis samma gamla analoga system som Mini-moogen och tidigare instrument.

I en sådan här synt existerar alltså alla inställningar som data någonstans i datorns minne, vilket ger möjlighet att spara undan dessa någonstans för senare bruk, d v s att göra synten vad vi idag kallar för programmerbar. Tryck på en enda knapp och du får fram en mängd inställningar du gjort en minut eller ett år tidigare.

Eftersom datorn i ett sånt här instrument också övervakar klaviatur, och i princip "spelar" på själva synten, ligger det nära till hands att tänka sig att de datasignaler som skapas när man spelar också skickas vidare till annan utrustning. Eller att man kan ta emot data någonstans ifrån, för att utifrån spela på instrumentet. Vad man önskar sig är ett par sladdar som så att säga går direkt till/från mikroprocessorn. Man pratar om att synten har ett INTERFACE, på svenska egentligen gränssnitt, mot omvärlden. En kontakt där man kan ansluta annan datorutrustning för att sända och ta emot digital information. I det här fallet för att styra en synt.

OLIKA INTERFACE

Återigen hade olika tillverkare olika system vad gällde deras "digital-interface". En Oberheim synt fungerade bara ihop med en Oberheim sequencer o s v, även om funktionen hos de apparater som kom från varje tillverkare ofta liknade dagens MIDI-system väldigt mycket. Dags alltså för en standard. Historien förtäljer inte exakt hur det hela gick till, men Sequential och Roland stod för lejonparten av arbetet med att dra upp den specifikation som vi idag känner som MIDI. Och i en sån här text måste man väl nämna (för biljonte gången) att bokstäverna står för Musical Instrument Digital Interface. 1982 kopplades för första gången två syntar utrustade med MIDI samman. Det skedde på en mässa i USA, och de två lyckliga var en Sequential Prophet-600 och en Roland Jupiter-6.

På de kort som följer får du en grundläggande beskrivning av MIDI och anknutna begrepp. Du kan också hoppa direkt till det kort som intresserar dig.

vad-är-midi?
MIDI-Maskinvara-och-programvara
midi-in
midi-out
midi-thru
MIDI-Seriell-överföring
midikanaler
multitimbralitet


 


MIDI, MASKINVARA OCH PROGRAMVARA


MIDI består av två delar, maskinvara och programvara.

MASKINVARA

Den första delen är en standard för maskinvaran som försäkrar att anslutningen mellan två MIDI-enheter inte ger några elektriska problem. All MIDI-utrustning använder samma typ av kontakter och elektriska standard.

Det finns inte en uppkoppling som du kan göra, eller något som du kan sända via MIDI, som kan skada något av dina instrument. (Det värsta som kan hända är att dina förprogrammerade ljud försvinner, ha alltid dom dokumenterade).

MIDIsignaler går bara åt ett håll i varje sladd. Därför finns det tre typer av MIDI anslutningar, midi-in, midi-out och midi-thru.

Mer om maskinvaran finns på korten markerade ovan och på kortet maskinvara.

PROGRAMVARA

Den andra delen är programvaran, MIDI-språket eller "meddelandena". Dessa är koder precis som Morsealfabetet, ASCII-tecknen eller någon annan internationell uppsättning av strikt definierade koder. Denna uppsättning MIDI-meddelanden används för att överföra musikaliska händelser, som ett anslag på en tangent eller rörelser på ett hjul för tonböjning.

MIDI var från början tänkt för att man skulle koppla ihop ett par tre syntar och få dubblerade ljud. Sedan dess har konceptet växt något enormt och innefattar allt från dragspel till teaterljus. Men de flesta som jobbar med MIDI använder det för sequencerarbete, och det är det denna elektronisk bok handlar om...

Se även korten SAMMANFATTNING-AV-MIDIMEDDELANDEN och MIDIteori--översikt.


 


MIDI, SERIELL ÖVERFÖRING


I MIDI sker ingenting samtidigt. Alla meddelanden kommer efter varandra på en lång rad, ofta toner och andra typer av MIDImeddelande huller om buller. All information kommer alltså i en lång serie och man säger därför att MIDI bygger på seriell överföring.

Det finns alltså ingenting som heter ackord när det gäller MIDI. Alla toner kommer efter varandra, det är bara tiderna emellan dem som gör att man uppfattar det som ett ackord. Kommer t ex tonerna C, E och G mycket tätt så uppfattar örat det som ett C-dur ackord. Kommer de med längre tidsintervall låter de som ett brutet ackord och med långt tidsintervall emellan tycker man att de är en del av en melodi.

I en MIDIsladd kommer alltså alltid alla meddelanden i en lång följd. Läs mer om effekterna av detta på kortet TIMING.


 


MIDI IN


Den typ av anslutning som används för att en apparat ska kunna ta emot MIDI data utifrån är MIDI In.

En apparat kan ha hur många MIDI In som helst. Å andra sidan finns det MIDIapparater utan In-anslutning. En gitarr till MIDI omvandlare kan t ex sakna MIDI In.

Se även midi-out, midi-thru och maskinvara.


 


MIDI OUT


En apparat som själv kan "hitta på" MIDI-data sänder ut detta via MIDI Out. Det kan vara någonting man spelat på apparatens klaviatur eller strängar, det kan var synk-information eller nåt annat och det kan naturligtvis vara flera typer av meddelanden blandat.

En apparat kan ha hur många MIDI-utgångar som helst, men måste inte ha någon MIDIutgång alls. Vissa ljudmoduler och effektenheter saknar t ex MIDI Out.

Man skiljer på separata utgångar, d v s sådana där det kommer ut olika data på varje utgång, och parallella utgångar som alla sänder ut samma data. En klaviatur (en synt) har för det mesta bara en MIDI Out, medan en avancerad sequencer eller dator kan ha t ex åtta separata MIDIutgångar.

Se även midi-in, midi-thru, maskinvara, SEQUENCERSPÅR-OCH-MIDIKANALER och INTERFACE.


 


MIDI THRU


Den tredje typen av MIDI anslutning heter MIDI Thru och är en typ av utgång (som midi-out), men skickar inte ut data som apparaten själv producerat, utan ekar endast sådant som kommit in via MIDI In. Detta är till för att man ska kunna seriekoppla många maskiner. Den första tar emot på MIDI In, skickar vidare samma information via sitt MIDI Thru, som är kopplat till nästa apparats midi-in. Den i sin tur ekar vidare via MIDI Thru o s v.

En synt, en effekt en dator eller liknade har normalt sett bara en Thru-anslutning.

Det som är viktigt att förstå i det här är att det som kommer ut på MIDI Thru inte innehåller några MIDI-data som en apparat själv har skapat, utan bara precis är en karbonkopia på det som kommit in via MIDI In.

Om man t ex vill använda två syntar för att spela på en tredje räcker det inte att att seriekoppla dem som beskrivet ovan, det är bara den första som det är någon mening att spela på. Den andra synten står förgäves och sänder ut sin klaviaturdata via sitt MIDI Out, utan att något är anslutet till den.

Passa er för att använda för många Thru-jackar i serie efter varandra. Det finns möjlighet att tappa data på det här sättet. En tumregel säger att inte mer än tre, fyra apparater ska anslutas via MIDI thru.

Ett bättre alternativ till att använda MIDI Thru är att skaffa en thru-box, eller t o m en komplett midiväxel, kanske programmerbar och med merge och andra processorfunktioner.

INGA FÖRDRÖJNINGAR

Observera att Thrukoppling via varje apparats MIDI Thru inte ger några fördröjningar, det är en gammal seglivad myt! Några mycket tidiga apparater hade det problemet, men de syns sällan till nuförtiden. Problemet med att använda maskiners Thrujackar istället för en Thrubox ligger i att man kan tappa signalen delvis eller helt och hållet, i slutet av kedjan. Således: antingen fungerar det med Thru eller så fungerar det inte alls. Fördröjningar blir det inte.

Se även midi-in, midi-out och maskinvara.


 


MIDIKANALER


MIDIkanaler är ett system för att separera MIDIinformationen, så att man i ett nätverk av sammankopplad MIDIutrustning kan skicka olika information till olika enheter.

När man arbetar med en sequencer är vitsen att ens syntar ska kunna producera trummor, bas, komp, solo o s v. Man gör inspelningar av MIDIdata i sequencern, som sedan spelar på syntarna. Hur ska man kunna skilja ut så att en viss stämma spelas av en viss synt och så att bara trummorna går till trummaskinen? Man skulle kunna dra en MIDI sladd från sequencern till varje instrument, men det blir snart opraktiskt. (Se sequenceruppkoppling för hur man verkligen kopplar) Istället kodar man själva MIDIdatat, med hjälp av MIDIkanaler.

Det första man måste förstå för att begripa MIDIkanaler är att det inte finns någonting som heter ackord eller samtidiga händelser när det gäller MIDI. Se kortet MIDI-Seriell-överföring.

ATT SÄNDA PÅ EN VISS KANAL

I varje MIDImeddelande finns ett kanalnummer inbakat. Exakt hur detta är uppbyggt beskrivs i MIDIKANALERNA-I-DETALJ. Om du ställer in en synt så att den "sänder på MIDIkanal 3" vilket du säkert kan göra genom tryckningar på panelen, så kommer alla toner som sänds ut (och flera andra typer av MIDImeddelanden med för den delen) att innehålla kanalnumret 3.

Från midi-out på en sequencer som spelar upp musik från flera spår kommer en ström av noter med ett sammelsurium av MIDIkanaler. Dessa går in i alla syntar i systemet som är sammankopplade med sequencern, via en thru-box eller midi-thru (se även sequenceruppkoppling).

ATT TA EMOT PÅ EN VISS KANAL

Om alla toner passerar in i alla syntar, varför spelar de då inte alla tonerna, pianot, basen stråkarna om vart annat? Jo därför att de är inställda på varsin MIDIkanal (eller flera MIDIkanaler var om de är multitimbrala). Om du ställer in din DX-7 på MIDIkanal 5 betyder det att den kollar alla toner som kommer in, men bara spelar de som har MIDIkanalnumret 5 inbakat i sig. Den struntar i alla andra. På så sätt kan man ställa in varje synt (eller varje ljud om synten är multitimbral) på en MIDIkanal och på så sätt separera basstämman från kompet och trummorna.

Men, slutsatsen av detta är alltså att i en MIDIsladd kan man skicka toner på alla sexton MIDIkanalerna samtidigt.


 


MULTITIMBRALA SYNTAR I SEQUENCERUPPKOPPLINGAR


Om man har en Multitimbral synt som sitt huvudinstrument i en sequenceruppkoppling gäller det att hålla tungan rätt i mun.

Man ställer först sin synt i sitt Multitimbrala läge (MULTI, COMBI eller vad det kan heta). Därefter väljer man ut ett antal ljud och ser till att de tar emot på varsin MIDIkanal. Sedan ska synten "naturligtvis" stå i Local-Off.

Klaviaturen används för att mata sequencern med notdata, PITCH-BEND, Aftertouch o s v. Sequencern skickar sedan ut denna information till ljuddelen in synten. Klaviaturen kan sända på en eller kanske två midikanaler (om den har split keyboard, kortet MASTER-KEYBOARD) men ljuddelen kanske kan ta emot på åtta eller fler MIDIkanaler.

ATT VÄLJA LJUD FÖR SPÅRET

Hur avgör man då vilket ljud i den multitimbrala synten som ett spår ska spela? Det beror på om sequencern arbetar med rechannelizing eller inte. Se också kortet SEQUENCERSPÅR-OCH-MIDIKANALER.

Om sequencern har rechannelizing så ställer man alltså uppspelnings-MIDIkanal i sequencern, när man väljer spår, och då spelar det ingen roll vilken/vilka MIDIkanaler klaviaturen i synten sänder på. Detta är det vanliga med avancerade sequencerprogram på persondatorer.

Eller så har sequencern inte rechannelizing. Då väljer man ljud före inspelning genom att se till att klaviaturen sänder på den MIDIkanal som det ljud man vill ha tar emot på. För varje pålägg med ett nytt ljud måste man se till att klaviaturen sänder på rätt MIDIkanal, för det ljudet. Detta är det vanliga med t ex Rolands sequencers.

Det viktiga är alltså att förstå att klaviaturen i synten sänder på en MIDIkanal medan varje ljud i synten tar emot på varsin MIDIkanal, och att dessa två saker går att ställa var för sig.

Se även korten UPPKOPPLING-2--EN-TYPISK-UPPSTÄLLNING-MED-SEQUENCER, Local-Off, multitimbralitet, och MIDI-MODER.


 


MULTITIMBRALITET


När man säger att en synt eller sampler är multitimbral menar man att den kan spela flera olika ljud på en gång, t ex bas, piano och trumset.

I en synt har man för det mesta en en mängd färdiga ljud. De kallas Program, Patches, Sounds, Timbres eller något liknande. Låt oss kalla det Program. Ett Program består av inställningar för oscillatorer, samples, filter, förstärkare, osv och utgör en enskild klang.

Om en synt är multitimbral kan man låta flera sådana Program ta emot på varsin MIDI-kanal. Det brukar gå till så att man gör ett så kallat Combi, Performance, Bank eller liknande (låt oss kalla det Combi) där varje Program kan ställas in så att det tar emot på en viss MIDI-kanal. Det är så man får separat piano, bas, trummor o s v ur en och samma synt. Men man måste kunna ställa andra parametrar för varje Program i Combit, t ex volym, omfång på klaviaturen, vilken utgång det går till och - som det brukar vara - en oändlig mängd "obegripliga" MIDIparametrar. Ofta kan man göra i ordning flera Combi-uppsättningar och spara dessa i syntens minne.

Dessutom brukar det finns en del inställningar för hela Combit, t ex om det ska reagera på PROGRAM-CHANGE.

Resultatet av att sätta en synt i Combiläge (även kallat Multi Mode) är att den uppför sig precis som om den var flera syntar, som var och en tar emot på en midikanal (och som var och en står i MIDI-Mode 3). Är två Program inställda på samma MIDIkanal får man dubbla ljud när man skickar toner på den kanalen.

Du kan läsa mer om exakt hur den multitimbrala synten fungerar i en sequenceruppkoppling om du dubbelklickar på MULTITIMBRALA-SYNTAR-I-SEQUENCERUPPKOPPLINGAR.

INTE BARA NOTER

Vi kan alltså skicka noter till Programmen individuellt, vilket faktiskt är bevis för att de separat kan ta emot alla MIDImeddelanden som kan skickas på en viss kanal. Man kan skicka PITCH-BEND till var och en, så att tonerna som spelas med ett ljud böjs utan att andra ljud påverkas. Man kan skicka PROGRAM-CHANGE så att ett av ljuden byts ut mot ett annat. man kan skicka Controllers till var och en så att man lägger på vibrato eller påverkar volymen eller panoreringen (mixar), o s v.

För det mesta finns det förutom en MIDIkanal för varje Program i en Combi också en global-MIDIkanal på vilken man kan skicka t ex Program Change för att byta hela Combit till en annan.


 


SEQUENCERSPÅR OCH MIDIKANALER


De flesta Sequencers arbetar med en bandspelaranalogi. Det finns inspelningsknapp, uppspelningsknapp, Fast Forward och Rewind. Det brukar också finnas spår, för att man ska kunna organisera sin inspelningar, lägga hihat på ett spår, baskagge och virvel på ett annat, bas på ett tredje o s v.

VAD HAR MAN SPÅR TILL?

Spår är alltså bara till för att man ska kunna organisera sina data på ett vettigt sätt. Man väljer inspelning på ett spår och trycker på Record. Man aktiverar kanske en Solofunktion så att man kan lyssna på ett spår i taget.

MÅNGA MIDIKANALER PÅ ETT SPÅR?

MIDIkanaler är någonting annat än spår. På ett spår kan nämligen ligga musik på en, två eller alla sexton MIDIkanalerna, det spelar ingen roll. Det beror som beskrivet på kortet midikanaler på att varje enskilt MIDImeddelande som finns lagrat i sequencern innehåller ett kanalnummer. De ligger där i en lång rad i sequencerns minne och väntar på uppspelning. När de sedan spelas upp går de ut till alla enheter i systemet, vars MIDIkanalinställning avgör om de kommer att höras eller inte.

SPÅR OCH UTGÅNGAR

Det är också vanligt om sequencern har flera MIDI Out, att man kan skicka ett spår till en viss utgång. På så sätt kan man få en sequencer att arbeta på flera än sexton MIDIkanaler. Man kan ju ha upp till sexton MIDIkanaler per utgång. Se även kortet INTERFACE.

EN MIDIKANAL PER SPÅR

Det är trots förklaringen om flera MIDIkanaler på ett spår ovan, vanligt att varje spår i en sequencer sänder på en, och bara en, viss MIDIkanal, bara för att det blir praktiskt och överskådligt på så vis.

Vad betyder då det? Jo om du spelar in musik på spår 3 i din sequencer och ställer in spåret så att det sänder på MIDIkanal 7 så kommer datorn att i uppspelningsögonblicket att byta ut MIDIkanalnumret i all MIDImeddelanden som ligger på det spåret, så att det blir 7 oavsett vad det var innan. Det här är mycket praktiskt och gör att man lätt kan prova att skicka ett spår till olika syntar utan att ändra sina MIDIkanalinställningar på själva syntarna. Man ändrar istället i sequencern vilken kanal spåret sänder på, kanske kan man t o m gör det medan musiken spelar.

RECHANNELIZING ELLER INTE?

Detta koncept kallas rechannelizing (omkanalisering) och beskrivs också i avsnittet MULTITIMBRALA-SYNTAR-I-SEQUENCERUPPKOPPLINGAR.

Alla sequencers jobbar inte på detta sätt, utan spelar alltid upp MIDIdata som det verkligen spelades in. Exempel är Rolands MC-sequencers.Det betyder att man redan från början måste se till att sända in på rätt MIDIkanal, genom att ställa in den på sin synt (eller vad man nu spelar in med). Många avancerade sequencers låter en arbeta på båda sätten genom att man kan ställa spåret på att antingen sända på en viss MIDIkanal eller på en sjuttonde inställning kallad "No", "Original", "True" eller något likande. Med denna inställning ändras alltså inga MIDIkanaler vid uppspelning från spåret, utan man får ut exakt de data man spelade in.

Rechannelizing vid uppspelning ska inte förväxlas med editering av MIDIkanaler, som är en funktion med vilken man permanent ändrar MIDIkanalvärden i sina inspelningar.

Det är också vanligt numera att sequencers har flera MIDI Out (se kortet midi-out).Då kan man ofta ställa in till vilken utgång och på vilken MIDIkanal ett visst spår ska sända. På så sätt har man kunna bryta vallen med sexton MIDI-kanaler och får istället sexton MIDI-kanaler per utgång.


 


TIMING


Det har pratats mycket under åren om fördröjningsproblem i MIDI- överföringen. Låt oss se på en del fakta. Se även kortet thru.

Att sända ett enkelt NOTE-ON meddelande via MIDI tar ungefär en millisekund (en tusendels sekund). Detta kan först och främst jämföras med den tid som det tar innan meddelandet egentligen sänds från det att du trycker på en tangent på MIDI-klaviaturen, en siffra som varierar mellan olika instrument. I bästa fall är det runt en millisekund (ms) och i värsta fall upp till 25 ms eller mer (med 5 till 10 ms som typiska värden). Lägg till detta reaktionstiden på synten som tar emot meddelandet, dvs den tid det tar från det att NOTE ON meddelandet kommer in på instrumentets midi-in och tills dess att det låter. Denna tid kan vara lika lång (eller kort) som klaviaturens reaktionstid.

Om man lägger samman dessa tider (upp till 50 millisekunder eller mer i värsta fall) så förstår man att MIDIs överföringshastighet (1 millisekund för en ton) är det minsta problemet i kedjan.

Det blir lite mer kritiskt när du spelar ackord, kanske till och med flera ackord på flera MIDI-kanaler samtidigt. I början av en takt kanske du har hihat, bastrumma, slagverk, en baston, fyra pianotoner, brass, syntljud och så vidare, alla inlagda för att låta precis samtidigt på första slaget. Detta kan bli något i stil med tio till tjugo noter om musiken är riktigt tät. Eftersom det inte finns något som heter "samtidiga-händelser" i MIDI (alla noter sänds efter varann, även i ett ackord) så finns det en tidsskillnad på så många millisekunder som det finns noter mellan den första och den sista (i vårt exempel mellan 10 och 20 ms). Detta är fortfarande mindre än den direkta responsen från flera klaviaturer som har accepterats av den stora allmänheten. Kom ihåg att ljudets hastighet i luft är ca 3 millisekunder per meter. Det värsta fallet med MIDI-fördröjningarna i vårt exempel motsvarar därför att ha medmusikanternas ljudkällor utspridda på ett avstånd av ungefär 6 meter.

Så även om MIDI självt normalt inte är problemet, så kan det hända att du måste kompensera för varje instruments interna fördröjning när du spelar upp från en sequencer. Se kortet FÖRDRÖJNING-AV-SPÅR.

Slagverksspelare har rätten att kräva snabbare reaktionstider än klaviaturspelare, eftersom de är mest känsliga för dessa saker. Det beror helt enkelt på den fysiska skillnaden på att slå på en trumma och att slå an en pianotangent.

Sequencers ska definitivt ge noter prioritet över andra MIDI- meddelanden för att alltid hålla känslan i musiken intakt. Musikern kan hjälpa till med detta genom att inte spela in oanvända MIDI-meddelanden som tangenttryck (Aftertouch). Om du fortfarande upplever problem så kanske du vill köpa extra maskinvara som ansluts direkt till din dator via en av dess snabbare utgångar och via den ger dig flera separata midi-out anslutningar. Blanda inte ihop detta med vanliga MIDI thru-boxar som inte alls påverkar tidshållningen.


 


ACTIVE SENSING


Detta meddelande är till för att försäkra sig om att sladdarna sitter i. Låt oss säga att du kopplat ihop två syntar. Den ena sänder Active Sensing, en fast kod, till den andra, många gånger per sekund. Om den mottagande synten upptäcker att dessa Active Sensing meddelande plötsligt slutar komma kan den gissa att sladden har ramlat ur, eller att något annat fatalt skett med den sändande synten. Då kan den stänga av alla toner som för tillfället låter.

Det här är praktiskt i en live situation, men ganska överflödigt när man arbetar med sequencer. De flesta sequencers gör inget vettigt av Active Sensing, och spelar absolut inte in den.


 


SYSTEM REAL TIME MESSAGES


Dessa meddelanden har med Timing och liknande att göra. Ingen av dem bär med sig några värden, utan är bara fasta koder för vissa specifika ändamål.

11111000 Timing-Clock 11111001 Undefined 11111010 Start 11111011 Continue 11111100 Stop 11111101 Undefined 11111110 Active Sensing 11111111 System Reset{\fs18 }


 


ATARI ST/TT


Detta är den i Europa mest populära musikdatorn, av tre skäl: den är billig, den har inbyggt MIDI och det finns en stor mängd program och andra tillbehör att välja på. Cirka 65 av all musikhantering i Sverige sker på denna dator. Å andra sidan är situationen i USA den omvända där ST:n faktiskt t o m kan vara svår att få tag på.

INTERFACE

Det finns flera extrainterface att få tag på till Atari ST, från olika tillverkare. Dessa förser datorn med extra MIDI in och out och i vissa fall även TIDKODsläsning och skrivning (se kortet INTERFACE).

MULTITASKING

Det finns möjlighet att köra flera musik\-program samtidigt (multitasking) på en och samma Atari ST, men eftersom det finns flera olika system för detta (i stort sett ett för varje stort programvaruhus) så kommer det att dröja innan denna hantering är praktiskt genom\-förbar med alla program som finns, om den någonsin blir det...

Ett varningens ord för er som använder eller tänker använda Atari. Tramiel och pojkarna bestämde sig för att två kontakter var allt man hade råd med, så Atari ST saknar midi-thru... trodde ni! För att spara pengar tog man det dåliga beslutet att använda de två lediga stiften på midi-out-kontakten som MIDI Thru. Ett absolut aja-baja om man tittar i MIDI-specifikationen. Dessutom har flera slarviga sladdtillverkare sålt MIDI-kablar där pinnar varit byglade, bara för att det är lättare att löda så. Om man kombinerar produkter från dessa slarvpellar får man en hårdvarubryggad MIDI Thru-koppling som ställer till en massa problem. Kolla sladdarna innan du köper!

Uppföljaren till ST:n heter TT, men denna är ännu (när detta skrivs) ett osäkert kort, bara ett programvaruhus har lovat att de ska göra nya program eller anpassa gamla till denna modell.


 


BANK SELECT


En ganska ny kod i MIDI-standarden heter Bank Select och är till för att råda bot på problem med PROGRAM-CHANGE. De flesta maskiner har på ett eller annat sätt delat upp sina program i banker, så det här meddelandet används alltså precis som program change, fast för att välja en bank. Efter det kan man med vanligt program change välja ett program ur banken. Det finns en tabell-för-Bank-Select på ett annat kort där den exakta koden visas, för er som bryr er om det, men det räcker långt att veta att man använt två stycken tidigare ospecificerade controllernummmer för att kunna sätta ihop Banknummer mellan 0 och 16384.

Vad ska man med så många banker till? Om vi ser på samplehantering t ex, finns det redan i dag CD-ROM skivor med hundratals banker med ljud, och andra optiska lagringsmedia lovar ännu högre kapacitet i framtiden. Så Bank Select kan komma väl till pass för att välja bland ett stort antal ljudbanker med t ex ljudeffekter.

Men Bank Select dök upp i Augusti 1990, så maskiner producerade före detta datum kan inte gärna ha funktionen implementerad (=inbyggd i programvaran).


 


BANK SELECT TABELL


Hexadecimalt Binärt

Bn              1011nnnn     Cont. Controller Status Byte

00              00000000     Bank Select MSB

vv              0vvvvvvv     Data Value MSB (endast 0-127)

 

Bn              1011nnnn     Cont. Controller Status Byte

20              00100000     Bank Select LSB

vv              0vvvvvvv     Data Value LSB (endast 0-127)

n/nnnn=MIDIkanalen vv/vvvvvvv=värdet (se nedan)

MSB- och LSB-värdena formar tillsammans banknumret enligt följande (hexadecimalt)

MSB    LSB

===    ===

00     00    Bank1

00     7F    Bank 128

01     00    Bank 129

01     01    Bank 130

7F     7F    Bank 16384


 


CHANNEL MODE MEDDELANDEN


Controllers 121 till 127 är mycket speciella, och kallas för CHANNEL-MODE-MESSAGES, därför att de bland annat används för att försätta en synt i något av de fyra MIDI-moderna. De används sällan, så när som på två stycken. All Notes Off (123) är väl den allra viktigaste, eftersom den är till för att stänga av alla toner som för tillfället "hängt sig" på grund av uteblivna Note-Off meddelanden. Om din synt eller MIDI-växel har en panikfunktion, så bör den bland annat innebära att All Notes Off sänds ut på alla MIDI-kanaler. Reset all Controllers (121) återställer alla hjul och pedaler till ett tänkt nolläge.

På ett speciellt kort finns en tabell-över-alla-Controllers.


 


CHANNEL MODE MESSAGES


I denna grupp återfinns de sista sju controllernumren, som används till mycket speciella ändamål. Flera av dem fungerar dessutom som All-Notes-Off.

Cntrllerstatus Cntrllernummer Värde & kanalnummer

1011nnnn        0ccccccc        0vvvvvvv

                 ccccccc = 121  Reset All Controllers

                 ccccccc = 122: Local Control On/Off

                 ccccccc = 123: All Notes Off

                 ccccccc = 124: Omni Mode Off (All Notes Off)

                 ccccccc = 125: Omni Mode On  (All Notes Off)

                 ccccccc = 126: Mono Mode On  (Poly Mode Off)

                                              (All Notes Off)

                 ccccccc = 127: Poly Mode On  (Mono Mode Off)

                                              (All Notes Off)

 


 


CHANNEL PRESSURE


Channel Pressure är tryckkänslighet som är gemensam för all tangenterna på en hel klaviatur. Ej att förväxla med POLYPHONIC-KEY-PRESSURE, eller Velocity.

De flesta moderna klaviaturer är tryckkänsliga. Det betyder att de kan känna av tryck på tangenterna efter att de kommit ned i botten. För det mesta är tryckkänsligheten inte avläst per tangent, vilket betyder att det inte spelar någon roll om man trycker på en tangent eller alla, det är hela klaviaturen som läses av. Därför ger den här typen av tryckkänslighet också samma mängd påverkan på alla toner som klingar, inte olika på var och en.

På "MIDIska" kallas det meddelande som används för detta officiellt för Channel Pressure, men ibland benämns det som Aftertouch, som bara Pressure eller t o m Monofon Pressure. Channel Pressure används ofta för att lägga på mer vibrato vid tryck, men man kan använda det till volymändringar, filtervariationer (ljusare eller mörkare klang), volym, styrning av hastigheten på vibratot, eller varför inte för tonhöjdsändringar, som en form av pitch bend.

Observera att man ofta kan ställa in om en synt ska skicka och/eller ta emot Channel Pressure. Om den är multitimbral kan man ofta göra en sådan mottagarinställning per Program och en sändarinställning separat för klaviaturen.

Återigen, MIDI har ingen uppfattning om vad man gör av siffrorna, det bara förmedlar det faktum att man tryckt på tangenterna efter att de kommit i botten. Ofta kan man på en synt välja vad Channel Pressure ska användas till, och kopplar man det till volym kan det vara ett sätt att via MIDI åstadkomma datamix på äldre syntar som inte klarar av det mer moderna sättet med controllermeddelanden.

Se även kortet POLYPHONIC-KEY-PRESSURE.


 


CHANNEL VOICE MESSAGES


I denna grupp återfinns de meddelanden som man kan skicka på en viss midikanal. De består av en Status-Byte som dels innehåller koden för meddelandet och dessutom MIDIkanalnumret. Därefter följer en eller två databyte.

Statusbyte Databyte 1 Databyte 2 Kommentar

1000nnnn       0kkkkkkk      0vvvvvvv      Note-Off,

                                           k=tangentnummer

                                           v= Note Off velocity

 

1001nnnn       0kkkkkkk      0vvvvvvv      NOTE-ON,

                                           k=tangentnummer

                                           v= Note On velocity

                                           vvvvvvv=0 = Note Off

 

1010nnnn       0kkkkkkk      0vvvvvvv      Poly-Key-Pressure

                                           (Aftertouch)

                                           k=tangentnummer.

                                           v= mängd pressure.

 

1011nnnn       0ccccccc      0vvvvvvv      Control-Change, c =

                                           controllernummer

                                           # (0-121).

                                           v=controllervärde

                                           c=122 till 127:

                                           Reserverat för

                                           Channel-Mode-medd.

 

1100nnnn       0ppppppp                    PROGRAM-CHANGE

                                           p=prognummer (0-127)

 

1101nnnn       0vvvvvvv                    CHANNEL-PRESSURE

                                           (After-Touch)

                                           v=pressure value

 

1110nnnn       0vvvvvvv      0vvvvvvv      PITCH-BEND

                                           v= LSB/MSB

 

NOTERINGAR: nnnn= midikanal 1-16


 


CONTROLLER TABELL


Decimalt nummer Definition

       0          BANK-SELECT MSB

       1          Modulation wheel or lever

       2          Breath Controller

       3          Undefined

       4          Foot Controller

       5          Portamento Time

       6          Data Entry MSB

       7          Main-Volume (MIDIvolym)

       8          Balance

       9          Undefined

       10         Pan

       11         Expression controller

       12         Control 1 (effekttyp)

       13         Control 2 (effekttyp)

       14-15      Undefined

       16-19      General Purpose Controllers 1-4

       20-31      Undefined

       32         Bank Select LSB

       33-63      LSB for Controllers 1-31

       64         Damper pedal (sustain)

       65         Portamento

       66         Sostenuto

       67         Soft pedal

       68         Undefined

       69         Hold 2

       70-79      Undefined

       80-83      General Purpose Controllers 5-8

       84-90      Undefined

       91         Effect 1

       92         Effect 2 (Tremolo Depth)

       93         Effect 3 (Chorus depth)

       94         Effect 4 (Celeste depth)

       95         Effect 5 (Phaser depth)

       96         Data increment

       97         Data decrement

       98         Non registered Parameter Number LSB

       99         Non registered Parameter Number MSB

       100        Registered Parameter Number LSB

       101        Registered Parameter Number MSB

       102-120    Undefined

       121-127    Channel-Mode messages (se det kortet)

 

Några punkter att förklara om listan med controllers.

Controller 33-63 är märkta som "LSB for Values 1-31". Det var tänkt för att situationer när man inte tyckte att det dög med 127 värden på en inställning (det gör det nästan alltid), så då skulle man koppla ihop två meddelanden till ett långt, extra noggrant. Används nästan aldrig.

Controller Switches funkar oftast så att 0 är "av" och 127 är "på", men det har rått lite förvirring tidigare om vad som ska gälla.

Det finns alltså "bara" 127 olika controllernummer, och man har ansett att det inte räcker. Controllers 98 till 101 är resultatet av ett försök att utöka antalet genom att på ett krångligt sätt förlänga nummerserien. Det har inte slagit igenom något vidare, och det är synd, för "Non-registered Parameter Numbers" är enligt MIDI-standarden tänkta för att man ska kunna påverka vilken parameter som helst i vilken apparat som helst via MIDI. Få tillverkare har lyssnat och lagt in detta.


 


CONTROLLERS


Controllers är ett samlingsnamn för de flesta reglage som man kan använda för att påverka sina ljud. (PITCH-BEND är dock inte en controller).

NUMRERAS

Det finns ett flertal saker man kan trycka på, dra i, blåsa i o s v på en synthesizer. Och alla dessa vill man förstås kommunicera via MIDI, för att kunna fjärrstyra syntar och spela in sina rörelser i en sequencer. För att alla dessa olika "reglage" ska kunna klämmas in i ett koncept så har man helt enkelt valt att kalla dem alla för controllers. Hur skiljer man dem då åt?

Genom att numrera dem.

Man skickar först ett meddelande som talar att det är fråga om just en controller, och på vilken midikanal den kommer. Sedan följer man upp med en siffra som talar om vilken controller det är fråga om, och till sist dess värde, d v s vilket läge den just nu har. Ett exempel: 176, 001, 127 (i vanliga decimala siffror) betyder: controller på MIDIkanal 1, modulationshjul, fullt utslag. Rör man på ett modulationshjul så sänds en ström controllermeddelanden ut, inte bara ett enstaka, och vart och ett motsvarar hjulets position i ett visst ögonblick. På ett annat kort finns en tabell-över-alla-Controllers.

Observera att man ofta kan ställa in om en synt ska skicka och/eller ta emot Controllers, ofta olika controllernummer var för sig. Om synten är multitimbral kan man ofta göra denna mottagarinställningen per Program och sändarinställningen separat för reglagen på panelen.

OLIKA VÄL DEFINIERADE

Några av controllernumren har en väldefinierad funktion, t ex just modulationshjulet (01). Vissa är tänkta för kontinuerliga ändringar och kallas då för continuous controllers, medan andra är omkopplare (av/på) och kallas controller switches. Exempel på controllers tänkta för omkoppling är Damper Pedal (sustain) och Data Increment/Decrement. Vissa nummer är inte alls definierade (Undefined) och åter andra får användas till lite vad som helst (General Purpose Controllers).

Se även korten: Controllers-på-en-typisk-synt, och Channel-Mode-meddelanden.


 


DATORER OCH MIDI - ÖVERSIKT


VAD HAR MAN DATORN TILL?

Den vanligaste användningen för en dator i MIDIsammanhang är som sequencer. Men det finns fler områden där datorn kan komma in. Genom att skicka och ta emot SYSTEM-EXCLUSIVE kan man via datorn ändra en apparats inställningar, t ex "ratta in" ett nytt ljud. Man kan också begära in en komplett karta över en viss maskins inställningar så att dessa kan sparas tillsammans med musiken på diskett, för senare bruk med samma apparat eller en annan av samma modell. Datorprogram för dessa funktioner kallas editorer (visar inställningar på skärmen) och biblioteksprogram, (hanterar arkivering och katalogisering av ljud).Dessutom kan datorn användas för mixning.

MULTITASKING

Det blir mer och mer en önskan att kunna flera program samtidigt med sin sequencer, på samma dator så att inspelning, mixning och ljudskapande blir en integrerad process. Om en dator kan köra flera program samtidigt har den något som kallas för multitasking. \tx9620

NOTER

Musik som visas som noter på skärmen går förstås att skriva ut på skri\-vare. Men eftersom noter är ett komplicerat och icke-absolut språk så krävs speciella program för den som vill skapa riktiga notbilder per maskin. Notutskrift på dator är ett område behäftat med sina alldeles egna problem.

DATORN SOM LJUDKÄLLA

Observera än en gång att persondatorn för det mesta endast använts för MIDIstyrning av utrustning, den har sällan haft någon del i själva ljudet. Detta håller dock långsamt på att ändras i och med att samplers och andra digitala ljudsystem långsamt blir en integrerad del av själva datorn, genom instickskort och "lådor" som man kopplar till.

På de följande korten kan du läsa om följande ämnen som rör datorer: INTERFACE DATORMÄRKEN ATARI-ST/TT APPLE-MACINTOSH COMMODORE-AMIGA MS-DOS-DATORER-(PC) MIDI-FILER


 


ETT NOTMEDDELANDE I DETALJ


Vad händer egentligen när man trycker ned en tangent på sin synt? Syntens interna mikroprocessor läser av klaviaturen, så den vet att en tangent trycktes ned, den vet också vilken tangent det var och hur hårt det skedde (eller egentligen: hur snabbt). Denna information omvandlar synten till MIDI och skickar ut via midi-out utan att ha en aning om det finns någon mottagare i andra ändan. Det datapaket som den skickar ut ser ut så här:

Byte 1: 1001kkkk Byte 2: 0ttttttt Byte 3: 0vvvvvvv

Krångligt? Det du ser är alltså tre databyte (uttalas data-bajt), ordnade som ettor och nollor. Bokstäverna betyder bara att vi inte fyllt i alla siffror eftersom vi inte ännu sagt något om t ex vilken MIDI-kanal eller tangent det ska vara, men vi ska strax byta ut bokstäverna mot siffror.

Varje byte är alltså skriven som åtta ettor/nollor, d v s att den kan representera ett tal mellan 0 (00000000) och 255 (11111111).

STATUS BYTE

Den första halvan av den första byten (1001) är helt enkelt den fasta koden för "påbörja ton" (NOTE-ON), och det är inget man behöver förstå, det är bara något som MIDI-gurusen bestämt, andra MIDIhändelser har andra koder. Den andra halvan av den första byten (skriven som kkkk ovan) kan vara litet vad som helst. Genom olika kombinationer kan dessa fyra bitar nämligen representera ett tal mellan 1 och 16, MIDI-kanalen.

Bytes som börjar med 1 innehåller alltid en specifik MIDIkod och kallas Status Bytes. Ofta innehåller de också ett MIDIkanalnummer.

DATA BYTE 1

Den andra byten börjar alltid med 0, därför att den är ett värde (återigen inget att förstå, det bara är så). De följande sju bitarna (t:na) kan vara vilka siffror som helst, och utgör ett tal mellan 0 och 127, som betyder vilken tangent det var som trycktes ned (observera tangent, inte tonhöjd). Den C-tangent som ligger mitt på en vanlig fem oktavers klaviatur har nummer 60, C#:et ovanför denna har nummer 61, D:et därefter har nummer 62 o s v. Men, ingen klaviatur som vi har sett har 127 tangenter, och de flesta syntar reagerar heller inte på MIDI-meddelanden som innehåller de allra lägsta och högsta tangentnumren (kanske kan de komma till pass någon gång för jordbävningssimulation eller delfinkommunikation?).

DATA BYTE 2

Den tredje byten börjar också med 0 och följs av ett värde mellan 0 och 127, som motsvarar anslagsstyrkan i tangenttrycket, på engelska Velocity. Detta värde används av mottagarsynten för att bestämma t ex hur stark tonen ska bli eller vilken klang den ska ha, så att ljudet kan bli olika beroende på hur hårt man spelar.

Värdeord börjar alltid med 0 och kallas Data bytes.

Det var väl inte så mycket? Dessa tre byte är allt som krävs för att starta en ton på en mottagarsynt. Medan tangenten är nere sänds ingenting. Note On koden slår på tonen och den låter sedan tills den stängs av med ett annat meddelande kallat Note Off. Detta ser precis ut som Note On, det är bara den första koden som är 1000 istället för 1001. Velocity värdet som ingår i detta kallas då Release-Velocity.

Nu kommer det allra viktigaste: När man trycker ned tangenten sänds denna kod ut, men det säger egentligen ingenting om vad man får höra! Du trycker ned ett C, men mottagarsynten kanske är inställd så att den transponerar alla toner ett helt tonsteg uppåt, så den ton du hör är ett D! Du trycker ned tangenten så snabbt du kan, men mottagarsynten kanske inte är inställd att låta ljudet variera med anslaget, så velocityvärdet är egentligen ointressant. Med andra ord: MIDI sänder bara styrkoder som talar om vad du gjort med en klaviatur, ett modulationshjul, en dataregel, en fotpedal eller liknande, MIDI säger egentligen ingenting om exakt vilket musikaliskt resultat detta ska få.

Hoppa gärna direkt till MIDIKANALERNA-I-DETALJ.


 


FELSÖKNING


På detta kort finns en rad möjliga problem som kan dyka upp i arbete med sequencers. Efter varje följer en kort förklaring och ett eller flera fetstilshopp som gör att du kan söka efter detaljerna på respektive kort.

Synten du spelar på låter inte.

Är strömmen på? Är volymen uppdragen? Har du trampat på någon volympedal? Är den rätt uppkopplad och är den övriga ljudutrustningen riktig? Står synten i Local-Off? Har du valt ett program (kanske oavsiktligt via PROGRAM-CHANGE) som inte låter? Har du skickat MIDIvolym med värdet 0 till synten?

En av av ljudmodulerna låter inte.

Är strömmen på? Är volymen uppdragen? Är den rätt uppkopplad och är den övriga ljudutrustningen riktig? Sänder du på rätt midikanal? Är den inställd att ta emot på rätt midikanal? Har du valt ett program (kanske oavsiktligt via PROGRAM-CHANGE) som inte låter? Har du skickat MIDIvolym med värdet 0 till den?

Inget blir inspelat i sequencern, fast den startar som den ska.

Kommer det ut MIDIdata från det du spelar på? Filtrerar du bort någon typ av MIDIdata i sequencern? Är just den ingången på sequencern aktiverad? (om den har flera) Har du kopplat rätt (midi-out till midi-in).

Inget låter när du spelar upp från sequencern.

Kommer det ut MIDIdata från sequencern? Skickar du till rätt utgång på sequencern (om den har flera)? Är alla spår mutade (solo funktionen aktiverad)?

En viss synt låter inte när du spelar upp från sequencern.

Är spåret du sänder på mutat? Sänder du på rätt midikanal? Skickar du till rätt utgång på sequencern (om den har flera)? Tar du emot på rätt midikanal i synten? Har du aktiverat några datafilter i sequencern? Har du valt ett program (kanske oavsiktligt via PROGRAM-CHANGE) som inte låter? Har du skickat MIDIvolym med värdet 0 till den?

Ett visst spår i sequencern hörs inte.

Se ovan

En synt spelar med fel ljud.

Sänder du och tar emot på rätt midikanaler? Har du valt ett program (kanske oavsiktligt via PROGRAM-CHANGE) som inte låter?

Du hör fler ljud än du tänkt dig.

Sänder du och tar emot på rätt midikanaler? Är synten Multitimbral? Kanske flera ljud är ställda att ta emot på samma MIDI-kanal utan att du märkt det.

Ett ljud spelas upp med konstiga dubbleringar eller flangereffekter.

Har du spelat in samma sak flera gånger? (det är lätt hänt när man spelar i en loop).

Det du ska spela in i sequencern hörs med konstiga dubbleringar eller flanger effekter.

Står synten inte i Local-Off? Är thru aktiverat i sequencern fast det inte ska vara det?

En synt hörs inte medan du ska spela in i sequencern.

Är thru inte aktiverat i sequencern? Skickar du till rätt utgång på sequencern (om den har flera)? Kommer data ut på fel midikanal när det går igenom sequencern? Är spåret mutat? Har du aktiverat några datafilter i sequencern? Tar du emot på rätt midikanal i synten? Har du valt ett program (kanske oavsiktligt via PROGRAM-CHANGE) som inte låter? Har du skickat MIDIvolym med värdet 0 till synten?

En synt spelar svagt eller starkt.

Har du skickat MIDIvolym med ett lågt/högt värde till synten?

En synt spelar transponerat eller falskt.

Har du aktiverat transponering i sequencern? Har du avslutat en inspelning utan att återställa PITCH-BEND till utgångsläge? Har du editerat så att PITCH-BEND data påverkats?

En synt har vibrato på hela tiden.

Har du avslutat en inspelning utan att återställa Modulation till utgångsläge? Har du editerat så att modulations-data påverkats?

Det går inte att styra volymen på en synt.

Kan synten verkligen ta emot MIDIvolym? Sänder du verkligen MIDIvolym till den? Har du stängt av mottagandet av alla Controllers i synten? Har du stängt av (eller inte slagit på) mottagandet av MIDIvolym i synten?

Dynamiken (anslaget) är konstigt.

Har du aktiverat en funktion i sequencern som påverkar Velocity? Har du valt en underlig velocity-kurva på synten eller på klaviaturen du spelar in med?

Ljuden klipps av.

Har rösterna i synten tagit slut? Är det en Roland synt? I sådana fall kan det tänkas att den sänder All-Notes-Off varje gång du lyfter alla fingrarna från tangentbordet. Detta kan påverka inspelningen i sequencern om du använder samma ljud på flera spår. Ta bort inspelade All Notes Off meddelanden.

Vissa toner låter inte.

Har rösterna tagit slut i synten? Har synten split keyboard? Har sequencern en splitfunktion som delar upp tonerna över klaviaturen? Har sequencern eller synten en funktion som påverkar (tar bort eller byter MIDIkanal på) toner med vissa anslag?

En synt eller effektenhet reagerar inte på programbyten.

Sänder du verkligen PROGRAM-CHANGE till den överhuvudtaget? Sänder du Program Change på rätt MIDIkanal? Är enheten inställd att reagera på Program Change ? På den MIDIkanalen? Sänder du ett högre Program Change nummer än apparaten reagerar på? Filtreras Program Change bort av sequencern? Vid inspelning? Vid uppspelning?

En eller flera toner hänger kvar.

Sänder du under Running-Status till en gammal synt? Har du editerat bort någon Note-Off?

En synt tar inte emot System Exclusive meddelanden.

Sänder du verkligen ut SYSTEM-EXCLUSIVE till den? Är synten inställd att reagera på System Exclusive? Står den i rätt läge för att reagera på System Exclusive? Är den inställd på rätt midikanal eller så kallat Device Number?

Du trycker på PLAY eller RECORD men sequencern startar inte.

Står den i External-Sync läge?

En sequencer eller trummaskin startar inte när du skickar synk till den.

Måste du kanske trycka på PLAY först? Sänder du MIDIklocka/MIDI-Time-Code till den? Är den inställd att reagera på MIDIklocka eller MIDI-Time-Code ? Står den i External-Sync läge? Sitter sladdarna som de ska? Använder du en mergebox eller midiväxel att köra synk och annan MIDIdata igenom? Klarar den MIDIklocka och/eller MIDI Time Code?

En sequencer eller trummaskin tappar synk mot band.

Är nivån från synksignalen på bandet för svag? För stark? Är bandspelaren rätt trimmad? Har du använt brusreducering på synkspåret? (det får man inte göra!) Använder du en mergebox eller midiväxel att köra synk och annan MIDIdata igenom? Klarar den MIDIklocka och/eller MIDI Time Code?

En sequencer eller trummaskin följer inte med när du spolar band eller annan trummaskin/sequencer.

Kan den läsa och reagera på Song-Position-Pointers?

En effektenhet reagerar inte på Controller meddelanden.

Sänder du verkligen Controller meddelanden till den överhuvudtaget? Sänder du dem på rätt midikanal? Är enheten inställd att reagera på Controller meddelanden? På den MIDIkanalen? Har du verkligen kopplat den parameter du vill ändra till rätt Controller nummer? Filtreras Controllermeddelanden bort av sequencern? Vid inspelning? Vid uppspelning?

En trummaskin spelar inte en trumma eller spelar, men fel trumljud.

Har du det trumljudet kopplat till rätt notnummer? Är ljudet inställt att ta emot på rätt midikanal?

På de följande korten finns datat i MIDIspecifikationen visad i tabeller. Här finns också några extra tabeller som kan vara användbara i vissa situationer. Dessa kort heter:

SAMMANFATTNING-AV-MIDIMEDDELANDEN CONTROLLER-TABELL MIDI-Mode-Tabell PROGRAM-CHANGE-TABELL BANK-SELECT-TABELL


 


INTERFACE


\tx9620 För att en dator ska kunna ta emot och sända MIDI krävs att den har ett MIDI interface. Atari ST och Yamaha C1 har det inbyggt, till andra datorer måste man köpa det löst.

Ett MIDIinterface är alltså i sin enklaste variant en rent elektrisk historia som ser till att MIDIdata kommer fram till mikroprocessorn. Ett simpelt sådant kostar hundralappar och har bara en midi-in och en midi-ut. Ett sådant är Apples eget till Macintoshdatorerna. Ett interface till en MS-DOS-DATOR (IBM PC eller kompatibel) har tidigare varit dyrare eftersom det "buffrar" MIDIdata, d v s avlastar datorn en del av själva MIDImottagandet och sändandet. Nu för tiden finns det dock andra typer av interface till MS-DOS datorer. Atari ST har inbyggt MIDI Interface (inte helt standardiserat!, se kortet ATARI-ST/TT) men man kan sätta på mer avancerade varianter dessutom om man vill.

INTERFACE MED FLERA UTGÅNGAR

Vadå mer avancerat?

Jo, en sequencer kan ha flera MIDI In och ut, som var och en är skild från den andra. Man kallar ofta dessa för "portar".

I programmet ber man då t ex ett spår sända till MIDIport A, midikanal 3 och annan musik på MIDIport B, midikanal 3. Även om de då sänder på samma MIDIkanal så sänder de till två olika MIDI Out kontakter, där två olika syntar tar emot. På så sätt kan man använda samma MIDIkanal mer än en gång och utöka det effektiva antalet kanaler över de sexton som är begränsningen i MIDIprotokollet (och som inte går att komma runt utan allvarliga ingrepp i standarden).

Denna typ av MIDIinterface med flera separata in- och utgångar finns numera till alla datormärken, men kolla att det program du väljer verkligen förstår hur raffinerat interface du pluggat i. Det största vi känner till har 15 MIDI Out! Skilj också separata utgångar från sådana interface som har flera parallella utgångar, d v s egentligen bara en utgång, men en inbyggd thru-box.

En specialbyggd sequencer kan förstås ha så många in- och utgångar som tillverkaren tycker är lämpligt, men vi har aldrig sett någon färdigbyggd som i efterhand gått att bygga ut med flera jackar.

INTERFACE MED TIDKOD

Ett MIDIinterface till en dator kan också ha synkronisering-till-band inbyggt, t ex i form av TIDKOD, vilket är oumbärligt om man tänkt sig att jobba mot bild (video).

Ju fler av dessa egenskaper, ju högre blir förstås priset. Det dyraste interface vi vet kostar c:a sjutusen, lika mycket som en hel dator!


 


KONTINUERLIG DATA I SEPARAT TAGNING


Det finns flera typer av kontinuerlig data i MIDI: PITCH-BEND, Aftertouch samt Modulation, MIDIvolym och andra Controllers. Det faktum att dessa inte har något med själva de toner som klingar att göra, betyder att man kan hantera dem helt separat när man t ex gör en inspelning i en sequencer.

Man gör först en tagning på de toner man vill ha, backar "bandet", gör en ny inspelning på ett annat spår, men under denna andra tagning så spelar man inget, utan rör bara på pitch bend hjulet, modulationshjulet eller vad det kan vara. Förutsatt att de båda spåren spelar upp på samma MIDI-kanal, så att de "riktas" till samma ljud, så verkar det vid uppspelning som om båda sakerna gjorts samtidigt.

Detta arbetssätt fungera förstås inte så bra med Aftertouch, eftersom man också spelar nya toner när man lägger på Aftertouch efteråt.


 


KONTINUERLIG DATA I SEPARAT TAGNING


Det finns flera typer av kontinuerlig data i MIDI: PITCH-BEND, Aftertouch samt Modulation, MIDIvolym och andra Controllers. Det faktum att dessa inte har något med själva de toner som klingar att göra, betyder att man kan hantera dem helt separat när man t ex gör en inspelning i en sequencer.

Man gör först en tagning på de toner man vill ha, backar "bandet", gör en ny inspelning på ett annat spår, men under denna andra tagning så spelar man inget, utan rör bara på pitch bend hjulet, modulationshjulet eller vad det kan vara. Förutsatt att de båda spåren spelar upp på samma MIDI-kanal, så att de "riktas" till samma ljud, så verkar det vid uppspelning som om båda sakerna gjorts samtidigt.

Detta arbetssätt fungera förstås inte så bra med Aftertouch, eftersom man också spelar nya toner när man lägger på Aftertouch efteråt.


 


MIDI, MASKINVARA OCH PROGRAMVARA


MIDI består av två delar, maskinvara och programvara.

MASKINVARA

Den första delen är en standard för maskinvaran som försäkrar att anslutningen mellan två MIDI-enheter inte ger några elektriska problem. All MIDI-utrustning använder samma typ av kontakter och elektriska standard.

Det finns inte en uppkoppling som du kan göra, eller något som du kan sända via MIDI, som kan skada något av dina instrument. (Det värsta som kan hända är att dina förprogrammerade ljud försvinner, ha alltid dom dokumenterade).

MIDIsignaler går bara åt ett håll i varje sladd. Därför finns det tre typer av MIDI anslutningar, midi-in, midi-out och midi-thru.

Mer om maskinvaran finns på korten markerade ovan och på kortet maskinvara.

PROGRAMVARA

Den andra delen är programvaran, MIDI-språket eller "meddelandena". Dessa är koder precis som Morsealfabetet, ASCII-tecknen eller någon annan internationell uppsättning av strikt definierade koder. Denna uppsättning MIDI-meddelanden används för att överföra musikaliska händelser, som ett anslag på en tangent eller rörelser på ett hjul för tonböjning.

MIDI var från början tänkt för att man skulle koppla ihop ett par tre syntar och få dubblerade ljud. Sedan dess har konceptet växt något enormt och innefattar allt från dragspel till teaterljus. Men de flesta som jobbar med MIDI använder det för sequencerarbete, och det är det denna elektronisk bok handlar om...

Se även korten SAMMANFATTNING-AV-MIDIMEDDELANDEN och MIDIteori--översikt.


 


MIDI, SERIELL ÖVERFÖRING


I MIDI sker ingenting samtidigt. Alla meddelanden kommer efter varandra på en lång rad, ofta toner och andra typer av MIDImeddelande huller om buller. All information kommer alltså i en lång serie och man säger därför att MIDI bygger på seriell överföring.

Det finns alltså ingenting som heter ackord när det gäller MIDI. Alla toner kommer efter varandra, det är bara tiderna emellan dem som gör att man uppfattar det som ett ackord. Kommer t ex tonerna C, E och G mycket tätt så uppfattar örat det som ett C-dur ackord. Kommer de med längre tidsintervall låter de som ett brutet ackord och med långt tidsintervall emellan tycker man att de är en del av en melodi.

I en MIDIsladd kommer alltså alltid alla meddelanden i en lång följd. Läs mer om effekterna av detta på kortet TIMING.


 


MIDI OUT


En apparat som själv kan "hitta på" MIDI-data sänder ut detta via MIDI Out. Det kan vara någonting man spelat på apparatens klaviatur eller strängar, det kan var synk-information eller nåt annat och det kan naturligtvis vara flera typer av meddelanden blandat.

En apparat kan ha hur många MIDI-utgångar som helst, men måste inte ha någon MIDIutgång alls. Vissa ljudmoduler och effektenheter saknar t ex MIDI Out.

Man skiljer på separata utgångar, d v s sådana där det kommer ut olika data på varje utgång, och parallella utgångar som alla sänder ut samma data. En klaviatur (en synt) har för det mesta bara en MIDI Out, medan en avancerad sequencer eller dator kan ha t ex åtta separata MIDIutgångar.

Se även midi-in, midi-thru, maskinvara, SEQUENCERSPÅR-OCH-MIDIKANALER och INTERFACE.


 


MIDI THRU


Den tredje typen av MIDI anslutning heter MIDI Thru och är en typ av utgång (som midi-out), men skickar inte ut data som apparaten själv producerat, utan ekar endast sådant som kommit in via MIDI In. Detta är till för att man ska kunna seriekoppla många maskiner. Den första tar emot på MIDI In, skickar vidare samma information via sitt MIDI Thru, som är kopplat till nästa apparats midi-in. Den i sin tur ekar vidare via MIDI Thru o s v.

En synt, en effekt en dator eller liknade har normalt sett bara en Thru-anslutning.

Det som är viktigt att förstå i det här är att det som kommer ut på MIDI Thru inte innehåller några MIDI-data som en apparat själv har skapat, utan bara precis är en karbonkopia på det som kommit in via MIDI In.

Om man t ex vill använda två syntar för att spela på en tredje räcker det inte att att seriekoppla dem som beskrivet ovan, det är bara den första som det är någon mening att spela på. Den andra synten står förgäves och sänder ut sin klaviaturdata via sitt MIDI Out, utan att något är anslutet till den.

Passa er för att använda för många Thru-jackar i serie efter varandra. Det finns möjlighet att tappa data på det här sättet. En tumregel säger att inte mer än tre, fyra apparater ska anslutas via MIDI thru.

Ett bättre alternativ till att använda MIDI Thru är att skaffa en thru-box, eller t o m en komplett midiväxel, kanske programmerbar och med merge och andra processorfunktioner.

INGA FÖRDRÖJNINGAR

Observera att Thrukoppling via varje apparats MIDI Thru inte ger några fördröjningar, det är en gammal seglivad myt! Några mycket tidiga apparater hade det problemet, men de syns sällan till nuförtiden. Problemet med att använda maskiners Thrujackar istället för en Thrubox ligger i att man kan tappa signalen delvis eller helt och hållet, i slutet av kedjan. Således: antingen fungerar det med Thru eller så fungerar det inte alls. Fördröjningar blir det inte.

Se även midi-in, midi-out och maskinvara.


 


MIDIKANALER


MIDIkanaler är ett system för att separera MIDIinformationen, så att man i ett nätverk av sammankopplad MIDIutrustning kan skicka olika information till olika enheter.

När man arbetar med en sequencer är vitsen att ens syntar ska kunna producera trummor, bas, komp, solo o s v. Man gör inspelningar av MIDIdata i sequencern, som sedan spelar på syntarna. Hur ska man kunna skilja ut så att en viss stämma spelas av en viss synt och så att bara trummorna går till trummaskinen? Man skulle kunna dra en MIDI sladd från sequencern till varje instrument, men det blir snart opraktiskt. (Se sequenceruppkoppling för hur man verkligen kopplar) Istället kodar man själva MIDIdatat, med hjälp av MIDIkanaler.

Det första man måste förstå för att begripa MIDIkanaler är att det inte finns någonting som heter ackord eller samtidiga händelser när det gäller MIDI. Se kortet MIDI-Seriell-överföring.

ATT SÄNDA PÅ EN VISS KANAL

I varje MIDImeddelande finns ett kanalnummer inbakat. Exakt hur detta är uppbyggt beskrivs i MIDIKANALERNA-I-DETALJ. Om du ställer in en synt så att den "sänder på MIDIkanal 3" vilket du säkert kan göra genom tryckningar på panelen, så kommer alla toner som sänds ut (och flera andra typer av MIDImeddelanden med för den delen) att innehålla kanalnumret 3.

Från midi-out på en sequencer som spelar upp musik från flera spår kommer en ström av noter med ett sammelsurium av MIDIkanaler. Dessa går in i alla syntar i systemet som är sammankopplade med sequencern, via en thru-box eller midi-thru (se även sequenceruppkoppling).

ATT TA EMOT PÅ EN VISS KANAL

Om alla toner passerar in i alla syntar, varför spelar de då inte alla tonerna, pianot, basen stråkarna om vart annat? Jo därför att de är inställda på varsin MIDIkanal (eller flera MIDIkanaler var om de är multitimbrala). Om du ställer in din DX-7 på MIDIkanal 5 betyder det att den kollar alla toner som kommer in, men bara spelar de som har MIDIkanalnumret 5 inbakat i sig. Den struntar i alla andra. På så sätt kan man ställa in varje synt (eller varje ljud om synten är multitimbral) på en MIDIkanal och på så sätt separera basstämman från kompet och trummorna.

Men, slutsatsen av detta är alltså att i en MIDIsladd kan man skicka toner på alla sexton MIDIkanalerna samtidigt.


 


MIDIKANALERNA I DETALJ


Detta kort är en direkt fortsättning på kortet ETT-NOTMEDDELANDE-I-DETALJ.

ATT SÄNDA PÅ EN MIDIKANAL

Vad händer egentligen när du ställer in en klaviatur att sända på MIDI-kanal 3? Jo du talar om att i varje NOTE-ON och Note-Off (och flera andra typer av MIDImeddelanden med, för den delen) som sänds ut, så ska de sista fyra bitarna i den första byten (kkkk i tabellen på det förra kortet) representera talet 3. Ställer du in den att "sända på MIDI-kanal 5" så lägger den i stället in siffran 5.

SEQUENCERN OCH MIDIKANALER

Din klaviatur kanske skickar toner med ett enda MIDIkanalnummer i taget, men en sequencer kan ju spruta ur sig massor med toner som innehåller olika kanalnummer. Och i en sequenceruppkoppling så går ju egentligen alla meddelanden till alla syntar.

ATT TA EMOT PÅ EN MIDIKANAL

Hur ska då en viss maskin veta att den bara ska spela basen? När vi säger att "basen kommer på MIDI-kanal 4" så betyder det att alla Note On och Note Off i basstämman har nummer 4 som den del av meddelandet som representerar kanalen.

Du ställer in på bassynten att den ska "ta emot på MIDI-kanal 4". Det betyder att den kollar av alla toner som kommer in via dess MIDI In och sedan väljer att strunta i alla de som inte har numret 4 som MIDI-kanal. Lätt som en plätt... eller?

SAMMANFATTNING

Hela MIDIsystemet går alltså ut på att "koppla isär" spelinstruktionerna och ljudet. För då kan man spela in i en sequencer med ett visst ljud och sedan bara byta ljud på mottagarsynten vid uppspelning, eller t ex transponera tonerna genom att stämma om synten. Eller varför inte ställa in en synt till på samma MIDI-kanal, så spelar de samma stämma unisont, med varsitt ljud. Allt detta utan att ändra i MIDI data på något sätt, utan istället bara genom att se till att de tolkas på ett annat sätt i mottagarsynten.

Läs gärna mer på kortet MIDI-MODER.


 


MIDIKLOCKA I PRAKTISKT ARBETE


Hur kopplar man för att synka två MIDIenheter? Jo, det räcker att sätta en sladd i midi-out på den maskin som ska avgöra tempot, till midi-in på den som ska spela i takt. Man kallar ofta den som anger tempot (sänder klockorna) för master och den som spelar i takt (tar emot klockor) för slav. Se kortet UPPKOPPLING-5--SYNK.

Sedan måste man se till att Mastern verkligen sänder MIDI-klocka och Start/Stop/Continue som den ska. För det mesta gör en sequencer det utan att man behöver be om det, men ibland man man slå av och på denna funktion på något sätt via frontpanelen (t ex Clock Out: On). Däremot är det troligare att slaven måste sättas i ett läge som heter "Synk:External" eller liknande (Synk:Ext, Tempo:MIDI, Synk:Clocks eller nåt). Sedan ska det bara vara att trycka på Play på mastern så startar slaven.

SYNK-MELLAN-OLIKA-TYPER-AV-MIDIUTRUSTNING Song-Position-Pointers SYNK-TILL-BAND TIDKOD-OCH-MIDI-TIME-CODE--ÖVERSIKT


 


MULTITIMBRALITET


När man säger att en synt eller sampler är multitimbral menar man att den kan spela flera olika ljud på en gång, t ex bas, piano och trumset.

I en synt har man för det mesta en en mängd färdiga ljud. De kallas Program, Patches, Sounds, Timbres eller något liknande. Låt oss kalla det Program. Ett Program består av inställningar för oscillatorer, samples, filter, förstärkare, osv och utgör en enskild klang.

Om en synt är multitimbral kan man låta flera sådana Program ta emot på varsin MIDI-kanal. Det brukar gå till så att man gör ett så kallat Combi, Performance, Bank eller liknande (låt oss kalla det Combi) där varje Program kan ställas in så att det tar emot på en viss MIDI-kanal. Det är så man får separat piano, bas, trummor o s v ur en och samma synt. Men man måste kunna ställa andra parametrar för varje Program i Combit, t ex volym, omfång på klaviaturen, vilken utgång det går till och - som det brukar vara - en oändlig mängd "obegripliga" MIDIparametrar. Ofta kan man göra i ordning flera Combi-uppsättningar och spara dessa i syntens minne.

Dessutom brukar det finns en del inställningar för hela Combit, t ex om det ska reagera på PROGRAM-CHANGE.

Resultatet av att sätta en synt i Combiläge (även kallat Multi Mode) är att den uppför sig precis som om den var flera syntar, som var och en tar emot på en midikanal (och som var och en står i MIDI-Mode 3). Är två Program inställda på samma MIDIkanal får man dubbla ljud när man skickar toner på den kanalen.

Du kan läsa mer om exakt hur den multitimbrala synten fungerar i en sequenceruppkoppling om du dubbelklickar på MULTITIMBRALA-SYNTAR-I-SEQUENCERUPPKOPPLINGAR.

INTE BARA NOTER

Vi kan alltså skicka noter till Programmen individuellt, vilket faktiskt är bevis för att de separat kan ta emot alla MIDImeddelanden som kan skickas på en viss kanal. Man kan skicka PITCH-BEND till var och en, så att tonerna som spelas med ett ljud böjs utan att andra ljud påverkas. Man kan skicka PROGRAM-CHANGE så att ett av ljuden byts ut mot ett annat. man kan skicka Controllers till var och en så att man lägger på vibrato eller påverkar volymen eller panoreringen (mixar), o s v.

För det mesta finns det förutom en MIDIkanal för varje Program i en Combi också en global-MIDIkanal på vilken man kan skicka t ex Program Change för att byta hela Combit till en annan.


 


NOTE ON OCH NOTE OFF


Note On och Note Off är MIDIs meddelanden för att slå på respektive stänga av toner.

Tangenterna på en synt är i MIDI numrerade nedifrån en tänkt klaviatur och uppåt, vilket innebär att MIDI helt och hållet är baserat på halvtonsskalan. Man tar alltså ingen hänsyn till tempererad eller otempererad stämning eller något sånt, koderna motsvarar bara tangenter som tryckts ned. En vanlig fem oktavers klaviatur har en C-tangent någonstans i mitten som får numret 60. Denna kallas i MIDI-specifikationen för C4. I en sequencer skrivs samma tangent ut som C3! Det råder alltså en viss förvirring här vad gäller nomenklaturen, och det kan vara olika mellan olika sequencers också.

SPLIT

Många klaviaturer har så kallat split-keyboard vilket innebär att de kan sända toner med olika kanalnummer ovanför respektive nedanför en specifik tangent. Det gör det möjligt att spela på två olika ljudmoduler (eller två ljud i en modul), t ex en med vänster och en med höger hand. Man kan naturligtvis tänka sig mer än en splitpunkt också.

ATTACK VELOCITY

Velocityvärdet som är inbakat i varje notmeddelande är en siffra som talar om hur snabbt man tryckt ned en tangent, alltså inte hur hårt man gjorde det (även om skillnaden är marginell). Datorn i synten mäter den tid det tar för en tangent att gå från sitt översta läge ned till bottenläget, och ju snabbare, desto högre velocityvärde lägger man in i Notemeddelandet.

Nuförtiden är i princip alla syntars klaviaturer anslagskänsliga, och ljuddelen kan generera olika volym och klang beroende på ett inkommande velocityvärde, men det har inte alltid varit så. Dessutom kan man ju ställa in en synt så att den reagerar mer eller mindre på en viss anslagsstyrka, så återigen är det så att MIDI inte säger något om hur velocityvärdet ska tolkas, det ser bara till att det kommer fram.

RELEASE VELOCITY

Även i Note-Off meddelandet finns ett velocity värde, så kallad release velocity. Likaväl som man kan tänka sig att läsa av hur snabbt en tangent trycktes ned så kan man tänka sig att mäta hur snabbt den släpptes upp, och det är just detta som är release velocity. De flesta syntar begagnar sig inte av den här informationen.


 


POLYPHONIC KEY PRESSURE


Polyphonic Key Pressure är tryckkänslighet per tangent. Ej att förväxla med CHANNEL-PRESSURE, eller Velocity.

Varje tangent läses alltså av individuellt, vad avser tryck. Sådana klaviaturer är dyra att bygga, därför är de ovanliga. Roland har det bland annat på sina "mother keyboards" A-80 och A-50, och Ensoniq på EPS, VFX och SQ-80 (det finns naturligtvis fler). Däremot är det ganska vanligt att en synt (med eller utan klaviatur) kan ta emot det här meddelandet och göra något vettigt av det.

Observera att man ofta kan ställa in om en synt ska skicka och/eller ta emot Polyphonic Key Pressure. Om synten är multitimbral kan man ofta göra en sådan mottagarinställning per Program och en sändarinställning separat för klaviaturen.

Ett tips är att lägga pitchbend på tangenterna när man spelar på en klaviatur med sådan här "individuell tryckkänslighet", men det går förstås att använda till samma saker som Channel Pressure och mer därtill.


 


SEQUENCERSPÅR OCH MIDIKANALER


De flesta Sequencers arbetar med en bandspelaranalogi. Det finns inspelningsknapp, uppspelningsknapp, Fast Forward och Rewind. Det brukar också finnas spår, för att man ska kunna organisera sin inspelningar, lägga hihat på ett spår, baskagge och virvel på ett annat, bas på ett tredje o s v.

VAD HAR MAN SPÅR TILL?

Spår är alltså bara till för att man ska kunna organisera sina data på ett vettigt sätt. Man väljer inspelning på ett spår och trycker på Record. Man aktiverar kanske en Solofunktion så att man kan lyssna på ett spår i taget.

MÅNGA MIDIKANALER PÅ ETT SPÅR?

MIDIkanaler är någonting annat än spår. På ett spår kan nämligen ligga musik på en, två eller alla sexton MIDIkanalerna, det spelar ingen roll. Det beror som beskrivet på kortet midikanaler på att varje enskilt MIDImeddelande som finns lagrat i sequencern innehåller ett kanalnummer. De ligger där i en lång rad i sequencerns minne och väntar på uppspelning. När de sedan spelas upp går de ut till alla enheter i systemet, vars MIDIkanalinställning avgör om de kommer att höras eller inte.

SPÅR OCH UTGÅNGAR

Det är också vanligt om sequencern har flera MIDI Out, att man kan skicka ett spår till en viss utgång. På så sätt kan man få en sequencer att arbeta på flera än sexton MIDIkanaler. Man kan ju ha upp till sexton MIDIkanaler per utgång. Se även kortet INTERFACE.

EN MIDIKANAL PER SPÅR

Det är trots förklaringen om flera MIDIkanaler på ett spår ovan, vanligt att varje spår i en sequencer sänder på en, och bara en, viss MIDIkanal, bara för att det blir praktiskt och överskådligt på så vis.

Vad betyder då det? Jo om du spelar in musik på spår 3 i din sequencer och ställer in spåret så att det sänder på MIDIkanal 7 så kommer datorn att i uppspelningsögonblicket att byta ut MIDIkanalnumret i all MIDImeddelanden som ligger på det spåret, så att det blir 7 oavsett vad det var innan. Det här är mycket praktiskt och gör att man lätt kan prova att skicka ett spår till olika syntar utan att ändra sina MIDIkanalinställningar på själva syntarna. Man ändrar istället i sequencern vilken kanal spåret sänder på, kanske kan man t o m gör det medan musiken spelar.

RECHANNELIZING ELLER INTE?

Detta koncept kallas rechannelizing (omkanalisering) och beskrivs också i avsnittet MULTITIMBRALA-SYNTAR-I-SEQUENCERUPPKOPPLINGAR.

Alla sequencers jobbar inte på detta sätt, utan spelar alltid upp MIDIdata som det verkligen spelades in. Exempel är Rolands MC-sequencers.Det betyder att man redan från början måste se till att sända in på rätt MIDIkanal, genom att ställa in den på sin synt (eller vad man nu spelar in med). Många avancerade sequencers låter en arbeta på båda sätten genom att man kan ställa spåret på att antingen sända på en viss MIDIkanal eller på en sjuttonde inställning kallad "No", "Original", "True" eller något likande. Med denna inställning ändras alltså inga MIDIkanaler vid uppspelning från spåret, utan man får ut exakt de data man spelade in.

Rechannelizing vid uppspelning ska inte förväxlas med editering av MIDIkanaler, som är en funktion med vilken man permanent ändrar MIDIkanalvärden i sina inspelningar.

Det är också vanligt numera att sequencers har flera MIDI Out (se kortet midi-out).Då kan man ofta ställa in till vilken utgång och på vilken MIDIkanal ett visst spår ska sända. På så sätt har man kunna bryta vallen med sexton MIDI-kanaler och får istället sexton MIDI-kanaler per utgång.


 


SONG POSITION POINTERS


I det ursprungliga MIDI konceptet fanns endast MIDIklockan och Start Stop och Continue för synk. Till det har kommit något som kallas Song Position Pointers. Tänk er följande: Mastern har en Fast Forward knapp och en Rewind knapp. Om du spolar fram till takt 36 på mastern och trycker på Play vad ska slaven då göra? Den vet ju inte att du har "spolat" mastern... eller? Jo, om båda maskinerna kan hantera Song Position Pointers (ibland kallat Song Pointer eller SPP) så vet den det. Dessa meddelanden är nämligen just till för att tala om för en slav att den t ex ska "spola till takt 36". Om du spolar på mastern så skickar den alltså Song Position Pointers till slaven så fort du spolat färdigt (eller t o m medan du spolar). Sedan ställer sig slaven i ett "vänta" läge tills det kommer ett Continue meddelande följt av MIDIklockor.

Och Basta: de två uppför sig som ett gift gammalt par, de följer varandra oavsett vart den andra går och hur fort den gör det.

Äldre Sequencers och Trummaskiner kanske inte förstår Song Position Pointers, och nya billiga gör det ibland inte heller. Som vanligt - kolla innan du köper.

SYNK-MELLAN-OLIKA-TYPER-AV-MIDIUTRUSTNING MIDIklocka-i-praktiskt-arbete SYNK-TILL-BAND TIDKOD-OCH-MIDI-TIME-CODE--ÖVERSIKT


 


SYSTEM COMMON MESSAGES


Dessa meddelanden gäller hela systemet (alltså inte per midikanal) och innehåller en samling skilda typer av Meddelanden:

StatusByte Databyte 1 Databyte 2 Kommentar

11110001 0nnndddd MIDI-Time-Code Quarter Frame 11110010 0lllllll 0hhhhhhh Song-Pos-Pointer l=minst signifikant h=mest signifikant 11110011 0sssssss Song-Select. s=Songnummer 11110100 Odefinierad 11110101 Odefinierad 11110110 ingen Tune Request 11110111 ingen EOX:End of System Exclusive".


 


SYSTEM REAL TIME MESSAGES


Dessa meddelanden har med Timing och liknande att göra. Ingen av dem bär med sig några värden, utan är bara fasta koder för vissa specifika ändamål.

11111000 Timing-Clock 11111001 Undefined 11111010 Start 11111011 Continue 11111100 Stop 11111101 Undefined 11111110 Active Sensing 11111111 System Reset{\fs18 }


 


TIMING


Det har pratats mycket under åren om fördröjningsproblem i MIDI- överföringen. Låt oss se på en del fakta. Se även kortet thru.

Att sända ett enkelt NOTE-ON meddelande via MIDI tar ungefär en millisekund (en tusendels sekund). Detta kan först och främst jämföras med den tid som det tar innan meddelandet egentligen sänds från det att du trycker på en tangent på MIDI-klaviaturen, en siffra som varierar mellan olika instrument. I bästa fall är det runt en millisekund (ms) och i värsta fall upp till 25 ms eller mer (med 5 till 10 ms som typiska värden). Lägg till detta reaktionstiden på synten som tar emot meddelandet, dvs den tid det tar från det att NOTE ON meddelandet kommer in på instrumentets midi-in och tills dess att det låter. Denna tid kan vara lika lång (eller kort) som klaviaturens reaktionstid.

Om man lägger samman dessa tider (upp till 50 millisekunder eller mer i värsta fall) så förstår man att MIDIs överföringshastighet (1 millisekund för en ton) är det minsta problemet i kedjan.

Det blir lite mer kritiskt när du spelar ackord, kanske till och med flera ackord på flera MIDI-kanaler samtidigt. I början av en takt kanske du har hihat, bastrumma, slagverk, en baston, fyra pianotoner, brass, syntljud och så vidare, alla inlagda för att låta precis samtidigt på första slaget. Detta kan bli något i stil med tio till tjugo noter om musiken är riktigt tät. Eftersom det inte finns något som heter "samtidiga-händelser" i MIDI (alla noter sänds efter varann, även i ett ackord) så finns det en tidsskillnad på så många millisekunder som det finns noter mellan den första och den sista (i vårt exempel mellan 10 och 20 ms). Detta är fortfarande mindre än den direkta responsen från flera klaviaturer som har accepterats av den stora allmänheten. Kom ihåg att ljudets hastighet i luft är ca 3 millisekunder per meter. Det värsta fallet med MIDI-fördröjningarna i vårt exempel motsvarar därför att ha medmusikanternas ljudkällor utspridda på ett avstånd av ungefär 6 meter.

Så även om MIDI självt normalt inte är problemet, så kan det hända att du måste kompensera för varje instruments interna fördröjning när du spelar upp från en sequencer. Se kortet FÖRDRÖJNING-AV-SPÅR.

Slagverksspelare har rätten att kräva snabbare reaktionstider än klaviaturspelare, eftersom de är mest känsliga för dessa saker. Det beror helt enkelt på den fysiska skillnaden på att slå på en trumma och att slå an en pianotangent.

Sequencers ska definitivt ge noter prioritet över andra MIDI- meddelanden för att alltid hålla känslan i musiken intakt. Musikern kan hjälpa till med detta genom att inte spela in oanvända MIDI-meddelanden som tangenttryck (Aftertouch). Om du fortfarande upplever problem så kanske du vill köpa extra maskinvara som ansluts direkt till din dator via en av dess snabbare utgångar och via den ger dig flera separata midi-out anslutningar. Blanda inte ihop detta med vanliga MIDI thru-boxar som inte alls påverkar tidshållningen.


 


UPPKOPPLING 7 - EDITOR/BIBLIOTEKS-PROGRAMMET


Om man väljer en dator istället för en fristående sequencer kan man ju välja att köra många olika program, t ex editorer (visar inställningarna som utgör ett ljud i en synt eller en effektenhet, på skärmen) och biblioteksprogram (katalogiserar och arkiverar ljuden i t ex en synt). Då krävs att man har kommunikation åt båda hållen med varje synt, man vill ju både kunna ta emot värden och sända ut ändringar.

Vill man komma åt flera maskiner på detta sätt måste man ha en programmerbar MIDI-växel, det går inte att komma undan.


Copyright © 1996 MUSIKnet och Ernst Nathorst-Böös
Bearbetning för WWW av Rickard Sjöberg
Kommentarer till admin@musiknet.se

Ett projekt inom
Det Svenska Skoldatanätet
Senast uppdaterad 960502