Rosegarden-4, hereafter referred to as simply Rosegarden, is a versatile, open source music creation tool. It combines aspects of a MIDI (Musical Instrument Digital Interface) sequencer, an audio sequencer, and a notation editor into one convenient, powerful, easy to use package that provides users with a consistent and intuitive interface.
Rosegarden makes use of two powerful and flexible subsystems available to Linux. For MIDI operations, Rosegarden employs the ALSA (Advanced Linux Sound Architecture) MIDI sequencer infrastructure for routing in-coming and out-going MIDI events. It can record from any number of inputs simultaneously, and out-going events can be routed to any of myriad MIDI clients.
For audio recording and playback, Rosegarden is one of numerous applications that make use of the Jack Audio Connection Kit, or JACK, a low-latency sound server designed from the ground up to meet the demands of professional musicians. Hand in hand with JACK, Rosegarden can apply LADSPA (Linux Audio Developer's Simple Plugin API) plugins to audio streams on the fly, providing effects ranging from EQ to reverb and virtually everything in between. These plugins can be layered on top of each other for yet more possibilities.
Bridging the gap between these two technologies, Rosegarden is the first MIDI sequencer to employ the new DSSI (Disposable Soft Synth Interface) plugin architecture. MIDI events are routed through ALSA into DSSI synth plugins, and audio produced by these plugins can in turn be routed through LADSPA plugins and thence to JACK.
Rosegarden provides three distinct ways of viewing, editing, and entering MIDI events, including a powerful notation editor that provides many advanced features not typically found in the notation facility of MIDI sequencers. Underneath these three editors, Rosegarden provides a segment-based mechanism for arranging blocks of MIDI and audio data on a canvas that brings the potential of a layer-based image editing program to the realm of music.
All of this flexibility means you can use Rosegarden as the center of a very powerful home studio and music composition solution for Linux.
This guide is part manual, part tutorial. I attempt to showcase Rosegarden's most significant features, and give you suggestions for how to use these features in order to achieve your musical goals.
This guide is generally arranged to be read from cover to cover, and to proceed through Rosegarden's feature set window by window in a logical way. If you wish to home straight in on a specific topic, the table of contents is thorough, and the web version is fully hyperlinked.
Each chapter is loosely divided into two parts. The first half details the mechanical side of making use of various controls in order to manipulate data in some way. The latter half focuses on demonstrating how to use these controls to achieve common musical goals.
Menu options and references to some dialog pages or tabs are formatted in bold, with arrows indicating the progression through the layers of menus. For example, if I say to use File -> Import -> Import MIDI File this means to begin at the "File" menu, find "Import" on this menu and hover on it until the submenu opens out, then click on "Import MIDI File."
This document describes Rosegarden-4, the latest in this venerable line of applications. Some distributions still carry the older Rosegarden 2, last updated in 1997. Rosegarden-4 is a completely modern KDE application, and version 1.0 was released in 2004.
The new Rosegarden is a native KDE application that can run on any system that has the KDE and QT libraries installed, and currently requires a minimum of KDE/QT 3.1 in order to run. Rosegarden depends on a number of libraries and architectural features that are currently only found in Linux. A few brave individuals are interested in porting it to FreeBSD and OS-X, but at this time no one has been successful, and Rosegarden remains, effectively, an application only for Linux.
Rosegarden requires several fairly new libraries in order for all of its features to work correctly. Synth plugins, especially, require a library that not many distros were carrying at this writing. If anything documented in this book seems not to exist, please ask your distro package maintainers to pick up the requisite libraries and compile Rosegarden against them. Unfortunately, building Rosegarden from source is well beyond the scope of this book.
The more recent your distribution, the better. Rosegarden and many related, interdependent applications are all very new. We at Rosegarden suggest that you run the very latest release version of the distribution of your choice, at a minimum. We further suggest that a distribution with special emphasis on Linux audio, such as AGNULA or Planet CCRMA might well be worth your consideration if you find yourself having trouble getting all of these things to cooperate. Linux audio is a bit of an arcane and complex area at the present, and these special distributions seek to remove much of the sting. I've attained acceptable, if not ideal results using off the shelf Debian Sarge on a fast computer, but this is more due to my stubbornness than any matter of practicality. I heartily recommend that you make use of the Planet or AGNULA.
Many people are running Rosegarden successfully on older, slower hardware. However, your CPU can't be too fast, and you can't have too much RAM or hard disk space. The more resources your computer can bring to the table, the more you will be able to do successfully with Rosegarden. The following is a quick list of basic requirements you will need to satisfy in order to be able to do different kinds of work with Rosegarden.
For MIDI recording:
a MIDI capable keyboard, guitar, or other device, along with:
an ALSA-supported, properly-configured hardware MIDI interface for connecting MIDI devices to your computer, such as:
a soundcard joystick port MIDI box or Y cable, and/or
a dedicated MIDI port card, and/or
a USB MIDI interface
or a virtual keyboard such as vkeybd
For MIDI playback:
a properly-configured, ALSA-compatible soundcard or MIDI interface, and
an external MIDI device such as a keyboard or sound module, and/or
an ALSA-supported hardware synth, such as the Sound Blaster Live! (emu10k1) and its descendants, with an appropriate soundfont loaded into it, and/or
an ALSA software synth, such a QSynth with an appropriate soundfont loaded into it (audio output via ALSA or, preferably, JACK), and/or
a DSSI synth plugin such as the FluidSynth DSSI plugin, with an appropriate soundfont loaded into it, and/or the Xsynth-DSSI (analog synthno soundfont required) plugin, both of which require a working JACK server for audio output
For audio recording:
a properly-configured, running JACK server, and
a JACK-compatible soundcard, and
a microphone, or one or more devices capable of producing sound and piping it into an appropriate jack on the soundcard, and
plenty of available hard disk space
For audio playback:
a properly-configured, running JACK server, and
a JACK-compatible soundcard
Thanks to the following...
Chris Cannam, Rich Bown, Guillaume Laurent for giving me something to write about, and helping me at various points along the way
Shelagh, Daniel Krippner for helping me ensure that this whole thing was actually useful to people
Pedro Lopez-Cabanillas for info about USB MIDI and sysex
Brendon Oliver for some Perl magic to fix up my document build system