Linux MIDI: A Brief Survey, Part 2

In part two of this ever-expanding MIDI series, a look at various sequencers, from Rosegarden to seq24.

Two months ago, I began what I thought would be a two-part summary of MIDI software for Linux. That plan has changed somewhat, and this installment actually is Part 2 of what will be at least a four-part series. This month, I'm your guide to the world of Linux MIDI sequencers. Next month, I'll introduce some helpful MIDI utilities. Then, in the final installment, I'll look at some of the interesting MIDI languages and experimental environments available to Linux MIDI musicians.

First, a brief review of what a sequencer is and does. Old-school MIDI musicians would define a sequencer as software or hardware that records MIDI data entered by way of a performance on a MIDI-enabled instrument--keyboard, guitar, wind controller--and provides some means for editing and arranging the recorded data. Remember, MIDI data is not audio data, and MIDI messages simply give commands to a connected device (hardware or software) that then should respond according to the particular message. For example, a MIDI note-on message tells an instrument to play a specified note, while a stream of pitch bend message tells the instrument to perform a pitch bend to the specified degree. The range of MIDI message commands is impressive, and a sequencer can be used to automate a variety of studio equipment, such as mixers, effects processors and multitrack recorders, whether tape or digital.

New-school MIDI musicians are more software-based, using softsynths and plugins in place of racks of external gear. Modern sequencers also are expected to support audio tracks that can be synchronized with MIDI tracks. The audio/MIDI sequencer is now the rule: MIDI-only sequencers still are available, but they have become the exception.

User interfaces for sequencers can take various forms, the most popular of which include the "piano-roll" coordinate grid system, the event list and standard music notation. Data may be entered directly from a MIDI-capable instrument or from the computer keyboard. Once the data is entered, it may be represented and edited by any or all of the available user interfaces. Track displays help the musician see the data in a familiar model adopted from the tape-recording paradigm.

Sequencers also are designed for synchronization with other equipment and software. MIDI clock and MIDI time code (MTC) messages provide a means for accurately synchronizing time-critical operations, and MIDI machine control (MMC) messages can operate the transports and other controls available on MMC-aware equipment.

Before we go further, I must remind readers that I am not providing tutorials in these articles. If you want to know more about the programs presented here, please visit their Web homes and give the software a spin yourself. Okay, with all that out of the way, let's now look at some of the available Linux MIDI sequencers.

Rosegarden

Rosegarden is the most mature Linux sequencer, with a development history extending back to 1993. During the late 90s, Chris Cannam and Richard Bown decided to update Rosegarden drastically, replacing the aged Xaw/Motif-like toolkit with the more modern Qt graphics and substantially upgrading every aspect of the program. The current version of Rosegarden is a fully modern audio/MIDI sequencer with editor interfaces in all the expected modes (Figure 1). It offers full sets of the usual MIDI editing tools, such as various cut/copy/paste functions, data filtering and substitution routines, block operations and so forth. The program's audio editing capabilities necessarily are more limited, but you can configure Rosegarden to summon your favorite soundfile editor for detailed work on your audio data without leaving the garden.

Figure 1. Rosegarden 0.9.9 in Glory

Rosegarden supports the LADSPA plugin API for its audio processing, and the most recent versions have incorporated support for the Disposable Soft Synth Interface (DSSI), an audio programming interface designed for instrument plugins. DSSI expands Rosegarden's support for software synthesizers, but its potential as a "LADSPA for instruments" plugin interface hopefully will appeal to other Linux audio application developers.

Under the Composition/Studio menu item, you can find Rosegarden's MIDI and audio device managers. Rosegarden polls your system for available devices, real and virtual, and maintains its own accounts of their activities (Figure 2). The program supports ALSA and JACK, but it prefers to set its connections internally. That is, the user is advised not to use an external utility such as qjackctl for managing those connections.

Figure 2. The Rosegarden MIDI Device Manager

Once your connections are made, you can proceed to arm a track for recording by clicking on the small button to the left of the track name. When you're ready to record, click on the big red record button, and Rosegarden starts recording whatever comes in through the selected MIDI input device. After recording, you can edit your performance to perfection in any of Rosegarden's editors.

