You want to play a particular track using a hammered dulcimer, or else you've got an audio track that needs some EQ. In either case, you need an introduction to the instrument. Instruments are configured with the Instrument Parameters box, and any number of tracks can be assigned to play via the same instrument.
The previous chapter introduced you to the device, which is a construct Rosegarden uses to encapsulate information about what lies on the other side of a play or record connection, and make the capabilities of that equipment available to you. Hand in hand with the device is the instrument.
Every device has 16 instruments numbered #1 through #16. When working with MIDI playback devices, each of these instruments encapsulates a MIDI output channel (the same channel as the number of the instrument by default, although this relationship is not fixed), a bank/program/variation assignment, and any initial controllers you wish to affect the associated channel. These instruments allow you to assemble up to 16 collections of programs/controllers per device and assign these combinations to any number of tracks. If your JACK server is running (and if your distro compiled and packaged Rosegarden properly), you should have both an "Audio" device and a "Synth plugin" device in addition to however few or many MIDI devices you have available. Each and every one of these has 16 instruments.
When working with audio and synth plugins, these instruments serve the same purpose as MIDI channels, allowing you to configure up to 16 different combinations of LADSPA plugins, volume and pan settings, programs (for synth plugins) and so forth, and then apply these combinations to any number of different tracks.
I'll try to illustrate the point with some diagrams depicting the three general types of instruments. Here we have a sample MIDI instrument that will play using a hammered dulcimer program. All tracks assigned to play via this instrument will play using the first output port on the Sound Blaster Live!, using program 16 from bank 0 0, with an initial volume of 100, and an initial reverb level of 97. This instrument will show up as "Sound Blaster Live! (1) #12 (Hammered Dulcimer)" on the menu.
NOTE: While the instrument number and channel do coincide by default, it's possible to change this relationship. I have done so in this example. Instrument #12 plays using channel 6.
This is a typical synth plugin instrument. The sound it makes will depend on the synth plugin used, but all tracks assigned to play via this instrument will make the same sound. Its output will be piped through the EQ and Reverb plugins, and this instrument will show up as "Synth plugin #12" on the menu.
This is a typical audio instrument. Any audio tracks assigned to play via this instrument will have their output piped through the EQ and Reverb plugins, and this instrument will show up as "Audio #12" on the menu.
Notice that all of the above examples were "instrument #12," and yet all three of them will produce quite different results, because each of them is the "instrument #12" of a completely different device.
The first step in the assignment process is to route a track to a particular device. The device you use will determine whether you can play audio or MIDI data on this track. In order to make this device assignment, begin by clicking the mouse cursor in this area, and holding a moment until a context menu appears.
Most MIDI equipment has some way of playing drums using a bank of percussion sounds that are mapped to various pitches on the keyboard. Basic General MIDI equipment has only one standard drum kit, and you most likely need not do more than assign an instrument to output on channel 10 in order to make use of it. Most higher-end equipment and many soundfonts offer alternatives to this standard kit.
The pattern for most other equipment, and for most soundfonts, is to put alternate drum kits into bank 1 0. To get to the "TR 808" kit in the "PC51f.sf2" soundfont I normally use on my Sound Blaster Live!, I dialed in bank 1 0 and program 26.
NOTE: Pay particular attention to the fact that since the drum programs we're after in this case are not in the same bank as the General MIDI programs, the Percussion checkbox is not checked.
If you want to use a track for audio, you'll need to make it an audio track by routing it to the "Audio" device. (If you do not have an "Audio" device available, please ensure that your JACK server is running.)
As mentioned in the introduction, Rosegarden is the first sequencer for Linux to employ the new DSSI plugin architecture. If you have your JACK server running, and your Rosegarden package was built correctly, you should have a "Synth plugin" device available. Each of the 16 synth plugin instruments can take a different synth plugin, and can have up to five LADSPA plugins layered on top of the basic sound the synth plugin produces.
Begin by routing a track first to this device, and then to one of the 16 available instruments.
After routing a track to a synth plugin instrument, the Instrument Parameters box will show a new set of controls. These are similar to the controls for audio instruments. To configure this synth plugin instrument, begin by clicking on the "<no synth>" button.
After first clicking the button, you will need to dial in one of the plugins you have installed.
After dialing the Plugin combo box to "Xsynth DSSI Plugin" the dialog box will transform itself into something like this:
I have to leave it up to you to play with the knobs and discover how to twiddle this into making interesting noises. This synth plugin is not nearly as complex as ZynAddSubFX, but having it effectively built right into Rosegarden has some advantages.
no need to tinker with JACK routing, since it plays through Rosegarden's JACK connection
settings for the knobs are saved with the composition, which allows you to dial up custom patches and save them with your file without having to fool with the external editor
with 16 plugin instruments, you can have 16 Xsynths if you want, each with its own patch, and its own set of LADSPA plugins
If you click on the button you can use Xsynth's external editor to manage its controls in a different way, change several parameters, and to manage your collection of custom patches. While it isn't necessary to do this, you may find it useful to save named presets to disk, and you might find the plugin's own native GUI is slightly more informative with respect to what the various knobs are for. (In particular, the native GUI tells you what kind of wave form the various numbers represent, while Rosegarden's plugin interface does not.) The GUI is an independent module unrelated to Rosegarden, which is why the look and feel are so different.
TIP: This thing is uncomfortably large for my screen. If you have the same problem, remember that you can drag it around even when its title bar is hidden off the top of the screen. Hold down the Alt key while clicking on the window with your mouse, and reposition it as necessary to get to all of the controls.
FluidSynth-DSSI is a plugin built around the same underlying engine that powers QSynth. The plugin implementation isn't quite as friendly to use as QSynth, but it affords most of the same functionality in a package that's integrated into Rosegarden's user interface.
After dialing the Plugin combo box to "FluidSynth-DSSI Plugin" the dialog box will transform itself into something like this:
There are no knobs for this one, and everything must be done using the external GUI.
Click on the button.
You'll need to load a soundfont into it with the button.
After you have loaded a soundfont, you can use the Program combo box to dial in any of the programs available in the soundfont. This interface does not separate them into individual banks in the same fashion you saw elsewhere. Instead, all available programs in the entire soundfont are presented within one top to bottom list.