Rosegarden
1. Introduction
- Rosegarden is one of the more advanced midi sequencers on Linux (although it has some audio capabilities as well). Rosegarden uses the ALSA sequencer as a backend, and this means that you can connect its midi outputs or inputs to all programs that make use of ALSA midi. Although you can make the connections with external programs like Qjackctl, Rosegarden also provides a way to do this internally. For synchronization and for audio input/output, Rosegarden uses JACK. Rosegarden has some basic functionality to import, record and edit audio, but real audio sequencers (like Ardour) are much better at this. But Rosegarden can do other things. One of it's strengths, is that it allows you to use DSSI plugins (pronounced dizzy) on your midi tracks. DSSI (Disposable Soft Synth Interface) is an API to write soft synth plugins (like VSTi). When you insert a DSSI soft synth in your midi track, it will be used to translate the midi information on the track to audio. You will be able to change the sound in the soft synth interface.
2. Basic Layout of the Track Editor
- When you start up Rosegarden, the biggest part of your screen will show you a number of empty midi (and audio) tracks. All tracks have a number, a mute button (blue), a record button (yellow) and a name (which you can change with double-click). You can select a track by clicking it once. Just above the tracks, you will see a number of rulers, which you can show/hide from the menu (Settings -> Rulers). One of them shows you the position in your song, expressed as bar numbers. Just underneath, there is a dark grey ruler (the playback position ruler). When you click somewhere in this ruler, you will change the position of the playback pointer (a vertical line which shows the playback position in your song) to that place. Apart from these, there is a tempo ruler and a chord name ruler.
- On the left hand side of the screen, there is an area which is divided in three parts: 'Segment Parameters', ''Track Parameters' and 'Instrument Parameters'. A segment is a midi region, which we can draw (with the draw tool) in a midi track. Whenever we select a segment (or multiple segments), we can see and edit its parameters in the 'Segment Parameters' field. In the 'Track Parameters' field we can decide how we want to use a track. We can choose what device we want to use for playback or recording, and the instrument or channel we want to use on that device (we will discuss this in more detail later). The 'Instrument Parameters' field will show you a number of controls for the instrument you selected in the 'Track Parameters' field. Depending on what type of device you have selected, this field will have a different layout. Whenever you select a track, both the 'Track Parameters' and 'Instrument Parameters' fields will change, and show you the parameters for that track.
3. Toolbars in the Track Editor
- Under the main menu, there are a number of toolbars. You can show/hide these toolbars in Settings -> Toolbars. You can access all these buttons from the main menu as well, but they make life a little easier.
- The 'main' toolbar: here you will find button called "New" "Open" and "Save", which you can use to make a new rosegarden file (.rg extension), open an existing one (you can have only one open, so Rosegarden will ask you if you want to save the current one), or save the current session to its file. In this toolbar you will also see two buttons marked with arrows which you can use to undo/redo the last operation. When you click-hold on these buttons, you will see a drop down menu from which you can choose a specific operation to undo/redo (also known as the 'undo history'). The last three buttons in this toolbar are the 'Cut', 'Copy' and 'Paste' buttons. You can use them to cut/copy/paste selected segments.
- The 'tools' toolbar: these are the tools you can use to insert, select and manipulate segments. There are six tools called: "Select and Edit", "Draw", "Erase", "Move", "Resize" and "Split". The "Select and Edit" tool (arrow icon) is the most versatile. You can use it to create segments (middle-click and optional dragging to extend it), to select segments (click to select, shift-click to add more segments to your selection, click-drag in the background to select multiple segments), to move segments (click-drag in the centre to move one segment, click-drag multiple selected segments to move many), to resize segments (click-drag at the beginning or end of the segment), to copy segments (hold 'Ctrl' while click-dragging the segment), and to edit the segment by double-clicking it. The other tools do as their name suggests. When you draw a new segment, you can make it longer by holding your click, and dragging to the right. The default length will be one bar, and if you drag, the end of the segment will snap to whole bar units. When you move or resize segments, the segments start or end points will snap to beat units. If you want to avoid this snapping behaviour, you have to hold the shift button while doing your operation.
- The 'tracks' toolbar: these tools explain themselves. They are "Add Track", "Delete Track", "Move Track Up", "Move Track Down", "Mute all Tracks", "Unmute all Tracks".
- The 'editors' toolbar: the first four buttons are used to open a segment in one of the available editors. These are the "Matrix Editor", the "Percussion Matrix Editor", the "Notation Editor" and the "Event List Editor". They provide different ways to view and edit the midi information which is contained in a segment. In the matrix editor you can write notes on a grid, and on the left-hand side, you will see a piano keyboard. The percussion matrix editor is similar, but you can see the names of the percussion sounds instead of the piano keyboard if your instrument is defined as a percussion instrument. For this to work, you also need to have a mapping defined between midi notes, and percussion sound names. Another difference with the matrix editor is that the notes don't have a visible length. In the notation editor, you will see the segment as a musical score, and the event list editor you will see the midi events presented as a simple list. In Settings -> Configure Rosegarden, you can choose which editor you want to use when you double-click a segment. The last four buttons in the editors toolbar are: "Manage MIDI Devices", "Manage Synth Plugins", "Midi Mixer" and "Audio Mixer". They all open up new windows. In the "Manage MIDI Devices" window, you can see all the devices you can use for MIDI playback or recording. Rosegarden will detect new devices, when clients connect to the ALSA sequencer, and it will automatically assign them a device name. But you can always change the name or connection afterwards. When a device name and connection is defined in this window, you will be able to choose that name as an input/output device in the 'Track Parameters' field. This is how you send MIDI from a track to an external device. We will talk about the synth plugins later.
- The 'transport' toolbar: most of these buttons will be very familiar to you. I will only discuss the last two: "Scroll to Follow Playback" and "Panic". The first one is switched on by default. This means that when the playback pointer moves, the track view will scroll along (when the pointer comes to the end of the screen). This way, you will always be able to see what's playing. When you are editing this can be a problem, and you can switch it off when needed. The "Panic" button can be used when you have a 'stuck' note. Midi notes are triggered with note-on and note-off events. Sometimes a note-off event can get lost, and then the note will keep on playing. Panic will send note-off events for all notes, and get things back to normal.
- The 'zoom toolbar': This is just a slider with which you can zoom all tracks horizontally.
4. The Matrix Editor
- The matrix editor is used to edit the (midi) content of a segment. Here you can enter midi notes on a grid, with the help of a piano bar on the left hand side. Just underneath the main menu of this window, there are a number of toolbars again. A lot of them are similar to the ones in the track editor we discussed earlier. But you will also see a new toolbar called "The Actions Toolbar". It has three buttons, which open a drop down list from which you can select a value. The first button controls the resolution of the grid. This has an effect on both the position of the notes you draw (it will snap to this grid), and the default length of a new note (will be equal to one grid unit). The next button is the velocity button. Here you can set the default velocity of all the new notes you are going to draw. If you want to change the velocity of existing notes, you can select those notes, change the velocity with this button, and select 'Adjust -> Set to Current velocity' from the menu. The last button in the actions toolbar is the quantize button. When you change the quantize value, it will have an immediate effect on all selected notes (or all the notes in the segment, if none are selected). It will put the notes on the quantize grid you select with this button.
- In the tools toolbar, you will recognize the same tools as we saw in the track editor. You can use these tools to create and manipulate midi notes in almost the same way as we used them to manipulate segments. On the left hand side from the piano keyboard, you will recognize the instrument parameters region we saw in the track editor. We will discuss this field in more detail in a moment.
- Besides editing midi notes and their velocities, it is also possible to edit midi controller messages in the matrix editor. To do this, you have to select View -> Add Event Ruler -> 'controller name'. This will give you an extra ruler at the bottom of the page for that specific controller. In this ruler you can enter new messages, or change the values of existing ones. The messages are shown as vertical bars on the timeline. The height of the bar determines its value, and you can adjust it by click-dragging the bar up or down. You can insert new messages with middle-click, or by right-clicking in the ruler and choosing 'Insert Item'. With the right-click menu, you can do a number of other things: 'Erase Selected Items', 'Clear Ruler', 'Insert line of Controllers' (click-hold and drag from the start to the end), 'Flip Forwards' and 'Flip Backwards' (when controllers overlap in the ruler, you can use these functions to get them to the foreground or background).
5. Manage Midi Devices
- This window is split up in two parts: 'Play devices' and 'Record devices'. Here you can define new devices for playback and recording (with the 'New' button), and configure their connections. MIDI instruments (like synths, softsynths, samplers...) usually have a number of programs grouped in banks. You can think of these programs as instruments within the MIDI instrument. To change the program that is activated on a specific MIDI channel, you can send the MIDI instrument a 'program change' message. To change the bank, you can send it a 'bank select' message. Although you can refer to these banks an programs with numbers (this is how it works internally), it is easier if you can refer to them by name. Rosegarden uses a special kind of file to save the mappings between program/bank numbers and names. In addition you can save key mappings for percussion instruments into this file. These files are called Rosegarden Device Files and have the extension ".rgd". With the 'Import' button you can import one of these device files (located in /usr/share/apps/rosegarden/library/), for a particular MIDI instrument. If there is none available for your instrument, you can define the mappings yourself, and save them in a device file with the 'Export' button. To change the mappings (bank/program and key mappings) you have to click the 'Banks' button. You will be able to select one of the available midi devices, and edit the mappings for that device. In the 'Manage MIDI Devices' window, there is also a button called 'Control Events'. Control change messages can be used to change the various controls of your MIDI instrument (e.g. volume, pan, filter cutoff). Again, these controls are referred to by a number (from 0-127). There are some standard mappings (defined by the General MIDI specification) for the most commonly used controllers (e.g. volume=controller 7, pan=controller 10). But all the other controllers can be assigned freely and will differ from instrument to instrument. In the 'Control Events' window, you can define what control change messages your instrument will recognize, and give them the proper name. You can also decide if you want to see a knob for that controller in the 'Instrument Parameters' field (see 'Position on instrument panel). These controller mappings will also be saved when you export your device settings to a Rosegarden device file.
6. Segment, Track & Instrument Parameters
- In the 'Segment Parameters' field, you can change the parameters of one or more selected segments. You can change the label by clicking the 'Edit' button next to the label field. When you enable the 'Repeat' check box, the segment will be automatically looped until the next segment that is present on the track (otherwise until the end of the song). With 'Transpose', you can quickly transpose one or more segments (indicated as number of half-notes). You won't be able to see this transposition in the segment editors, but it will have its effect none the less. With the 'Quantize' button, you can quantize the notes in the segment (this will be visible in the segment editors), and with the delay button you can delay the playback of the segment (this can be indicated as note duration or in milliseconds). As with 'Transpose', the delay will have no effect on the content of the segment. Lastly, with 'Color' you can change the colour of one or more segments.
- In the 'Track Parameters' field you can change the configuration of the selected track. It is divided in 'Playback parameters', 'Recording filters', and 'Create segments with'.
- 'Playback parameters': with the first button you can choose the device you want to use for playback. In addition to the external midi devices Rosegarden recognizes (see Manage MIDI Devices), you can choose to use the track as an audio track (Audio), or to use it with a synth plugin (Synth plugin). With the second button you can choose the instrument you want to use on the selected device. If you chose a midi device, you will be able to choose between sixteen instruments. By default, every instrument will send its midi messages on the corresponding midi channel (instrument 1 on channel 1, instrument 2 on channel 2 etc.), but you can change this in the 'Instrument Parameters' field if you want. If you selected an 'Audio' device, you can choose one of 16 audio outputs, and if you selected 'Soft synth', you can choose one of 24 possible synth instruments.
- 'Recording filters': with 'Device' you can select from which of the enabled recording devices (see Manage MIDI Devices) you will be able to record on the selected track. With 'Channel', you can select a specific midi channel from which you want to record. By default, both these settings are set to 'All', which means that the track will record from all (record enabled) devices, and from all midi channels.
- 'Create Segments with': this field is useful for people that use the notation editor. Depending on the instrument you are writing for, you will use a different clef, use a different transpose value, have a different minimum or maximum note the instrument can play (in the notation editor, notes can be shown in red when they are not within the range). Here you can set the default values for these properties when you create new segments in a track.
- In the 'Instrument Parameters' field, you can configure the instrument you selected for your track. This field will have a different layout, depending on the type of device you selected in the 'Track Parameters' field:
- Midi device: first of all you can choose on which channel you want to send your midi data with 'Channel Out'. Below this you will see the 'Percussion' check box. With this you can decide if you want to use your instrument as a percussion instrument. The effect is that the percussion matrix editor will show the names of the percussion instruments instead of the piano keys. These percussion key mappings can be defined or imported in the 'Manage MIDI Devices' window. If you have not selected 'Percussion', you will see two other parameters called 'Bank' and 'Program'. They both have a check box to activate them, and a drop down list next to it, to select the bank or program. What you see in this list is determined by the mappings you have defined for your device (see 'Manage MIDI Devices). Under 'Program' you will see a number of knobs, which you can use to change the various controls of your instrument (e.g. volume, pan...). Again, these knobs are defined in 'Manage MIDI Devices'.
- Synth Plugin: You will see one button (at the top) which you can use to select a DSSI synth for your track (the first time it will be named ). When you have selected a synth, you will get a window from Rosegarden, in which you will see the controls from the synth. However, most of these synths have their own GUI, which are often easier to use. To open the GUI of that synth, you can click the 'Editor' button. Under the 'Editor' button there are five buttons that you can use to insert LADSPA effect plugins. On the right hand side you can choose the audio output for your track, and there is a fader to change the volume.
- Audio: there are two drop down lists to choose the input and the output of your audio track. There are also two faders, one for the record level, and one for the playback level. In addition, you can use the five plugin buttons to insert LADSPA plugins in your audio track.