Opret et midi-kort |
forrige | Midi-kort | næste |
Der er ikke noget program til at oprette midi-kort, så du skal redigere en fil i hånden (med din foretrukne teksteditor).
Et midi-kort er en tekstfil som indeholder alle nødvendige oversættelser som laves når musikken spilles.
Den består af fire dele: PATCHMAP
, KEYMAP
, CHANNELMAP
og OPTIONS
.
Hver del må kun forekomme en gang, bortset fra KEYMAP
-afsnittet som kan forekomme så mange gange som behøves, under forudsætning af at hver forekomst bruger et andet TekstID (fortsæt med at læse for flere detaljer).
Den generelle struktur for en kortfil er:
DEFINE PATCHMAP ... END DEFINE KEYMAP "Navn på tastekort" ... END DEFINE KEYMAP "Et andet tastekort" ... END DEFINE CHANNELMAP ... END OPTIONS ... END
Du kan se at nøgleordet DEFINE
bruges til at angive hvilket afsnit der bliver startet (bortset fra at OPTIONS
), og END
skrives ved slutningen af hvert afsnit.
Du kan angive kommentarer ved at indlede linjen med et #
-tegn.
Vær rar at sende mig din kortfil med e-mail, så fremtidige udgaver af KMid indeholder understøttelse for flere keyboards som ikke understøtter General Midi.
Dette afsnit bruges til at angive hvordan patcher skal oversættes fra GM til specifikationen for dit keyboard. Den generelle brug er:
(Navn på GM-patch)=(N
) [AllKeysTo M]
Hvor N
er tallet som dit keyboard behøver at tage imod for at ændre patchen til det samme som GM-standarden bruger.
Bemærk at venstresiden af lighedstegnet ignoreres, så GM-patcher antages at være i rækkefølge (fra 0 til 127), og du må ikke ændre rækkefølgen på linjerne eller udelade nogen af de 128 instrumenter.
Det valgfrie AllKeysTo M
bruges til at oversætte alle toner som bruger det instrumentet til tasten M
. Antag for eksempel at dit midi-keyboard ikke har en pistolskudslyd (GM patch 127), så du vil oversætte det til en tromme (dvs. tast 60), som lyder noget lignende et pistolskud. For at gøre dette kan du skrive følgende på den 127. linje i PATCHMAP
-afsnittet:
Pistolskud =100 AllKeysTo 60
Så hvis en midi-fil forsøger at spille en tone med patch 127 (pistolskud), så oversættes den til patchen 100 (dit keyboards slagværkspatch) og spiller tonen 60 (uafhængig af tonen der skulle have været skulle spillet).
Bemærk at når jeg bruger udtrykket “Slagværkspatch”, mener jeg patchen hvor hver tast spiller en særlig tromme, cymbal, tom-tom, maracas og så videre, og ikke en mulig lyd som visse keyboard har som spiller en anden tone med samme tromme for hver tast.
KEYMAP
-afsnittet bruges til at angive hvordan taster oversættes, for en given kanal eller instrument. Det bruges sådan her:
DEFINE KEYMAP "Navn på tastekortet" C 0 =0 C#0 =1 D 0 =2 ... END
Som for PATCHMAP
-afsnittet, er linjernes rækkefølge meget vigtig, og at alle er der (128 taster).
Eftersom du kan angive flere tastekort for forskellige kanaler og instrumenter, skal du angive et entydigt navn for hver enkelt på den første linje.
Tastekort bruges hovedsageligt til at oversætte taster for slagværkskanalen. Kig i de medfølgende kort for at se nogle eksempler.
Dette afsnit kan bruges til at oversætte nogle kanaler til andre. Hvis du for eksempel vil bytte om på første og anden kanal, kan du gøre dette enkelt i CHANNELMAP
-afsnittet.
Det er dog mere nyttigt for et keyboard som skal have slagværkskanalen som en særlig kanal (GM-standarden bruger kanal 10, andre bruger kanal 16 eller 9).
Bemærk at midi-enheder bruger 16 kanaler, så CHANNELMAP
-afsnittet har 16 linjer, fra 0 til 15, som denne her:
(N) = (M) [Keymap "Navn"] [ForcePatch x]
Hvor N
er kanalen som oversættes til kanalen M
. Hvis tilvalget Keymap
angives, kommer tastekortet med navnet Navn
til at bruges for denne kanal (dette tastekort skal angives tidligere i kortfilen!). Hvis tilvalget ForcePatch
angives, kommer alle begivenheder som forsøger at ændre patchen som bruges for denne kanal, til at blive ignoreret, og patchen x
bruges i stedet.
Tilvalget ForcePatch
kan være nyttigt til for eksempel altid at bruge slagværkspatchen på slagværkskanalen.
OPTIONS
-afsnittet har en del generelle valgmuligheder som kan være meget nyttige:
OPTIONS PitchBenderRatio = r MapExpressionToVolumeEvents END
Du kan angive begge valgmuligheder, kun en, eller ingen af dem.
Værdien PitchBenderRatio r
, angiver forholdet som tonehøjdeforandringer bliver multipliceret med. Dvs. når en midi-fil forsøger at sende en midi-begivenhed med en tonehøjdeforandring som har værdien n
, kommer den rigtige værdi som sendes til at være n*(r/4096)
(værdien 4096
er der for ikke at behøve at angive decimalkommaer i kortfilen).
Dette bruges fordi GM-standarden siger at når et midi-keyboard modtager en tonehøjdeforandring med dataværdien 4096, skal det ændre tonen til næste højere tone, men visse midi-keyboard forsøger at ændre initialtonen til to eller flere toner højere (til og med en oktav højere!) når de modtager 4096. Dette kan let ordnes ved at forsøge med forskellige værdi, så i stedet for at sende 4096, så sender KMid en passende værdi.
Når tilvalget MapExpressionToVolumeEvents
angives i kortfilen, og en midi-fil forsøger at sende en udtryksbegivenhed, sender KMid en lydstyrkebegivenhed, som forstås af flere keyboard som ikke følger GM, og som har en lignende effekt. Der er mange midi-filer som bruger udtryksbegivenheder til at dæmpe lyden i slutningen af en sang, så hvis du ønsker at musikken skal lyde mere og mere stille, kan du aktivere dette og se om det er hvad du behøver, eftersom din midi-synthesizer måske ignorerer udtryksbegivenhederne fordi den ikke forstår dem.
forrige | hjem | næste |
Behøver jeg et midi-kort? | op | Brug af midi-kort |