Rosegarden uses the term studio to refer to everything it knows about the sound systems attached to the computer. This may include MIDI and audio hardware and other sound software, and includes information about connections, configuration, MIDI patches and so on. The studio is built-in to every composition you create with Rosegarden.
Three pieces of terminology are essential here :
A “device”, as far as Rosegarden is concerned, is simply something capable of producing sounds. This may be a MIDI or audio device. MIDI devices do not necessarily correspond directly to physical MIDI ports: they are just things with names that you can refer to, expected to work in particular ways. Configuration information such as MIDI patch maps can be attached to devices.
Each device has a number of “instruments”, each of which is assumed to make a particular sound. These are the things that you can assign tracks to in order to choose which sound they play. By default, a device contains 16 instruments, created for you at startup: if the device is a MIDI device, then these will each be initialised to one of the 16 MIDI channels. The instrument is where you set all the properties of a particular voice, such as program settings, reverb, volume etc.
While a MIDI device is simply a name and a collection of configuration information, the “connection” specifies which MIDI port it is physically attached to. This can be configured in the MIDI device manager. (Audio and synth plugin devices do not have connections in the same way.)
For example, imagine a setup consisting of a PC with two physical MIDI ports, one of which has an external synth attached to it. Here you would normally configure Rosegarden so as to have one MIDI device, corresponding to the synth. You could then configure this device with the correct name and patch map, and then specify a connection for it that corresponded to the relevant MIDI port on your soundcard. Each of the 16 default instruments on the device could then be configured with a suitable program, and you would then assign tracks to those.
In practice, Rosegarden will by default create a device for each of the available connections on startup. So in the example above, two MIDI devices will be created by default even though you only need one. You would generally then rename and apply patch maps to the first, and delete or simply not use the second. Remember that there is no way for Rosegarden to know what synths you actually have plugged in to the MIDI ports on your computer: for this reason, the devices created at startup are just intended to be a default set, and it's up to you to ensure that the devices you configure match those you are really using.
Once configured, the studio setup is stored with every Rosegarden-format file you save.
The MIDI device manager dialog shows you the MIDI devices that you currently have available to you, and where they are connected. To reach this dialog, use Studio → Manage MIDI Devices.
As described in the Devices, Instruments and Connections section, by default Rosegarden tries to provide a plausible set of devices for you at startup, and to make sensible connections for those devices. But the default configuration might not always be suitable, and so this dialog allows you to rename devices and modify their connections and play/record direction.
Each of the play devices listed here provides a target for MIDI tracks to talk to: if you add a new play device, you will then have 16 new instruments on this device which you can assign tracks to. If you then assign a connection for that device, the tracks assigned to it will play to the appropriate channel (depending on the instrument) of any MIDI synth attached to that connection.
The record devices listed here represent possible sources for recording MIDI. You can make one or more of them current (so that Rosegarden will listen to them when recording) using the checkboxes on each line, as shown in this dialog.
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.)
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.
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.
Any Rosegarden track assigned to an audio or synth plugin instrument becomes part of Rosegarden's audio routing architecture. There are 16 audio instruments and 16 synth plugin instruments, and each of these has a set of adjustable parameters including fader level, pan, effects and so on. These are generally configurable in the Instrument Parameter Box or audio mixer. Each audio instrument also has an input connection, and both audio and synth plugin instruments have an output connection.
An instrument's input connection defines where Rosegarden will read audio data from when recording to this instrument. The most usual setting would be to one of Rosegarden's external audio inputs, the number of which is configurable in the audio mixer. These correspond to JACK audio ports exposed by Rosegarden, to which you can connect outputs from any other JACK audio application or soundcard capture ports using an external JACK router application such as QJackCtl. You can also set an instrument's audio input to the output of one of Rosegarden's built-in audio submasters or master output for mixdowns.
An instrument's output connection defines where the audio goes when played. Instruments default to sending their audio to Rosegarden's master output, which is another (stereo pair of) external JACK port(s) that can then be connected up using the same external JACK router. However, Rosegarden also supports up to eight internal submaster busses, to which you can send instrument outputs instead so as to group instruments into related categories. You can control the number and routing of these in the audio mixer.
Rosegarden currently supports effects using a set of pre-fader insert effects slots for each audio instrument. You cannot yet assign effects to the submaster busses, and Rosegarden does not yet support send effects, although you can obtain similar results using an external JACK effects and mixing architecture.
Rosegarden is able to instantly send incoming MIDI events to some output device and MIDI channel. This feature is known as MIDI Thru.
MIDI Thru is enabled by default in Rosegarden. You may want to globally disable it using the menu option Studio → MIDI Thru Routing, if you prefer to use an external MIDI routing system. There is also a global filter by MIDI event type, which you may use to ignore some event types and let other types to be routed. It is explained in the section MIDI filters.
MIDI Thru routing works quite differently when Rosegarden is playing or stopped than when it is recording.