The Art of REAPER MIDI Patch Banks by joel Sampson, Dallas, TX Djembe Studios www.djemberecords.com A little background: While I have several Digital Audio Workstations, REAPER is now my DAW of choice. It is lean, fast and has a great license. I'm primarily a MIDI based studio using MIDI hardware (keyboards, synths and sound modules), not VSTi soft instruments. I track live acoustic and electric guitar, bass, flutes, saxophones and percussion instruments in the control room. When I started creating music with a computer in the mid 80's, it was impossible to record professional audio with a computer. But MIDI, which takes less computing power, worked well. I was the first to put drum patterns (also in MIDI format) on a computer disk, through my publishing company, Five Pin Press (www.fivepinpress.com). We sold thousands worldwide and had distribution in Paris and Berlin. I also founded Joel Sampson MIDI Source, a wholesale MIDI hardware and software distributor based in Dallas, now closed. REAPER handles MIDI a little different than many other sequencers. For example, the mixer Volume control does not control MIDI volume (via Control Change #7). Nor does REAPER directly change MIDI patches and banks. However, there is an easy solution, it's the included ReaControlMIDI VST. The ReaControlMIDI plug-in reads .reabank files that contain five patch and bank information for hardware and software instruments. This five page document is what I have learned in creating a dozen or so reabank files. Basic MIDI setup in REAPER Note: your MIDI input and output devices are setup in the Options Preferences MIDI Devices pull down. You need to configure Reaper first, if you have not done so. 1. Open Reaper and Right Click in the track pane (on the left) to create a new track. Or you can use the Control-T hotkey combination. 2. Click the R box on the left. This arms the track for recording. It will also turn red. 3. Click the speaker icon, it will turn solid white. This will send your MIDI controller output to the selected MIDI output. If you are using a keyboard with internal sounds you will NOT want to do this action. If you do, you will hear double sounds. 4. The Input selection defaults to Analog 1. We want MIDI input, so click on that area and select MIDI Input and the desired input device. You probably want to select All Channels as an option. 5. Click on the io button. 6. Under ­ MIDI Hardware Output ­ select your MIDI output device. You can leave the default Send to Original Channels selected. For a unit with multiple channels, you may want to select a channel. For example, piano on channel 1, bass on channel 2, etc. Drums often only work on channel 10. MIDI has 16 channels, numbered 1 to 16. 7. You should hear something on your MIDI module if you play on your set MIDI input keyboard. MIDI Patches & Banks Now that you have MIDI going, we can select the desired patch or sound. MIDI instruments can have up to 128 different sounds or patches. When the MIDI standards were written, many instruments only had 32 or 64 patches, so 128 was enough. Modern instruments often have over 1,000 different sounds. To enable this Page 1 amount, patches are arranged in banks of up to 128 patches each. You can have several banks. Patch numbers are usually listed as a range of 1 to 128. However, this is represented internally as a range of 0 to 127, because computers start numbering at zero. This can be somewhat confusing. Banks can be somewhat complex also. Bank changes requires three pieces of data: MIDI Control Change #0, the Most Significant Byte (MSB) of the bank select and Control Change #32, the Least Significant Byte (LSB) of the bank select. The bank change values must be followed by the Program Change, the 0-127 patch number mentioned above. Using ReaControlMIDI To set MIDI parameters in REAPER, you use the VST FX ReaControl MIDI. It is included in REAPER. Here is how to load and use it: 1. Click the FX button on the track. 2. Under the VST listings select VST: ReaControlMIDI (Cockos). You can also search for it at the bottom, if that's easier for you. 3. Click the Enable box under Bank/Program Select. 4. I usually check the Enable box under the Control Change section as well. This allows you to use the Volume, Pan and other MIDI Control Change parameters. 5. Click the Load File button and select the desired patch/bank select file. 6. Note: ReaControlMIDI can read both .reabank files (which we will discuss) and Cakewalk/Sonar .ins instrument files. It will always go to the same directory. The easiest method is to place all your .reabank (or .ins) files in a new folder. I call mine Reaper Reabanks. This makes it easier to update and manage your collection of banks. Once you locate the directory the first time, REAPER will remember it. 7. Select the desired Bank and Program (Patch) with the two drop down menus. A screenshot of a ReaControlMIDI is shown below: Page 2 Where to find reabank files http://stash.reaper.fm/tag/Bank-Patches ­ Official Reaper stash of banks (thanks Justin!) http://www.djemberecords/reaper ­ Reaper resources on my web site http://www.cakewalknet.com ­ Sonar .ins files collection Creating custom reabank Files It's not too difficult to create your own reabank file for use in REAPER. Here are the technical guidelines and some tips for style and ease of creation. Typing ability helps! All reabank files have a .reabank file extension. The .reabank file is a pure text file with no formatting characters. It's easier to use with a text editor rather than a word processor. There are many good text editors for all platforms and most of them are also free. I also use a spreadsheet for data manipulation. You may need the Adobe Reader, also free and installed on most computers. More on software tools below. A comment in a reabank file is indicated by two slashes, "//". I like to put a content section at the beginning of my files, such as the one below. I often list how to enter the Demo mode and a few other notes as well. Comments are just notes to the creator or the user. They are optional and do nothing but document the file. I like to begin reabank files with a heading, similar to this one: // ---------------------------------------------------------------------------- // Filename: Yamaha_TG100.reabank // Device: Yamaha TG100 // Last Revised: 11/22/10 // // Author: joel Sampson / Dallas, Texas // // Music at www.djemberecords.com // Art at www.joelsampson.com // Music publishing at www.fivepinpress.com (free drum patterns!) // Please e-mail me any errors via my web sites. // // The Yamaha TG-100 is a . . . description might go here // Notes and how to enter the demo mode might go here // The heading is optional // ---------------------------------------------------------------------------- The actual data begins with a Bank line followed by a patch list. A code fragment is listed below: // TG100 General MIDI Bank Bank 0 0 General MIDI 0 1 Grand Pno 1 2 Brite Pno 2 3 El. Grand 3 4 Hnky Tonk 4 5 El Piano 1 5 6 El Piano 2 6 7 Harpsich 7 8 Clavi. 8 9 Celesta 9 10 Glocken 10 11 MusicBox Page 3 11 12 Vibes 12 13 Marimba 13 14 Xylophon The rest of the patches go here 122 123 Seashore 123 124 Tweet 124 125 Telphone 125 126 Helicptr 126 127 Applause 127 128 Gunshot What does it mean? The first line indicates the bank number, which consists of two numbers, the Most Significant Byte (MSB) and the Least Significant Byte (LSB), as mentioned above. The form is: Bank MSB LSB Bank-Name An actual line is: Bank 87 64 Preset A - Pianos, Bells, Mallets This bank sets the MSB at 87 and the LSB as 64. The text "Preset A ­ Pianos, Bells, Mallets" describe the bank. Get the LSB and MSB values from your manual. Next is a list of patches in the form patch-number description The patch-number typically begins numbering at zero. On many modern instruments the range is 0 to 127, or 128 patches. This information is also in the instrument manual. Perhaps, somewhat confusing is the second number, as below: 0 1 Grand Pno Zero is the actual patch number, the number that counts. The 1 is part of the description, and "1 Grand Pno" is what is displayed in ReaControlMIDI. I have found that a leading number makes it easier to find the patch you are looking for in a list and is also matches the patch number listed in the manual, which usually begins numbering with one. I also like for the columns to line up, as it makes reading the list easier. It makes no difference in use or function. However, consistent form makes it easier to read and I often print out the .reabank patch list and and make notes on my favorites patches. It can be difficult to manage 1000+ patches. Tips on Creating reabanks The most basic method to create a reabank file is to just type. And sometimes that is just what you have to do. However, there some data manipulation tricks that will really help you. I cannot give you specific directions, because every one will be a little different, depending on the patch data you have to work with. The first tool that will help is a text editor that does vertical columns. I use Notepad ++, a free, open-source application for Windows. Download it at http://notepad-plus-plus.org. It's a great text editor for HTML, programming and other applications and has a column mode. The column mode will select a rectangular zone anywhere in the document. It's easy to use, just press the mouse on one corner and press the ALT key and drag. The marked rectangle will indicated by a gray box. This is particularly helpful to clean up formats. For example, it's easy to a move a column over a space or insert a column of patch numbers. Page 4 An example in Notepad++ with a vertical column marked is below: The key to the faster creation of reabanks files is getting some raw data, especially the patch names. If you can find a bank for another DAW you can use search and replace to save a lot of time. An approach that often worked for me is to locate the instrument manual on the web in .PDF format. Most of the manuals have text that can be copied into the copy buffer (control-C) and pasted (control-V) into another application. Instant typing! I use the Open Office Calc spreadsheet for this purpose. Open Office is another free, open source application that is a complete office suite. Download it at http://www.openoffice.org. It is available for Windows, Mac and Linux. You also need Adobe Reader to read the PDF file, also free. You probably already have that installed. Here's how to make it all work. Find the patch listings pages in the PDF manual. Click and drag the mouse to mark and copy in one column of patch data. Open a new spreadsheet in Open Office Calc and pull down Edit Paste Special. You can also right click to select this option. Select Unformatted Text. In the next screen select the Spaces option and click on OK. This may not import 100% correct, usually due to the fact that some patch names are often one to four words. This shifts some data to the right. You have to manually align the columns of data. You simply click and drag the mouse across several cells, and manually move the cells where you want them. You can use the spreadsheet functions to great advantage too. I often do math, such as =A1 ­ 1 to subtract one from the imported patch number. I also make extensive use of the concatenate function for text, =CONCATENATE(C14;" ";D14). This combines the text in cell A1 and B1 with a space in between. When I get the spreadsheet look the way I want it, I save the page for future use. I then mark the area I want to move with a click and drag of the mouse, put the selected area in the copy buffer with either Edit Copy or Control-C. Make your text editor window active and paste with Edit Paste or Control-V. Some actions are easier in the spreadsheet and some are easier in the text editor. Use whatever works for you. All sets of data are similar, but different and there are no absolute rules on the best way to do this. When you are done, save the .reabank file as pure text. You will need to manually add the .reabank file extension. Load it into the ReaControlMIDI VST and go through the test and edit cycle. I usually have some errors, typos and things I don't like. I encourage you to upload your creation to reaper.fm and share it with the world. I hope this guide was of use to you. I plan on writing some more Reaper MIDI guides. joel Sampson / Dallas, Texas Copyright 2011 by joel Sampson, All Rights Reserved Last Revised 1/1/11 Page 5