Managing banks and programs for MIDI devices

Managing banks and programs for MIDI devices

The MIDI bank and program editor

Remember that each MIDI device contains a number of instruments, and that you can assign tracks to those instruments. In MIDI terms, each instrument corresponds to a single channel on your MIDI synth. You can choose which of the available voices (sounds) on your synth each instrument uses, but in order to do this, you need to let Rosegarden know the names for all of the available voices.

This dialog allows you to attach banks of programs (names for voices) to your MIDI devices, thus permitting each instrument on a device to be set to use one of those voices in the Instrument Parameter Box.

The usual way to set up the program names for a device is simply to import them from one of the supplied device (".rgd") files. To do this, select a device in the list on the left of the dialog, then click the Import button below the list and choose the .rgd file corresponding to your synth.

If there is no current .rgd file available for your synth, then you can use this dialog to create a new bank. To do this you will have to find the program map in your synth's MIDI Implementation Chart and enter all the names by hand: you can then Export them to a .rgd file to share with other Rosegarden users. Contact the rosegarden-user mailing list if you have made a new .rgd file and would like to share it. (This is how all of the existing .rgd files have come to be included with Rosegarden: other users have contributed them.)

Percussion Key Mappings

Many MIDI synthesizers have at least one percussion program, in which each "pitch" plays a different type of sound. Rosegarden contains a dedicated percussion matrix editor to view and edit notes against a scale consisting of the correct names for the pitches, instead of against the conventional piano keyboard pitch scale.

The key mappings available for a particular MIDI device are also defined in the Rosegarden device (".rgd") file. Each MIDI program that is defined as a percussion program can have a key mapping associated with it; if there is one, then it will be used by default in any track that is assigned to this program. Like program and bank definitions, key mappings can be imported from and exported to .rgd files.


If you happen to be using a soft-synth or soundcard synth that uses SoundFont (.sf2) files, you can simply load the correct program names directly from your .sf2 file into this dialog. Just ask to Import as normal, and then choose the .sf2 file that you are using instead of a .rgd file.

Note that the Studio only manages information about existing MIDI devices for Rosegarden, it does not actually handle tasks such as loading a SoundFont to your soundcard in the first place. If you want to make sure a SoundFont is loaded to your soundcard when Rosegarden starts up, you should use the special "Load SoundFont to SoundBlaster card at startup" option in the sequencer configuration in Settings->Configure Rosegarden....


Some MIDI devices (for example, those from Roland) organise their program names using a scheme known as "variations". For these devices, you generally want to select a program by first selecting the basic program name — such as a piano — and then selecting one of a set of variations on that program — such as an electric piano. This is in contrast to General MIDI-based synths, which organise their programs into banks and expect you to choose a bank first and then a program from that bank.

Rosegarden can support devices that use variations, but you still have to enter the program names in a bank format. Internally, devices that use variations still use MIDI bank select controllers to choose between the variations; you need to find out from your synth's documentation whether your device uses the LSB or MSB bank select to choose variations, and which bank number corresponds to which variation. You can then enter the banks as normal, and use the "Show Variation list based on MSB/LSB" option on the bank dialog to tell Rosegarden to show variations instead of banks when displaying that device in an instrument parameter box.

Program mapping on MIDI import

When you import a MIDI file into a composition, Rosegarden uses the existing studio setup to determine how to map the MIDI programs onto Rosegarden instruments. The aim is to ensure that every MIDI program gets mapped to an instrument that really exists in your studio (and thus is actually attached to your computer), so that all the MIDI tracks can be heard.

The MIDI program-change and bank-select events found in the imported file are used when importing, but only as an aid to help find the appropriate instrument for each MIDI track from the set of instruments in your studio. So, for example, if your studio is currently set up to contain only GM instruments, and you import a MIDI file with GS program changes onto it, Rosegarden will remap the GS banks back onto GM because they're all it knows that you have at the time you import the file. It doesn't remember the original GS program numbers.

This means that you should always ensure that your studio is correctly configured for the devices you actually have, before you import the MIDI file. Otherwise the program data in the MIDI file may be lost.