Instrument definitions make life easier when using hardware instruments or effects with Sonar.
Despite the ascendancy of software synthesizers, most of us still use some MIDI-controlled hardware synths or signal processors. To simplify working with them in Sonar, you can use Instrument Definition files (with an INS suffix) that specify the synth's (or effect's) presets and controllers. Upon loading the INS, that instrument definition becomes a part of Sonar. And, when you want to call up a preset, instead of having to figure out which particular preset to assign, you can simply choose its name from a MIDI track's patch pop-up menu (you may also need to specify a bank). Similarly, when assigning automation from the Edit Filter, you can choose the desired controller by name and not have to concern yourself with its number.
However, first you need an INS file. We'll cover the four ways to obtain one, going from easiest to hardest:
Writing an Instrument Definition file isn't particularly difficult; it's sort of like writing an SFZ file or some other text-based code. While some of the process may seem intimidating as you read over this column, when you actually have the Instrument Definition text in front of you, and similar versions, so that you can copy the basic format, it's not that difficult.
The default INS file location is [your user name]/AppData/ Roaming/ Cakewalk/SONAR X1. You'll see the '.ins' files mixed in with various other files. Any INS files that you import (as described later) become part of a master.ins file, which is also in the same folder. This is the file in which Sonar actually looks for its data.
For example, suppose you have an Ensoniq TS10 synthesizer (which you were smart enough to keep around because it has polyphonic aftertouch). This is supported by Sonar, which simplifies the procedure we're about to describe. (The same procedure is also used to load a user-generated instrument definition file, except that in order to load it, you'd need to navigate to wherever you saved the downloaded file.)
From the MIDI track's Channel pop-up menu, choose a channel for the instrument. Select the desired bank from the Bank pop-up menu, then choose the desired Patch from the patch pop-up menu. The synth will switch to the patch you selected, and you're ready to go.
However, note, in this case, that if you select automation from the track's Edit Filter, there are no TS10-specific controllers listed. This is fairly common; often, an instrument definition will include only patches, but not controllers. So let's segue into how to modify an instrument definition.
You first need to find a MIDI implementation chart so you can enter the appropriate controllers. If you don't have a manual handy, you'll need to play 'Ask the Internet'.
The Ensoniq.ins file is a standard text file, so you can open it up with Notepad in order to modify it (I made Notepad the default program for opening INS files; that way it's not necessary to change the suffix to open or save the file).
A typical instrument definition file has six main sections, each of which is preceded by a full stop: .Patch Names, .Note Names (this if for drum sounds), .Controller Names, .RPN names, .NRPN Names, and .Instrument Definitions. You enter specific data (for example, Patch Names) in the appropriate section, then refer to that section in the .Instrument Definitions section itself. We'll show an example of this shortly. Comment lines are preceded by a semi-colon.
Look in the .Controller Names section to see if there's any controller listing that matches the actual MIDI implementation. The closest in the Ensoniq.ins file is [Standard], so we'll copy it and modify it to match the TS10 MIDI implementation chart. Name this listing [TS10 Controllers].
Now, under the .Instrument Definitions section, there's already an entry for the TS10 (if there hadn't been, the patches would never have shown up). But the existing Control statement is simply Control=0.127, so it only specifies that a range of MIDI controllers are available, not what they are. We can change this to Control=TS10 Controllers so that it refers back to the entries made under .Controller Names. (Remember, this is code, so inconsistencies or typos will mess things up!)
Save the file. Now re-import it into Sonar (following steps 1-7 above) to integrate your changes into the master.ins file. Assuming you've selected the right instrument as a target, the next time you go to the edit filter and select Automation/MIDI, you'll see the names you just entered associated with various controllers.
We've covered the basics, which is what most people will need. There are two main aspects of creating your own file from scratch: entering all the patch names for a synth, and, for those synths having more than 128 patches, the method of bank selection. If typing a zillion patch names makes your head explode, you may be able to download a patch list as a DOC or PDF file where you can select the text, then paste it into the INS file. You'll probably need to clean it up, but it's better than typing in all those names.
The bank selection process can be complicated, as there are four basic methods. The most common is to use a Controller 0 or Controller 32 message, or a combination of messages from the two controllers. However, older synthesizers may simply use a patch number. Bank selection is an essential part of the .Instrument Definition section; you can see the specified patch names for banks in the Define Instruments and Names window by expanding the folders called Patch Names for Banks in the left pane, or Patch Names in the right pane, which lists all patch names for all instruments in the master.ins file.
Describing how to create an Instrument Definition from scratch would take much more space than remains but, fortunately, there are some useful tutorials on how to do this. One is Sonar's own help menu; while you're on the Define Instruments and Names window, click on Help. There's also Cakewalk's Instrument Definitions support document. Another helpful tutorial is 'How to Write a Sonar Instrument Definition' at . The more you search the web, the more you'll find. Just don't forget to check whether a file already exists; there's a good chance someone has already done the hard work for you.