Thisnew edition is long overdue. As there is no money in writing obscure books about obscure applications for obscure operating systems, The New Rosegarden Companion is being developed here on the Rosegarden Wiki, and anyone may edit it. This new edition started life by pasting all the text from the last version of the text as it existed prior to signing the publication contract. It has been stripped of all images, which were all horribly obsolete, and of any text that was specifically added to the work under contract.
It will evolve very slowly from here to become a new introduction to the newest incarnation of Rosegarden, which has evolved yet again to become a pure Qt application as of version 10.02. Many things have changed in that time, and many things have remained the same. The core material is still mostly relevant, but this text needs major renovation on a scale that will probably take years to complete. As of this first publication, that process has only just begun, and you can expect a great deal of this material to be horribly obsolete and misleading.
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 something akin to the flexibility 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.
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. I suggest a 1.0 GHz machine with at least 256 MB of RAM as a minimum starting place. You can get by with less if you do not do much audio work, and if you have a CPU-friendly way of playing MIDI. The more resources your computer can bring to the table, however, the more you will be able to do successfully and enjoyably 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/ora dedicated MIDI port card, and/ora USB MIDI interfaceor a virtual keyboard such as Virtual KeyboardFor MIDI playback:a properly-configured, ALSA-compatible soundcard or MIDI interface, andan external MIDI device such as a keyboard or sound module, and/oran ALSA-supported hardware synth, such as the Sound Blaster Live! (emu10k1) and its descendants, with an appropriate soundfont loaded into it, and/oran ALSA software synth, such a QSynth with an appropriate soundfont loaded into it (audio output via ALSA or, preferably, JACK), and/ora DSSI synth plugin such as the FluidSynth DSSI plugin, with an appropriate soundfont loaded into it, and/or any of several available synth and sampler plugins, both of which require a working JACK server for audio outputFor audio recording:a properly-configured, running JACK audio server, anda JACK-compatible soundcard, anda microphone, or one or more devices capable of producing sound and piping it into an appropriate jack on the soundcard, andplenty of available hard disk spaceFor audio playback:a properly-configured, running JACK server, anda JACK-compatible soundcard
Many users have written to ask why they are unable to get Rosegarden to make any noise. It is the most common question asked on the rosegarden-user mailing list by far, and is especially troublesome for those newly migrating to Linux from Windows . Before we start Rosegarden for the first time, I want to explain what is necessary to pave the way, and have a good first experience. Some of you already know all this, and those of you who do are invited to jump ahead to the next chapter, where the interesting part begins.The topic of sound covers two distinct areas that may or may not be codependent, depending on the hardware and software you have available. One the one hand, there are several requirements that must be met in order to play MIDI with Rosegarden, and on the other, it's necessary to get the JACK server up and running reliably in order to make use of Rosegarden's audio features. A working JACK server is also required to play MIDI with synth plugins, or to play more than one ALSA software synth at a time. Getting Rosegarden to make noise can be a complicated business, but hopefully I can help you deal with whatever set of circumstances you have before you. I cannot, however, cover every detail of getting every card working with every distribution. I'm afraid I have to leave some questions unanswered, lest this chapter become a book unto itself. Here is a roadmap showing all the possible ways to produce sound with Rosegarden at a glance. It's quite daunting, I know, but I hope I can help you make sense of it:
The simplest, least expensive route is the joystick port MIDI adapter. These plug into the joystick port found on many common AC97 soundcards, and on some on-board audio solutions. The most typical adapter you will find in music stores is a simple Y cable, but nicer products are available which have LEDs to show MIDI activity. With the right adapter in hand, all that remains is to plug the adapter into your joystick/MIDI port, connect your equipment to the box or cable using standard 5-pin DIN MIDI cables. With most AC97 soundcards, including the Sound Blaster Live!, it's only a matter of making sure the snd-seq-midi and snd-rawmidi modules are loaded (using whatever mechanism your particular distribution provides for that function.)USB MIDIUSB is supplanting traditional MIDI cabling, and several manufacturers are producing keyboards that plug directly into your computer using standard USB cables. There are also devices available which provide multi-port MIDI interfaces . These interfaces attach to your computer using a USB cable, and they provide several traditional 5-pin MIDI sockets.USB KeyboardsEvolution ( ) manufactures several models that are known to conform to the standard USB MIDI specification, which are therefore compatible with Linux. Chris Cannam, one of the core Rosegarden developers, uses an Evolution-2 keyboard, and reports that it works using the snd-usb-audio module, which should probably be loaded automatically by hotplug. He imagines that most other manufacturers' wares are similar.USB MIDI InterfacesThe Edriol UM-2 and mAudio MidiSport 22 are known to work under Linux. I have no experience with such things myself, I'm afraid, so I can only provide second-hand information.Pedro Lopez-Cabanillas, a contributing Rosegarden developer, reports that getting the Edriol UM-2 working is as simple as plugging in the USB cable and loading the snd-usb-audio module, which should probably be loaded automatically by hotplug.
The first decision you need to make is whether to use ALSA or JACK for output. I will cover starting and configuring of the JACK audio server in detail in a moment. If you have a slow computer, you may not be able to run QSynth through JACK, and you will have to run without JACK, and run Rosegarden without its audio or synth plugin capabilities enabled. No matter which option you choose, both are configured via the Setup button. In this example, I'm using JACK. Take special note that I have adjusted the sample rate to match the sample rate I'm using with JACK, which is 48,000 Hz (for reasons I will explain directly.) Also note that I have checked [x] Auto Connect JACK Outputs. This allows QSynth to make its own default connection with JACK, which is very convenient.
It is also possible to play using synth plugins. There is a FluidSynth-DSSI plugin that provides essentially the same functionality as QSynth, except that it's integrated directly into Rosegarden. I will describe it in detail when I talk about assigning instruments to tracks, because its configuration and use is entirely internal to Rosegarden. For the moment it is sufficient to know that it exists, and that it requires a working JACK audio server in order to function.
It is theoretically possible to run JACK and Rosegarden with an ordinary stock kernel as installed by any distro, but I have never obtained acceptable results, even on machine with quite high specs. It is simply impossible to throw enough CPU after the problem, and you will not obtain acceptable results until you look after your kernel. I strongly recommend that you leave aside the kernel question entirely, and run something like Fervent's Studio..to go! ( ), AGNULA's DeMuDi ( ), or Planet CCRMA ( ). You can also obtain suitable kernels from either AGNULA or the Planet to retrofit existing installations.
3a8082e126