Contents Previous Next

5 Managing Instruments

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.

5.1 Instruments

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.

5.2 Routing a Track to a Device and Instrument

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.

You should be presented with a series of two menus that allow you to choose first the device and then the instrument for this track.

In this case, I chose to route it to my "Roland SC-33" device, which is ultimately connected through my Rosegarden studio to play through ALSA port 64:0, and thus the Roland Sound Canvas I have plugged into the box physically attached to my computer.

Then I assigned it to that device's instrument #6. Prior to taking this snapshot, I had already configured this instrument to play using the "Piano 1" program with the Instrument Parameters box (more on that in a bit), and so that name appeared in parenthesis in the second menu. If an instrument hasn't already been directed to make use of a particular program, only the instrument number will appear on this menu, as is the case for most of the other instruments depicted.

Notice also that instrument #10 has (D) in parenthesis, indicating that this instrument is normally used for playing drums. (Whether it actually plays drums depends on the capabilities of the MIDI equipment or software synth represented by this device, and probably depends on this instrument continuing to remain at the default channel assignment of 10.) In this example, I arranged beforehand for this instrument to play using the "Power" drum kit.

The remaining instruments are not assigned to anything in particular yet, and on most General MIDI-compliant equipment (or software synths) these instruments will probably play using a factory default piano program, with volume and other controllers set to neutral default values. Some equipment may not actually produce any noise until you explicitly assign a program to any instruments you use.

5.3 MIDI Instrument Parameters

Now that the track has had its output routed to a MIDI output device and instrument, and is therefore a MIDI track, the Instrument Parameters box will display controls similar to these. They allow you to reassign the channel for this instrument, and to dial in a program. Depending on how your synth/soundfont is set up, you may have to deal with a few different scenarios here.

5.3.1 Simple General MIDI Instruments

At the simple end, assigning a "Harpsichord" program to a basic General MIDI device only requires that you use the Program combo box to pick out the appropriate name.

5.3.2 GS Program and Variation Instruments

With any of the GS devices from the Library, you can dial in both the program and variation. For example, "Church Org 3" is a variation of "Church Org 1." In order to get here, dial "Church Org 1" into the Program combo box, and then dial through the possible variations with the Variation combo box.

5.3.3 Drum Instruments

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.

5.3.4 GS Drum Kits

The GS drum kits and the Capital Tones/General MIDI programs are both in bank 0 0. If a particular channel on the hardware is set to be in drum mode, that channel will respond to program changes by playing with alternate drum kits; otherwise it will play programs and variations in the usual fashion. For our purposes here, it is sufficient to know that channel 10 is normally in drum mode by default. In order to access the alternate set of programs for bank 0 0, check the [x] Percussion checkbox, then dial a new kit into the Program combo box. Here I have dialed in the "Power" kit for my Sound Canvas.

Rosegarden's knobs have come a long way since this shot was taken.

5.3.5 Alternate Drums in Separate Banks

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.

5.3.6 Controller Knobs

You may change the default controller values by adjusting the knobs. The tooltip explains how to use them just as well as I could.

NOTE: If your knobs do not have a crisp, clear appearance like the ones above, you might need to increase your KDE color contrast to a higher setting. Low contrast produces rather fuzzy, indistinct knobs. Adjust this with KDE's Control Panel (kcontrol), under Appearance & Themes -> Colors. Non-KDE users may be stuck with whatever they get.

5.3.7 Setting Initial Track Volume and Other Parameters

These initial controllers here inside the instrument provide the mechanism whereby you configure initial volume, pan, and similar settings for the track (if supported by the equipment, and properly configured into the device.) Any tracks that are routed to play through this instrument will share this instrument's parameters.

If you change these knobs in the middle of playing a composition, the new settings should take effect immediately. However, they are still only initial settings for the instrument, and the new setting will be in effect after you've rewound the composition to the beginning.. If, for example, you want to change the pan setting in the middle of a composition, you must do it by inserting controller events from the event list editor, or from a controller ruler in either the matrix or notation editors, as I will explain in due course.

NOTE: If you notice that your initial controllers are not taking effect, as can sometimes be the case when you have changed a controller value in the middle of a composition, and have rewound it to the beginning, you may need to check Settings -> Configure Rosegarden -> Sequencer -> Send all MIDI Controllers at start of playback [x]


5.5 Audio Instrument Parameters

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.)

5.6 Audio Instrument Parameters

Audio instruments have different controls available in the Instrument Parameters box.

They have a mono/stereo toggle, ( ) and various controls for adding plugins and adjusting levels.

If you wish to assign LADSPA plugins to the instrument, you may use one of the "<no plugin>" buttons to summon a dialog similar to this one. You can narrow in on what you want using the Category: selector, and then dial in a particular plugin with the Plugin: selector. As you dial through these, the knobs in the bottom half of this dialog box will change to reflect the controls that are available for this particular plugin; ranging from one knob to a screen full of them. You can layer up to five plugins for each instrument in the "Audio" device, hardware allowing. Some plugins are particularly expensive in their use of your system's resources, so using too many may cause performance problems.

5.7 Synth Plugin Instrument Parameters

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.

5.7.1 Select a Synth Plugin

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. Xsynth

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. Xsynth's External Editor

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

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: FluidSynth's External Editor

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. Selecting a Program

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.

NOTE: In the case of the particular soundfont I have loaded in the example above, the extra drum kits that are normally found in bank 1 0 (using QSynth or the Sound Blaster Live!) are instead located starting at program number 128. There is, in effect, only one gigantic bank.

Contents Previous Next