Linux MIDI: A Brief Survey, Part 3

An introduction to several Linux MIDI utilities, including JSynthLib, Midirgui and SynthEd.
Other Editor/Librarians

JSynthLib is not alone. The SynthEd Project intends to provide another cross-platform universal editor/librarian for MIDI musicians, but it uses XML and Python instead of Java. The project still is in the planning stages, although screenshots of working prototypes can be viewed on the SynthEd Web site.

Raw sysex utilities simply transmit and receive bulk dump requests, but they provide no editing facilities. These utilities are useful when you have no other way to back up your patch and bank data. Tim Thompson's ancient glib (no, not that one) is a raw sysex utility that may be useful on the command line. However, the more modern Linux MIDI musician probably will prefer to use Christopher Nitschkowski's SysExxer, a nice GUI for sysex bulk dump management (Figure 3), or Patrick Holzhuizen's Java-based MIDI Backup utility (Figure 4).

Figure 3. SysExxer

Figure 4. MIDI Backup

A few machine-specific editor/librarians are available, including Chris Wareham's AlphaJuno software for the Roland Juno 1, Juno 2 and MKS550 synthesizers; Olivier Delhaye's MC303 bulk dump utility for the Roland MC303 drum machine; André Majorel's dx7bag command-line tool for receiving bank dumps from the Yamaha DX7/DX7II synthesizer family; and Marc Halbrügge's KurzFiler librarian for the Kurzweill K2000.

I can't leave this topic without mentioning ALSA's useful amidi, a command-line tool that can be used to initiate and receive sysex messages. Amidi's basic use is as simple as the following example :


amidi -S f0 43 10 01 06 00 f7

This command sends the algorithm change described above. For more details about amidi, run man amidi at the command prompt.

Midirgui

Josep Andreu (aka holborn) has written some excellent MIDI software for Linux, all of which exploits the FLTK GUI toolkit. Among his creations you can find a MIDI channelizer, midirgui, and a software MIDI control surface, mcontrol.

Midirgui takes an incoming MIDI data stream and distributes it to any of six output cells, each of which is an ALSA sequencer client. You can filter the channels allowed to pass through each cell, a huge help when you want to access only a single patch or sound on a device that always is in Omni Receive mode, meaning it receives MIDI on all channels. Thus, by setting one of the cells to pass MIDI messages on channel 10 only, I'm able to use the drums on my SBLive Emu10k1 synthesizer while playing other synths. Figure 5 demonstrates the necessary connections: an external sequencer sends out a multichannel MIDI stream and is connected to midirgui, client 128 in the JACK MIDI patch bay input ports). Midirgui's first cell, client 129, filters the data flow and sends only messages on channel 10 to the Emu10k1.

Figure 5. Midirgui

Mcontrol is another powerful Linux MIDI utility. You can assign up to 12 simultaneous MIDI control messages for each controller on your MIDI keyboard, letting you change a variety of parameters with a single controller. You also can employ mcontrol by itself as a MIDI control surface, using its wheels to send any of six message types to its connected destinations. Figure 6 shows off mcontrol configured for dynamic control of the algorithm select message seen above, so when I move mcontrol's mod wheel I can watch its effect on the TX802's display.

Figure 6. Mcontrol

You can record your controller movements into a sequencer, and you can save your controller assignments as programs and banks of programs.

______________________

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.

Yamaha SysEx

Anonymous's picture

Thank-you! I've been trying to edit my Yamaha FB-01 since the 80s...

SysExxer

Christian Nitschkowski's picture

Hi!
Nice to read my name in this article, but unfortunately it's not correct in the article.
My name is Christian Nitschkowski.
There is another one who worked on this project,
his name is Christoph Eckert (without the "er" at the end).
Maybe you've mixed up our names ;-)
Anyway, it's nice to read ones own name in articles :-)
Thank you for mentioning SysExxer.
Maybe it'll get some more attention and users.

Author's note re: GMidiMon

Anonymous's picture

Ah, sorry about the screenshot confusion, that's my bad. Hopefully it'll be corrected soon.

dp

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