Linux MIDI: A Brief Survey, Part 2
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 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.
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.
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.
|Using Salt Stack and Vagrant for Drupal Development||May 20, 2013|
|Making Linux and Android Get Along (It's Not as Hard as It Sounds)||May 16, 2013|
|Drupal Is a Framework: Why Everyone Needs to Understand This||May 15, 2013|
|Home, My Backup Data Center||May 13, 2013|
|Non-Linux FOSS: Seashore||May 10, 2013|
|Trying to Tame the Tablet||May 08, 2013|
- Making Linux and Android Get Along (It's Not as Hard as It Sounds)
- Using Salt Stack and Vagrant for Drupal Development
- New Products
- Validate an E-Mail Address with PHP, the Right Way
- Drupal Is a Framework: Why Everyone Needs to Understand This
- A Topic for Discussion - Open Source Feature-Richness?
- Home, My Backup Data Center
- New Products
- Tech Tip: Really Simple HTTP Server with Python
- RSS Feeds
- Find new cell phone and tablet pc
47 min 8 sec ago
2 hours 15 min ago
- Automatically updating Guest Additions
3 hours 24 min ago
- I like your topic on android
4 hours 11 min ago
- Reply to comment | Linux Journal
4 hours 32 min ago
- This is the easiest tutorial
10 hours 46 min ago
- Ahh, the Koolaid.
16 hours 25 min ago
- git-annex assistant
22 hours 24 min ago
- direct cable connection
22 hours 47 min ago
- Agreed on AirDroid. With my
22 hours 57 min ago
Enter to Win an Adafruit Prototyping Pi Plate Kit for Raspberry Pi
It's Raspberry Pi month at Linux Journal. Each week in May, Adafruit will be giving away a Pi-related prize to a lucky, randomly drawn LJ reader. Winners will be announced weekly.
Fill out the fields below to enter to win this week's prize-- a Prototyping Pi Plate Kit for Raspberry Pi.
Congratulations to our winners so far:
- 5-8-13, Pi Starter Pack: Jack Davis
- 5-15-13, Pi Model B 512MB RAM: Patrick Dunn
- Next winner announced on 5-21-13!
Free Webinar: Linux Backup and Recovery
Most companies incorporate backup procedures for critical data, which can be restored quickly if a loss occurs. However, fewer companies are prepared for catastrophic system failures, in which they lose all data, the entire operating system, applications, settings, patches and more, reducing their system(s) to “bare metal.” After all, before data can be restored to a system, there must be a system to restore it to.
In this one hour webinar, learn how to enhance your existing backup strategies for better disaster recovery preparedness using Storix System Backup Administrator (SBAdmin), a highly flexible bare-metal recovery solution for UNIX and Linux systems.