# Patchmap Bestanden

MultitrackStudio gebruikt patchmap-bestanden (*.pmp) om de namen van patches en druminstrumenten van hardware-synths te definiëren, zodat deze in plaats van gewone bank:programma-nummers worden weergegeven waar van toepassing.

Het ☰ menu van een Extern MIDI Instrument-venster heeft een Patchmap optie, die een Importeer-optie heeft om je patchmap te importeren. Je kunt het bestand ook naar een Extern MIDI Instrument-venster slepen. Als je het bestand hebt bewerkt, kun je het gewoon opnieuw importeren.

Tip: Je kunt op internet zoeken naar een .ins (instrumentdefinitie) bestand voor je synth. Dit wordt bij importeren geconverteerd naar een .pmp-bestand.

Onder de motorkapGebruikerspatchmaps worden opgeslagen in de "Library/Application Support/MultitrackStudio/PatchMaps" map van de gebruiker.

Patchmap-bestanden kunnen worden bewerkt met TextEdit. De onderstaande voorbeelden laten zien hoe je patchmap-bestanden maakt voor je eigen hardware-synthesizer. De cursieve tekst is commentaar en hoort niet in daadwerkelijke patchmap-bestanden te staan.

### Voorbeeld 1: Banken en Patch Namen

Dit voorbeeld laat een eenvoudige patchmap zien met slechts twee banken.

[patchmap] |  | verplicht kenmerk
[bank 0] |  | Deze sectie bevat de eerste bank. Let op: dit is 0, niet 1. Let ook op de spatie.
bank=1280 |  | De bijbehorende MIDI-bank. Dit getal is gelijk aan 128 * MSB + LSB.
|  | MSB en LSB komen overeen met respectievelijk MIDI-controller #0 en #32.
|  | In dit voorbeeld is MSB=10 en LSB=0.
0=Piano |  | MIDI-programma 0 is een piano
1=Bass |  | MIDI-programma 1 is een bas
|  | Deze waarden kunnen oplopen tot en met 127
[bank 1] |  | Deze sectie bevat de tweede bank. Banken moeten opeenvolgend genummerd zijn
bank=1281 |  | MSB=10 en LSB=1
32=Guitar |  | MIDI-programma 32 is een gitaar
33=Violin |  | MIDI-programma 33 is een viool

### Voorbeeld 2: Drum Instrument Namen

Stel dat onze synth één drum-patch heeft. Laten we zowel de patch als de drum instrument namen toevoegen aan de patchmap:

[patchmap] |  |
[bank 0] |
bank=1280 |
0=Piano |
[bank 1] |
bank=1281 |
32=Guitar |
33=Violin |
64=Acoustic Drum Kit |  | De drum patch staat op programmanummer 64
[drum 0] |
bank=0 |  | De drums zitten in bank 0. Dit is gelijk aan 128 * MSB + LSB,
|  | zie de uitleg in de [bank 0]-sectie van voorbeeld 1.
patch=8 |  | De drums zitten op MIDI-programma 8
36=Bass Drum |  | Noot 36 is een bassdrum
40=Snare |  | Noot 40 is een snare

Additional drum kit sections must be numbered sequentially ([drum 1], [drum2] etc.)

### Voorbeeld 3: Percussie Kanaal

Stel dat het een GM-synth is, die heeft slechts één bank en drums op kanaal 10:

[patchmap] |  |
[bank 0] |
bank=-1 |  | -1 betekent "alle banken", we doen dit omdat GM geen banken ondersteunt
|  | Als je de "bank="-regel weglaat, dan wordt standaard 0 gebruikt omdat het
|  | de [bank 0]-sectie is. [bank 1] gebruikt standaard 1, enzovoort.
channel=1,2,3,4,5,6,7,8,9,11,12,13,14,15,16 |  | [bank 0] is niet geldig voor kanaal 10
0=Piano |
1=Bright Piano |
12=Marimba |
25=Acoustic Guitar |
26=Electric Guitar |
[bank 1] |
bank=-1 |  | -1 betekent "alle banken", we doen dit omdat GM geen banken ondersteunt
channel=10 |  | [bank 1] is alleen geldig voor kanaal 10
0=Drum Kit |
[drum 0] |
channel=10 |  | Deze instrumentnamen zijn geldig voor kanaal 10
36=Bass Drum |
40=Snare |

### Voorbeeld 4: Patch Categorieën

Laten we enkele categorieën toevoegen. Ze verschijnen in de patch-keuzelijst van het Extern MIDI Instrument.

[patchmap] |  |
[category] |  | Dit is de sectie die de categorieën definieert
#0=Piano |  | De eerste sectie moet #0 zijn. In dit geval bevat het de piano's
#1=Guitar |  | De tweede sectie bevat de gitaren
|  | Categorieën moeten opeenvolgend genummerd zijn
[bank 0] |
bank=-1 |
0=Piano#0 |  | Voeg #0 toe aan de naam, zodat MultitrackStudio weet dat het in categorie #0 zit
1=Bright Piano#0 |
12=Marimba |  | Geen categorie hier opgegeven, dus dit komt in de categorie "Overig" terecht
25=Acoustic Guitar#1 |  | Voeg #1 toe aan de naam, zodat MultitrackStudio weet dat het in categorie #1 zit
26=Electric Guitar#1 |

### Voorbeeld 5: Drum Instrument Categorieën

Drum instrument categorieën kunnen lokaal binnen een drum sectie worden gedefinieerd:

