Frequently Asked Questions for Rosegarden 10.02 and Later

General questions

What about Windows, OS-X, BSD?

Rosegarden is currently an application for Linux only. Now that we have ported to Qt 4, and now that Qt is freely available for all platforms without a commercial license, there are fewer obstacles standing in the way of eventually becoming a cross-platform application. However, we are still very dependent on ALSA to provide MIDI infrastructure and JACK to provide an audio interface, and this will not be changing in the near future.

We would like to run on OS-X, BSD, and similar platforms one day, but a Windows port is unlikely to happen unless someone agrees to hire Michael and pay him a regular salary to develop and support Rosegarden on Windows.

Do I have to be using a particular desktop environment (KDE or whatever)?

No. Rosegarden uses the Qt 4 libraries for various common controls, but you can run it under any window manager or graphical environment you like. The only marked change in functionality comes when printing or previewing with LilyPond. This feature requires an external backend to print or preview the resulting .PDF file. By default, Rosegarden is configured to use lpr for printing and Okular for previewing. You can change this on Settings ⇒ Configure Rosegarden ⇒ General ⇒ External Applications to use either Gtk-LP, lpr, or lp for printing, and Okular, Evince or Acroread for previewing PDF files. One file printing program and one PDF viewing program from each list of supported backends must be available at runtime in order for these features to work. (LilyPond is also required!) Otherwise, we aim to be as desktop-neutral as we can be. We have removed all dependencies on KDE, though we still require JACK and ALSA, and are still tied to the Linux platform for now.

What are the hardware requirements like?

Reasonably demanding, because of the mixture of graphical and interactive GUI stuff with precisely timed audio stuff. See requirements for more details.

Does it support my soundcard?

Is it available in my language?

Fully complete translations are usually provided for British English, Finnish, French, German, Japanese and Spanish with each public release. Translations for Czech, Dutch, Italian, Swedish, and Russian are usually substantially complete. Translations for several other languages exist in various states of disrepair, with Welsh at rock bottom with no updates since before Rosegarden 1.0 was released.

These translations are provided and maintained by volunteer contributors, and most contributors tend to come and go pretty randomly. We have had real trouble attracting and keeping translators, and the most complete translations are usually updated by Rosegarden developers who have to double as translators on top of their other responsibilities.

