Sysexy MIDI Librarian

the sexy sysex librarian Linux needs...

Main Window
Receive Window
Transmit Window
Database Edit
Profile Delete

...what is Sysexy?

Sysexy is a Perl/Tk-based MIDI librarian program for Linux. Don't worry. It's much better looking than most Tk apps you've probably seen before. And because it's Perl instead of Tcl, it's much faster than most of them, too.

A MIDI librarian is an application which allows musicians and producers to send and receive data from their musical instruments and studio gear that is hardware-specific to only that particular machine or instrument, and archive it on computer, or send it from the computer back to the device it came from. This data is usually synthesizer patches and samples, but it can also be configuration data, firmware updates, drum maps and sounds, or any other kind of binary blob of data that only that machine would understand. Being able to do this effectively makes a computer into a storage extension for the instrument, which is very valuable for instruments that come from the dawn of MIDI (the 80's), since they usually have only meager facilities on board.

MIDI has from the beginning anticipated the need for such a thing. It is called a system exclusive dump, typically just called a sysex dump in conversation. Sysex dumps allow a device to embed an arbitrary amount of arbitrary data into a legal stream of MIDI, with the only requirement being that the data must be 7-bit (cannot use the high bit), since the rules of MIDI dictate that bytes with value 0x80 or higher are "status bytes" -- the MIDI commands themselves, not the data, so no data byte can ever set that bit.

MIDI librarian programs provide an easy way for a computer to send and receive sysex dumps over MIDI cable, or over USB with newer equipment, since most gear made in the 2010's or later now takes advantage of USB's support for that (thanks, Apple!). Linux is no exception, since its handling of MIDI-over-USB is excellent.

The alsa-utils package in Linux provides the 'amidi' command to do sysex dumps from the shell. This is adequate for hardware that follows the rules and doesn't do anything weird -- but this is the world of synthesizers and studio gear we're talking about. Some of these devices were made in the 8-bit age, at a time when MIDI was new and the ink hadn't even dried on the pages the rules were written on. Sadly, a much more powerful tool is needed to cope with the idiosyncrasies of the instruments and rack gear that has been made over the past four decades, and it would be nice if in addition to offering that, it could also have a nice GUI interface and lots of other features on par with librarian programs found on other platforms. And it'd be nice if it ran natively on Linux and had a small footprint, unlike a certain Java application.

Features