Rosegarden has too many features to enumerate or show off here, so you'll have to visit the Rosegarden Web site to get the full low-down. One of my favorite aspects of Rosegarden is its ability to export data to the Csound score format, essentially functioning as a MIDI- or notation-based front end to that most awesome music and sound programming/processing environment. Other Linux music and sound applications that support output to the Csound score format include the Denemo notation-based interface, the Ceres/Ceres3 spectral domain editors and the Common Music music programming environment. All these programs are listed on the Linux soundapps pages.

By the way, Rosegarden's standard music notation capabilities are excellent, with particularly impressive methods for finessing notation created from imported MIDI files. Printed output is quite good, and for users who want the ultimate in printed music output, Rosegarden can export your work in the LilyPond music typesetter file format.

______________________

Similis sum folio de quo ludunt venti.

Comments

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

vkeybd not vkbd

Anonymous's picture

"Figure 5. seq24 0.5.3 at Play with vkbd, a Virtual Keyboard" After extensive googling, I could not find vkbd. However, the app in the screenshot appears to be vkeybd (http://www.alsa-project.org/~iwai/alsa.html#vkeybd).

Noteedit

Alain's picture

There is another excellent piece of software that's worth mentioning. Noteedit, a score editor and midi player.
http://developer.berlios.de/projects/noteedit

Alain

StartCom MultiMedia Edition

StartCom's picture

May I suggest a quite complete Linux OS, with many applications mentioned in this article, build-in? StartCom Linux offers a Addon CD for it's StartCom MultiMedia Edition with lots of applications which lets transform this Linux system into a productive Music Recording Studio. Installation Instructions are here and view also the related press release and screenshots.

Rosegarden authors etc

Chris Cannam's picture

A very nice article!

Just a quick note:

During the late 90s, Chris Cannam and Richard Bown decided to update Rosegarden drastically

Rosegarden has three main authors, and it's primarily the other one, Guillaume Laurent, who deserves the credit for kick-starting the drastic update.

Another couple of additions: Rosegarden also supports the JACK transport synchronisation mechanism (mentioned in connection with MusE in the article); and with the DSSI-VST bridge plugin, you can also use Windows VST effects and instruments as plugins in Rosegarden (mentioned in connection with SoftWerk in the article).

Author's reply

Anonymous's picture

Hi Chris !

Thanks for the additions, and please pass my apologies to Guillaume for my forgetfulness. RG is impressive major Linux software, you guys have all done fantastic work on it. Looking forward to 1.0 !

Best,

dp

No problem :-)

Guillaume Laurent's picture

Can I submit a patch to the article ? :-)

White Paper
Linux Management with Red Hat Satellite: Measuring Business Impact and ROI

Linux has become a key foundation for supporting today's rapidly growing IT environments. Linux is being used to deploy business applications and databases, trading on its reputation as a low-cost operating environment. For many IT organizations, Linux is a mainstay for deploying Web servers and has evolved from handling basic file, print, and utility workloads to running mission-critical applications and databases, physically, virtually, and in the cloud. As Linux grows in importance in terms of value to the business, managing Linux environments to high standards of service quality — availability, security, and performance — becomes an essential requirement for business success.

Learn More

Sponsored by Red Hat

White Paper
Private PaaS for the Agile Enterprise

If you already use virtualized infrastructure, you are well on your way to leveraging the power of the cloud. Virtualization offers the promise of limitless resources, but how do you manage that scalability when your DevOps team doesn’t scale? In today’s hypercompetitive markets, fast results can make a difference between leading the pack vs. obsolescence. Organizations need more benefits from cloud computing than just raw resources. They need agility, flexibility, convenience, ROI, and control.

Stackato private Platform-as-a-Service technology from ActiveState extends your private cloud infrastructure by creating a private PaaS to provide on-demand availability, flexibility, control, and ultimately, faster time-to-market for your enterprise.

Learn More

Sponsored by ActiveState