How to create a patch map for your synthesizer (Band-in-a-Box® for Windows)
This tutorial covers the following topics:
- How to remap the General MIDI patches and drum note numbers
- How to access higher bank patches other than the basic General MIDI patches
- How to convert a PowerTracks or RealBand .ini file, or Cakewalk .ins file, to a Band-in-a-Box® patch map (.pat file)
- Manually Creating a Band-in-a-Box® Patch map
Last updated: Thursday, 08 November 2018
There are two reasons that you may want to make a custom patch map:
- Remap (translate) the General MIDI patches (instrument numbers) and drum note numbers to the drum/patch numbers that your synthesizer uses.
- Allow access to higher bank patches other than the basic General MIDI standard patches.
Note that Band-in-a-Box® does include a number of patch maps for various synths, and there are also some other ones available for download from our website. Also, Band-in-a-Box® 2005 and higher will automatically convert a PowerTracks Pro Audio .INI or Cakewalk .INS file to a Band-in-a-Box® patch map (.PAT) file.
How to remap the General MIDI patches and drum note numbers
Most modern synths are General MIDI (GM) compatible, so it is not too likely that you will need to do this. But, if your synth is not General MIDI compatible, you may need to remap (translate) the General MIDI drum note numbers and patches to the drum/patch numbers that your synthesizer or sound module uses. For example, in the General MIDI standard, patch 1 is Acoustic Piano. If your synth has Acoustic Piano at patch 10, and a different instrument at patch 1, you need to tell Band-in-a-Box® this. We have already made custom patch maps for many non-GM synths, and these are saved as .DK files. To load in a .DK file, go to Opt. | MIDI Driver Setup, and select your synthesizer/soundcard from the pull-down menu. When you press OK, Band-in-a-Box® will ask if it is OK to load in the .DK file. If your synth is not listed in the Synthesizer/Soundcard menu, there are some additional .DK files available for download from our website. You can load these .DK files by going to Opt. | Utilities | Load Alternate Drum/Patch File.
If you need to remap the patch and drum numbers and you can't find a .DK file for your synth, you can make one yourself. Go to Opt. | Preferences and click on [Patch Map] (Band-in-a-Box® 11and earlier: Opt. | Utilities | Make a Patch Map (Basic)). Beside each instrument, type in the patch number that your particular synth uses for that instrument. Next, go to Opt. | Preferences and click on [Drum Kit] (Band-in-a-Box® 11 and earlier: Opt. | Utilities | Make a Drum Kit). Beside each drum sound, type in the note number that your synth uses for that sound.
Other settings stored in .DK files are found in Opt. | Preferences | [Channels] (Band-in-a-Box® 11 and earlier: Opt. | MIDI Channels, Options). For example, if your synth uses a channel other than 10 for drums, you can specify the channel number in that dialog.
Once you have set up the Patch Map, Drum Kit, and Channels, save your settings as a .DK file. To do this, go to Opt. | Utilities | Save Alternate Drum/Patch File. You should save your file as XXXXX.DK (where XXXXX is the name of your synth), and make a backup of this file in case you lose it. You could also save your setup as the default MYSETUP.DK by pressing the [Save] button in the Patch Map, Drum Kit, or Channel dialogs. MySetup.dk is loaded automatically when you start Band-in-a-Box®.
Another way you can make a patch map is by using Opt. | Utilities | Make an Advanced Patch Map, although this is not used very frequently anymore. Here is an example of how you would use this dialog: On the General MIDI bank (Bank 0), patch 27 is Jazz Electric Guitar. Say you have a great guitar sound in your synth on BankLSB 4, patch 27 that you would like to use in place of the General MIDI Jazz Guitar sound. You would select patch 27 from GM list on the left, enable the Advanced Settings by clicking on the checkbox, click the Bank (ctrl 32) checkbox, and enter in 4. In the same way, you could go through the list of other GM patches until you are done entering/mapping the information that you want. This will get saved to the MYSETUP.DK file. As explained above, you should make a backup of the .DK file, and save your file using Opt. | Utilities | Save Alternate Drum/Patch File. Now when you use the program, it will use the patches you like, regardless of where they are on your synth. Note that in Band-in-a-Box® 12 or higher, you must enable the Advanced settings in the Advanced Patch Map dialog whenever you launch Band-in-a-Box® and want to use the Advanced Patch Map, since by default this feature is disabled.
In summary, settings from the following dialogs can be saved in *.DK files:
- Opt. | Preferences | Patch Map.
- Opt. | Preferences | Drum Kit.
- Opt. | Utilities | Make an Advanced Patch Map.
- Opt. | Preferences | Channels.
- OPt. | Preferences | Fav. Patch.
How to access higher bank patches other than the basic general MIDI patches
There are three things that control which sound you hear on your synth.
- Program #
- Bank MSB, or Controller 0 (often abbreviated CC).
- Bank LSB, or Contoller 32 (often abbreviated CC32).
When the MIDI standard was first developed, it was only possible to select from up to 128 patches (sounds). You did this by sending a Program Change message. To increase the number of patches available on any one synth, the Bank Select command was introduced. There are two controller messages in the Bank Select command: Controller 0 (MSB) and Controller 32 (LSB). To choose a patch, you send a Bank Select controller, followed by a Program Change. Some synths require both controller 0 and controller 32 together and some require them one at a time. In general, Roland tends to use controller 0, Yamaha tends to use controller 32, and Korg will often use both or a combination of the two. You should check the documentation for your particular synth for more information.
The General MIDI (GM) standard specifies 128 patches. These are usually defined to be the 128 patches on Bank 0, while other patches are on 'higher banks'. Since both Bank MSB and LSB can be a number from 0-127, these two messages theoretically allow you to access up to 16,384 banks of 128 patches each.
If you have an instrument list for your synth, you can simply choose your patch for each track by selecting the correct Program (instrument pull-down menu) and Bank select numbers (Bank0 and LSB boxes).
If you would rather select patches on higher banks by name, you will need to use a patch map (.PAT file). To use a patch map to select patches on higher banks, first select the track (Piano, Bass, Guitar etc.) that you want to change the patch on. Then, click on the [+] button beside the Instrument pull-down menu or select Opt. | Utilities | Choose Patch from Higher Bank. In the Open File dialog, select the .PAT file that you wish to use from the BB folder and press [Open]. You can now select any patch that has been defined in the patch map.
We include some common patch maps with Band-in-a-Box®. You will find these in the main BB folder. There are also other patch maps available for download from our website. In addition, Band-in-a-Box® 2005 includes a utility which will automatically convert existing PowerTracks Pro Audio patch maps (.INI files) and Cakewalk Instrument Definition files (.INS files) to Band-in-a-Box® patch maps. To run this utility, open the 'Patches on Higher Banks' dialog in Band-in-a-Box® and press the [INI/INS...] button. If you don't find an existing patch map for your synth, you can create one yourself. You can either expand on one of the existing patch maps, or create a patch map from scratch, using a simple text editor such as Notepad or WordPad. You will need documentation for your synth that contains an instrument list.
How to convert a PowerTracks or RealBand .ini file, or Cakewalk .ins file, to a Band-in-a-Box® patch map (.pat file)
Band-in-a-Box® 2005 and higher have a feature that will automatically convert a PowerTracks Pro Audio patch map (.INI file) or a Cakewalk instrument definition file (.INS file) to a patch map you can use with Band-in-a-Box®. To use this feature, first open the Patches on Higher Banks dialog by clicking on the [+] button near the top of the main Band-in-a-Box® screen, to the right of the instrument pull-down menu. If you have not previously opened this dialog, you will be prompted to choose a .PAT file first. If none of the existing patch maps apply to your synth, you can just choose any one of them.
Once you are in the Patches on Higher Banks dialog, click the [Open INI/INS] button. In the File-Open dialog, select the file that you want to convert. If the patch map has more than one patch list, you will see them all listed. You will need to convert one patch list at a time. Normally it is easiest to have a separate patch map for each of the patch lists, however you can combine them if you wish, just by copying and pasting between the files using Notepad. The topic below will be helpful for you to understand the structure of the patch map file, however you won't need to know all of the details to combine your patch lists.
Manually Creating a Band-in-a-Box® Patch map
You can manually create a patch map by using a simple word processor, such as TextEdit. We will use the Roland SC8820 as our synthesizer example.
If you want to add comments to the PAT file you must insert a semi-colon. Here is an example:
; This is how you would add comments to a pat file.
; You can add as many comments into the file as you wish
; as long as you insert a semi-colon. It is a good idea to
; include some basic documentation - information about what
; synthesizer(s) the patch map can be used with, and what
; banks of sounds it allows you to access.
One thing you will need to know is which controller your synth or module uses to send bank changes. This information can usually be found in your synth documentation. As a general rule:
- Roland uses controller 0 (MSB)
- Yamaha uses controller 32 (LSB)
- Korg will often use both or a combination
You enter patches into your patch map using the following format:
Your first bank should consist of 128 patches. In most cases this is the GM bank which is Bank 0. You do not need a header for Bank 0 like you would with the other banks, and you only need the patch number. For other banks, you need to insert a header, such as "[Bank 1]". Below is a sample patch map. Note that in this example, Bank 0 only has 7 patches. Normally there would be 128.
; This is a sample patch map for the Roland SC8820
; The SC8820 Uses Controller 0, which is also known as MSB
17.2=Ful Organ 1
As an example, let's look at Bank 1. The first instrument is Patch number 1, Bank (MSB) 1, and the instrument name is Upright Piano.
Some synths or modules use controller 32, which is also known as LSB. It follows the same principle as above. Below is a sample patch map.
; This is an example of controller 32, as well a synth that uses
; both controller 0 and 32.
; In this case, you do not need to enter a bank header like the Controller 0 patch maps
Again the first number represents the Patch number. The second number represents the controller 0 bank number, and the third number is the controller 32 bank number.
Patch number 1, controller 0 bank 0, controller 32 bank 1.
Patch number 6, controller 0 bank 2, controller 32 bank 1.
Patch number 9, controller 0 bank 2, controller 32 bank 12.
Once you have finished creating your file, give it a name such as "MyPat.pat". "MyPat" can be any name you choose. Put your patch (*.Pat) file that you created into your Band-in-a-Box® Folder (usually C:\bb), and you are finished. If you create a patch map that is not available for download on our website, and you would like to share it with other Band-in-a-Box® users, please email the file as an attachment to firstname.lastname@example.org.
Unconditional 30-Day Money Back Guarantee on all products purchased from PG Music Inc.
PG Music Inc.
29 Cadillac Ave Victoria BC Canada V8Z 1T3
Sales: 800-268-6272, 250-475-2874,
Tech Support: 866-983-2474, 250-475-2708, + 800-4746-8742*
* Outside USA & Canada where International Freephone service is available. Access Codes