[patchmap] |  |
[bank 0] |
bank=0 |
0=Piano |
1=Bright Piano |
[drum 0] |
#0=Bass |  | De eerste sectie moet #0 zijn. In dit geval bevat het de bassdrums
#1=Snare |  | De tweede sectie bevat de snaredrums
35=Acoustic Bass#0 |  | Voeg #0 toe aan de naam, zodat MultitrackStudio weet dat het in categorie #0 zit
36=Bass Drum 1#0 |
38=Acoustic Snare#1 |  | Voeg #1 toe aan de naam, zodat MultitrackStudio weet dat het in categorie #1 zit
39=Hand Clap |  | Geen categorie opgegeven, dit komt in de categorie "Overig" terecht
40=Electric Snare#1 |

### Voorbeeld 6: Controller Namen

Laten we enkele standaardnamen van controllers overschrijven met aangepaste namen:

[patchmap] |  |
[bank 0] |
bank=0 |
0=Piano |
1=Bright Piano |
[controllers] |
2=Joystick -Y |  | Nieuwe naam voor controller 2
83=Dynamic Modulation |

NRPNs kunnen ook een naam krijgen:

[patchmap] |  |
[bank 0] |
bank=0 |
0=Piano |
1=Bright Piano |
[nrpn] |
160=Cutoff |  | Nieuwe naam voor nrpn 160 (=128 * MSB + LSB)
161=Resonance |

### Voorbeeld 7: GM Compatibiliteit

GM2, GS en XG gebruiken bankberichten, terwijl GM dat niet doet. Je kunt een compatibiliteitsmodus opgeven om ervoor te zorgen dat de patchmap werkt, of er nu wel of geen bank wordt opgegeven. Dit beïnvloedt ook de interpretatie van het GM-percussiekanaal.

[patchmap] |  |
compatibility=XG |  | Kan GM2, GS of XG zijn
[bank 0] |
bank=0 |
0=Piano |
1=Bright Piano |

### Voorbeeld 8: Ondersteunde Controls

De ondersteunde controllers, NRPNs enz. kunnen worden opgegeven. Ze verschijnen in het TOON-menu van de controller-editor. Kanaal-controllers verschijnen als draaiknoppen in de sectie Controls van een Extern MID Instrument-venster.

[controllers] |  |
supported=pitchbend,7,10,nrpn100,rpn4130,aftertouch,polyaftertouch,sysex |
2=Joystick -Y |  | Controllernaam zoals in voorbeeld 6

### Voorbeeld 9: Kanaal Namen

Kanaalnamen verschijnen in het keuzemenu van de kanaalkiezer:

[channels] |  |
10=Percussion |

### Voorbeeld 10: Profielen

Sommige (oudere) apparaten kunnen aan een MIDI-CI-profiel voldoen, ook als ze de MIDI-CI-onderhandeling niet kunnen uitvoeren. Sommige profielen kunnen geforceerd worden ingeschakeld. De ondersteunde controls (zie voorbeeld 8) en drum instrument namen (voorbeeld 2) worden gebruikt om geschikte profielgegevens samen te stellen.

Het Piano-profiel kan voor een programma als volgt worden ingeschakeld:

[patchmap] |  |
[bank 0] |  |
bank=13824 |  |
0=Piano |  | Naam van programma 0
profiles0=piano |  | Programma 0 voldoet aan het Piano-profiel
6=Harpsichord |  |

Het Default Drum Note Map-profiel kan voor een programma als volgt worden ingeschakeld:

[patchmap] |  |
[bank 0] |  |
bank=-1 |  |
profiles=defaultdrumnotemap |  | Alternatieve manier: dit betekent dat alle 128 programma’s compatibel zijn met het Default Drum Note Map-profiel
0=Drum Kit |  |
1=Drum Kit 2 |  |
profiles1=defaultdrumnotemap |  | Programma 1 voldoet aan het Default Drum Note Map-profiel

### Voorbeeld 11: Patchwisseltijd

Sommige synths hebben behoorlijk wat tijd nodig om een patch te laden. Laten we ervoor zorgen dat MultitrackStudio de patch-wisselingsberichten op tijd verstuurt. Opmerking: het is meestal niet nodig om dit toe te voegen.

[patchmap] |  |
patchswitchtime=750 |  | Plan patch-wisselingen 750 milliseconden eerder in
[bank 0] |
bank=0 |
0=Piano |
1=Bright Piano |

### Voorbeeld 12: Initialisatie Sysex

Een sysex-bericht kan worden verzonden voordat het opnemen of afspelen begint. Dit kan bijvoorbeeld worden gebruikt om een synth naar multi-modus te schakelen.

[patchmap] |  |
initsysex=f0123456f7 |  | Hex-getallen die een sysex MIDI-bericht voorstellen
[bank 0] |
bank=0 |
0=Piano |
1=Bright Piano |

Als een sysex naar elk gebruikt MIDI-kanaal moet worden verzonden, kun je een hexadecimale cijfer vervangen door "<channel>":

[patchmap] |  |
initsysex=f0123<channel>56f7 |  | Hex-getallen die een sysex MIDI-bericht voorstellen
|  | "<channel>" wordt vervangen door het daadwerkelijke MIDI-kanaal.
[bank 0] |
bank=0 |
0=Piano |
1=Bright Piano |

### Voorbeeld 13: Geen Program Change verzenden

Sommige synths verliezen je aangepaste instellingen als er een Program Change wordt ontvangen. Je kunt voorkomen dat MultitrackStudio Program Change-berichten naar bepaalde kanalen stuurt. Bankberichten worden dan ook niet verzonden.

[patchmap] |  |
no_programchange=15,16 |  | Stuur geen Program Change naar kanaal 15 en 16