Recording A MIDI Sequence With MusE

This month's mini-tutorial describes a MIDI recording session with Werner Schweer's MusE sequencer. We'll step through the recording process, then we'll experiment with MusE's various software synthesizers and plugins during playback.


Although I've promised to avoid discussing installation instructions, I want to share my experience setting up MusE on my recently updated system. Until recently I've had few problems building and running MusE. That happy circumstance ended when I upgraded my Red Hat 6.2 to RH 7.2. Alas, Red Hat's GCC 2.96 was the culprit behind an apparently inexplicable problem: MusE would build without complaint, but it failed to run, displaying only a partially-drawn transports panel before aborting. Following suggestions and advice from Paul Davis, Frank Neumann, and Werner Schweer, I decided to retrograde the C compiler to an official GCC 2.95.3. I then rebuilt and reinstalled Qt 3.01, did the same for MusE, crossed my fingers, ran 'muse', and was at last rewarded with my favorite Linux MIDI sequencer. Note that this problem had nothing to do with MusE, and this warning concerns only those of you who are compiling with Red Hat's "unofficial" GCC 2.96.

This tutorial assumes MusE in version 0.5.0 or higher, compiled with ALSA + audio support (ALSA may be 0.5.x, 0.9.x, or current CVS), and a Linux kernel patched for low-latency (not absolutely necessary but the performance improvement can be substantial). Your kernel should also be compiled with support for RTC (realtime clock) to give MusE its highest timing resolution.

The test system for this tutorial included the following MIDI hardware:

Other hardware included an AMD 800 MHz Duron CPU and 512 MB RAM. Specific ALSA driver version was 0.9.0beta10 compiled under Linux kernel 2.4.5.

For the best results during this tutorial I suggest the following performance conditions:

These preparations will ensure that MusE receives the highest priority in the least problematic environment. MusE can be run without attention to these factors, but your mileage will certainly vary if you choose to ignore them during this tutorial.

Audio/MIDI Configuration

Figure 0: The Track Display and Transport Controls

By default, MusE opens the Transport Controls and the Track Display windows (Figure 0), but MusE can't sing for you until you set up its MIDI and audio configurations. Your system's audio capabilities must be configured in order to use MusE's software synthesizers, so let's make those settings first. Figure 1 illustrates my configuration for my SBLive soundcard :

Figure 1: The Audio configuration

Since we're planning to invoke MusE's softsynths later let's set one of them up now. Config/Soft Synthesizer will open a configuration dialog that will present a list of the available softsynths. In Figure 2 I've selected Peter Hanappe's iiwu synth :

Figure 2: Configuring the softsynths

From Config/MIDI you can open the MIDI Port Table where you can tell MusE which of your MIDI devices you'll want available for assignment to your tracks. Recognized devices include external MIDI ports, soundcard synthesizers, and softsynths. Figure 3 shows a configuration with all three device types activated:

Figure 3: The MIDI Ports table

Now with our audio and MIDI capabilities fully configured we are ready to roll...

The Session

To start your session select New from the Files menu in the Track Display, then double-click in the display's first available Track cell to create a new track. Left-click in the selected track's O-Port cell to select a MIDI interface, then open the Track Info panel to name your track, assign its MIDI channel and program number, set the track volume, and so forth.

At this point your track is set up for playback, but to record you must take your setup a little further. Open the Config/MIDI Ports dialog again and verify that your track's MIDI port record status is toggled on (the green diamond should be displayed; see Figure 3), then activate MIDI Thru in the Track Info panel. Left-click in the R cell in your new track and you're set to rock. Figure 4 shows where we are now:

Figure 4: Ready to record

You can start recording now, but you might want to make a few more handy settings first. From the Transport Controls window you can autoquantize your input by pressing the AC (autocorrect) button (see Figure 4); from the same window you can also toggle a metronome click-track (select the Click button). Configure the metronome from the Config/Metronome dialog :

Figure 5: Setting up the metronome

With the setup described so far, I can record from my Casio CZ101 keyboard into my computer, controlling my external TX802 synthesizer, with a click-track produced by the on-board synthesizer of my SBLive soundcard (Emu10k1 Port 0 in the MIDI port table shown in Figure 3). On that card a MIDI note-number on channel 10 corresponds to a sound from a General MIDI percussion layout; in Figure 5 I've selected MIDI note-number 56, a cowbell sound, for both the measure beat (i.e., the first beat of the measure) and the following beats in a 4/4 time signature. I've also designated a 2-bar count-in, and for all measures the initial beat is stressed with a velocity of 127 and its followers receive a value of 100, making it easy to hear the measure downbeat.

Note that most soundcards do not provide an on-board hardware synthesizer a la the SoundBlaster Live or the AWE32/64 cards. However, you can direct the metronome to any available MIDI port, so you could just as easily set it to a program on an unused channel on your external synth for similar results.

At last you're set to record your first track. Click on the red Record button, then the Play transport control (you can do this from either the Track Display or the Transport Controls), follow your metronome countdown (two measure of 4/4 in my settings), and start playing your MIDI keyboard. When you're finished with this track click the Stop button. To create a second track, simply repeat this process, starting by double-clicking on any empty track. If you're not happy with your performance, right-click on the offending take in the Track Display and select Delete from the popup menu. Your Track Info settings will remain intact, ready for another take. You can also set your record mode (in the Transports panel) to automatically overdub or erase a previous take. Figure 6 shows the Track Display after three tracks have been recorded :

Figure 6: Three tracks recorded

We have MIDI data, we have softsynths, and we have audio, so let's orchestrate and process these tracks a bit...

Softly As I Leave You, With A Little LADSPA...

Now you can experiment with the possibilities of MusE's softsynths. As I write this tutorial MusE is host to five softsynths, including two with GUIs for realtime control. Peter Hanappe's iiwusynth has already been mentioned; other supported synths include Miller Puckette's STK, Jotsif's VAM (Virtual Analog for MusE), and two synths from Werner Schweer himself (well, one of those is adapted from David A. Bartold's LADSPA organ plugin). You can use any or all of them together, but be aware that five softsynths along with some LADSPA effects plugins (yes, MusE supports LADSPA) will definitely consume your CPU resources.

We have already activated the iiwu synth, so now let's assign it to one of our recorded tracks. Click on the track's O-Port cell, select the iiwu synth from the device list, and make new track settings as necessary. Of course you can use the software synths in combination with your other devices. In Figure 7, I've selected my soundcard's external MIDI connection for track 1, the SBLive's EMU101k synth on track 2, and Peter Hanappe's iiwu softsynth for track 3 :

Figure 7: Using a MusE softsynth

Just for fun lets add a little LADSPA to the mix. Open the Audio/Mixer window and click on the first 'empty' designator in the Synthi iiwu-1 channel. Select New from the popup menu for a list of available LADSPA plugins, then choose one to apply to the softsynth channel (for now you can leave the other settings at their defaults). Click on the plugin name, select 'show gui' from the popup menu, make your settings, then play your track. Or play your track and make your settings, the effect controls function in realtime too. It's that simple, really...

Figure 8: The Audio mixer and a LADSPA plugin GUI

Final Musings

MusE is very easy to use, so from this point you should feel free to play with its various editing and data transformation routines. The program's sensible interface invites experimentation. and the existing documentation (installed by default in /usr/muse/share/html) fully describes the various parts and functions of the program (and includes a summary of the very handy keyboard accelerators). The HTML documentation also supplies a nice description of the loop-record process, so if you've worked up some interest in playing more with MusE you might carry on from there. Have fun, and remember to save your work !

Dave Phillips