If you can help out with translating musical or technical documentation (no programming required, but it's quite hard work), please let us know!

Please take a look at the wiki page dedicated to adding or updating translation for complete details. That page tends to be more up to date than this section of the FAQ.

Rosegarden apparently saves in a binary format, where can I find the format definition ?

Actually it's just gzipped XML.

gzip has a bit of trouble with gzipped files that don't end in .gz, so the easy way to have a look is to use

$ gunzip-c somefile.rg > somefile.xml

Compilation or installation problems

Rosegarden is crashing at startup

We have been chasing a random divide by zero startup bug for some time, but have not been able to isolate and repair this problem. If Rosegarden crashes at startup, it is likely that you can get up and running simply by trying again.

This problem is difficult to correct, because it happens so rarely, and it cannot be repeated reliably. We have no idea what the root cause is, but we hope to address this as one of the highest priorities in a future release.

How to get a stack trace for a crash

Open a terminal window, and check to ensure that applications will be able to produce core dumps. The exact command and syntax may vary from shell to shell, but for bash it is ulimit -a:

The above example is quite typical for an end-user desktop system. Having the “core file size” set to 0 prevents the creation of very large core dump files in unexpected places, and is generally a good thing. However, this also prevents you from generating a stack trace. You need to change the limit to something larger than 0, but many systems prevent you from setting this to unlimited, so we suggest

$ ulimit -c 1000000

Now start rosegarden from the command line, and reproduce the crash. You should now have a core file in your current directory. The core file is either named core or core.<number>.

Run gdb:

$ gdb rosegarden <core_file>

Then once you get the gdb prompt, use the command 'bt' to get the stack trace, and mail it to the authors or to the Rosegarden development mailing list, or include it in a bug report.

What packages do I need to build this?

Build requirements

Please see the contributing page for detailed dependency and build information.

Runtime requirements

In order to be fully functional and provide the optimal user experience,
Rosegarden requires the following external applications.

Main Window and Segment Editing

How do I set a loop?

While holding down Shift and and the left mouse button sweep out a loop region in the ruler at the top or bottom of the main composition window. The loop icon in the transport will become enabled and playback will always occur within this loop until you disable it. You can disable the loop by clicking on the loop icon or shift+left clicking in either loop ruler.

How do I rename a track?

Double-click on the track label.

How do I see the names of the tracks, instead of their instruments?

On the main window go to Settings→View Track Labels

How do I change the instrument for a track?

Either click with the right mouse button, or click and hold with the left mouse button, on the track/instrument label. A pop-up will appear from which you can choose a new instrument for the track.

How do I listen to a piece at half speed?

If the piece has more than one tempo change, then unfortunately it is not possible to listen at half or double speed. This feature has been requested since 2002, but does not exist yet. It is unlikely to be implemented.

How do I rename a segment?

Click the “Edit” button next to the segment's name shown in the Segment Parameters box.

How do I stop segments from snapping to the nearest beat when I move or resize them?

Hold down the Shift key while you move or resize the segment. (Shift is also used to enable multiple selection, so sometimes you may have to press Shift only after you start dragging.)

Notation and Matrix Editing

Can I get more than one staff at once in the notation editor?

The Open in Notation Editor option on the main view's Segments menu will open all the currently-selected segments together in a single editor. So to open them all, first use the Edit menu's Select All Segments option, then this one. (You can also edit a subset of segments by selecting them with shift-click on the main view, then using Open in Notation Editor.)

How do I do something like a two-staff piano part?

There are various angles to this question, and there's not any one perfect answer.

Can I edit all the segments at once in the matrix editor?

Yes!

Notation rendering is rather slow

It can be. Unlike many other notation applications (including the old X11 Rosegarden), we render the full length of each segment to a canvas when the notation editor starts, instead of rendering sections at a

time when it scrolls. This means scrolling should be smooth and quick but the initial rendering phase relatively slow. This can be a problem for long segments, although for other practical reasons you're

probably better off dividing long pieces into more manageable segments anyway.

Playback and recording

ALSA? JACK? Huh?

Rosegarden likes to use the ALSA Linux sound drivers for MIDI communication, and the JACK low-latency audio server for audio. The build system should detect which of these you have available.

If you have (or build with) ALSA but not JACK, you will be able to send and receive MIDI to or from outboard MIDI hardware and other MIDI applications such as soft synths, but you will not be able to use synth plugins in Rosegarden, nor to record or play back audio segments or apply effects plugins.

My soundcard has no built-in MIDI synth and I have no external MIDI devices. How can I get sound?

You need a soft synth! See the next question.

EDITING CUTOFF POINT! EVERYTHING BELOW THIS LINE MAY BE OBSOLETE

How do I use an ALSA soft synth, such as fluidsynth or Timidity?

Well first, here's how to get fluidsynth working with a soundfont. First get fluidsynth. Then find a soundfont: one reasonable GM example is Musica Theoria 2, available as mustheory2.sf2 from the Collections area of Hammersound, although it's large and it's packed using some stupid Windows-only format (common problem – a few of the soundfonts on there are only zipped, though, so have a look around).

Then run up fluidsynth with

$ fluidsynth -m alsa_seq ./mustheory2.sf2

or equivalent for whichever soundfont you want to use. Alternatively get hold of qsynth which provides a nice GUI for fluidsynth.

If you're relatively short on CPU power, also give it ”-R no” to turn off reverb and you'll get a bit more polyphony before it breaks up. (If you're very short on CPU power, forget it.) You may find you have to run it as root or else the pitch goes awry, particularly on laptops with variable-speed CPUs.

Anyway, when fluidsynth is running you should be able to assign tracks to it in Rosegarden. To set a track to one of the soft-synth instruments, right-click on the track label at the left of the track

until the instrument menu appears and select the instrument on there. (If you have no other MIDI devices at all, then the soft-synth should be the default device.)

You can also use Timidity as an ALSA soft-synth with soundfonts. Run it in ALSA input mode:

$ timidity -iA

You can also use Timidity to play to JACK with reasonably low latency, with some magic incantation like:

$ timidity -iA -Oj -B2,8

In my experience it takes rather more CPU power than fluidsynth for rather lower-quality output, though I'm sure these things vary a lot depending on how the soundfont is made.

How do I select an Instrument?

You can check which Instrument is selected for your Track by making sure that Settings→Show Track Labels is unchecked. You can change Instrument for a Track by right-clicking or clicking and holding on the Track/Instrument label. A pop up menu will appear from which you can select a different output Instrument. Rosegarden automatically assigns the first available synth device on your soundcard for its default output Instrument when importing MIDI files.

I've selected a synth Instrument but I don't hear any sound

If you're hearing silence with a Synth device (say “Emuk10k1 Port 0” or “OPL 3”) then make sure you've loaded a soundfont for your soundcard. To load soundfonts use the “sfxload” utility. For example the Creative SBLive! soundcard comes with a set of standard soundfonts (2gmgsmt.sf2, 4gmgsmt.sf2, 8mbgmsfx.sf2) and you can load the 8MB soundfont as follows:

$ sfxload 8mbgmsfx.sf2

For more fun with soundfonts including how to create them for yourself have a look at the Smurf/Swami project.

The other classic problem for new users of ALSA is that the mixer settings are either zero or muted. Run alsamixer and check that your levels are okay and unmuted. (Muting is displayed and changed separately from the levels themselves: you can be on 100% but still muted.)

What does "System timer resolution is too low" mean?

If you see this message in an error dialog when Rosegarden starts up, then you are probably using a Linux kernel that doesn't offer sufficiently high-resolution system timers for MIDI use.

Rosegarden uses ALSA sequencer queue scheduling (inside the Linux kernel) for its MIDI output. The sequencer queue can use a variety of timing sources, of which the default is the kernel system timer. The kernel system timer was 1000 Hz in Linux 2.6 kernels up to 2.6.12, but as of 2.6.13 it's now 250 Hz in mainline kernels. This is not good enough for good MIDI timing.

Your options are:

1. Switch the sequencer to use a different timing source (Settings → Configure Rosegarden… → MIDI → Sequencer timing source). The best one in theory is the RTC timer, which is only available if you have snd-rtctimer loaded, but unfortunately that has a habit of totally locking some systems running real-time kernels. Meanwhile, the PCM timers only work if the JACK audio server is running, and suffer jitter corresponding to the JACK buffer size.

2. Recompile your kernel with system timer set to 1000 Hz. Sadly there's no way to change this without a recompile. It's the best solution though.

3. Switch to a different Linux distribution that provides a kernel more appropriate for multimedia use.

4. Put up with the poorer timing of a 250 Hz timer (if you want to get rid of the warning while continuing to use this timer, set the timer source to “system timer” rather than ”(auto)”).

If you don't want to recompile your kernel and are running (K)Ubuntu, you can choose a lowlatency kernel from the repository (search for it with synaptic or your favorite tool). Install the new kernel and reboot. This will solve the problem and remove the lag.

Only notes at the very start of the composition are played at all

If Rosegarden plays notes at time zero but then gets stuck and doesn't play anything else afterwards, you might have a non-running sequencer timer selected.

How do I get audio to work?

If you're using ALSA, then you need to obtain and install JACK and run jackd before starting the Rosegarden sequencer. If you give jackd the -v option, it will report when Rosegarden succeeds in connecting to it.

Unfortunately getting the right combination of magic incantations to make JACK work is not always easy. Good values for an SBLive and indeed on the built-in via868 on my Acer laptop as follows:

$ jackd -d alsa -d hw -r 44100 -p 2048 -n 2

This will usually ensure that I don't get any xruns (JACK being unable to process audio in time) and provide reasonable latency. The '-r 44100' option sets the sample rate for the JACK server which will in turn define the rate at which WAV audio files will be recorded. This is important if you want to transfer any of the WAVs directly to CD - 44100 Hz (44.1 kHz) is the sample rate that audio CDs work at.

I'm not seeing the right program names for my MIDI device (or any at all)

Rosegarden has an internal Studio to map your MIDI Program Change information into meaningful instrument labels. You need to set this up do this mapping in the MIDI device manager (Studio→Manage MIDI Devices→Banks or Import). Once you've made changes in your current Rosegarden file you can save it as a default studio (replacing your autoload.rg file) so that all your subsequent sessions in Rosegarden utilise your specialised Studio settings.

I've followed all your instructions but I still don't hear any sound

This section needs to be rewritten completely.

Improving Performance

I get drop outs or xruns with JACK. How do I improve performance?

The short answer to this is with care and with some luck. There are various recipes for improving JACK performance. Some are more labour intensive than others. Ask on the rosegarden-user and rosegarden-devel lists for the latest advice and also keep an eye on jackit-devel for more JACK tips.

to add somewhere appropriate: DSSI: no localhost

Customizing Rosegarden

How do I modify keyboard shortcuts?

The is no simple method. The current work around requires some command line calls, a text editor and a bit of searching. Rosegarden shortcuts are defined in XML files with extensions .rc which are located in

<build-tree-path>/data/rc/

where <build-tree-path> is the path to where Rosegarden is installed.

The hardest part is deciding which .rc file contains the shortcuts that need modified. Look through the rc directory to find good candidates files.

Here is a sample of the process needed to update the Transport play shortcuts to include the Space bar: