Table of contents
On this page, you'll find the following:
SysExxer currently is unmaintained, so there will be no further improvements or even bugfixes. If you want to take over the leadership, please contact
christeck@users.sf.net.
If you are looking for a more recent Sysex tool which is based on Qt4 instead of KDE, you are invited to try out
Simple Sysexxer.
SysExxer is a small utility to exchange system exclusive data with MIDI devices like synthesizers or effects processors. It is free software brought to you under terms and conditions of the
GPL. SysExxer is provided as is and in the hope it is useful for you, but without any warranty. If you use it, you use it at your own risk and responsiveness. Be careful to not delete your killer sound you have worked on several hours, or set your device in undefined states. Both is possible using SysExxer!
SysExxer can contain bugs, so when you use SysExxer for doing backups of the contents of your MIDI-devices, ensure that the resulting files have been properly transmitted, e.g. by sending the content back to the device and testing if everything is OK.
SysExxer is based on KDE, so for using it you'll need at least KDE 3.1 installed.
Please note that Sysexxer 0.7 will only work in conjunction with OSS-devices (of course it works in conjunction with the ALSA OSS emulation). If you need support for true ALSA MIDI devices, then it's recommended that you
build it from CVS.
Download
You can download SysExxer on the
project's download page.
Please do some tests with your configuration before using SysExxer on a regular basis to ensure it works like expected.
Author
The author of SysExxer is Christian Nitschkowski, who has politely written this little tool.
Please note that Christian will
not answer any support inquiries about SysExxer. If you have any questions, ask
Christoph Eckert.
Requirements
SysExxer is based on KDE 3.1. Later versions like 3.2 or 3.3 should also work. You do not need to have KDE up and running, but at least the base KDE libs need to be installed on your computer to run sysexxer.
SysExxer only makes sense if you have MIDI equipment. This means a computer with MIDI ports and MIDI devices like synthesizers or other musical MIDI equipment. SysExxer does
not play standard MIDI music files.
Usage
Before working with Sysexxer, you need to set up the sound system. Until Sysexxer 0.7, only OSS is supported. If you do not have ALSA installed, then 0.7 is fine for you. Try the following:
- Connect your MIDI device to the MIDI ports of your computer
- Visit the preferences of SysExxer and enter your MIDI device, most probably known as /dev/midi, /dev/midi0 or /dev/midi1
- To send a sysex file, open the SysEx file to be sent. Click on the send button. Note that opening files can also be done using drag'n'drop
- To receive sysex data, click on the record button and start the dump from the front panel of your device. Maybe you have to read the manual of your device to know how to do so
- To request a sysex file from a device, click the request button and choose the request from the popup. The request will be sent and SysExxer will receive the dump from the MIDI in port. Requests of your own can be created using a hex editor. Put the correct commands in the file, and save it to the directory which contains the request files. This directory can be specified in the preferences of SysExxer
Later versions than 0.7 (currently available via CVS) will support both driver systems, OSS and ALSA. It is strongly recommended that you use ALSA if possible.
- Connect your MIDI device to the MIDI ports of your computer
- Visit the preferences of SysExxer. Choose the audio system to use. For OSS, enter your MIDI device, most probably known as /dev/midi, /dev/midi0 or /dev/midi1
- If you have chosen ALSA like it is recommended, close the preferences dialog. Now use a ALSA MIDI patchbay like aconnect, kaconnect or qjackctl to connect Sysexxer to the desired MIDI ports
- To send a sysex file, open the SysEx file to be sent. Click on the send button. Note that opening files can also be done using drag'n'drop
- To receive sysex data, click on the record button and start the dump from the front panel of your device. Maybe you have to read the manual of your device to know how to do so
- To request a sysex file from a device, click the request button and choose the request from the popup. The request will be sent and SysExxer will receive the dump from the MIDI in port. Requests of your own can be created using a hex editor. Put the correct commands in the file, and save it to the directory which contains the request files. This directory can be specified in the preferences of SysExxer
Here's a short tutorial how to build the latest development version from CVS:
- Open a command window, maybe konsole when you use KDE
- Type cd Desktop to make your Desktop the current working directory
- Type cvs -d:pserver:anonymous@sysexxer.cvs.sourceforge.net:/cvsroot/sysexxer co sysexxer
- Type cd sysexxer to make the downloaded directory the current working directory
- Type make -f Makefile.cvs
- Type ./configure --prefix=$(kde-config --prefix)
- Type make
- Type su and enter your root passphrase
- Type make install
Tip: When you get errors on a Gentoo box with KDE 3.3, try the commands
export WANT_AUTOMAKE=1.6
export WANT_AUTOCONF=2.5
before you start
./configure.
MidischbochtPanel is a small application to configure the 8 offline patches of a m-audio Midisport 8x8. The program is very simple and a dirty hack. In fact, it's the first program I ever wrote. Here's a
Screenshot of it.
Please note that it doesn't connect via ALSA to your Midisport. Instead, it creates a sysex file which then can be sent to the Midisport using amidi (on the command line) or Sysexxer (KDE-Program).
There also is Sexchange
(Download it here). It's a simple but useful command line utility to convert SysEx-soundfiles of an Access Virus Synthesizer from any bank to bank A. Furthermore, it can output the names of the patches in a sysex file.
The reason is: When you get a sound from an Virus bank C to H and send it back to the Virus, it will complain about illegal bank number, regardless that you have set the Virus to force incoming sounds to bank A or B or not.
So, Sexchange takes a Virus-sysex file from your hard drive and changes it to Bank
A. Bank B is not supported; you can setup the Virus to redirect incoming banks A to bank B. See the Virus manual for details.
Download the archive, extract it, enter the extracted directory in a shell window and type
make. This will create the needed binary.
To convert a file from any bank to bank A simply type
./sexchange /path/to/FileToChange.syx /path/to/FileToCreate.syx and press enter. The new file can now be sent to and will be accepted by the Virus.
Unfortunately, the Virus is unable to send the banks C through H itself to its MIDI out. But you can request these banks using SysExxer. You'll find the needed request files
here. See the manual of SysExxer to figure out how to use request files with SysExxer.
Many thanks to Frank Neumann who has politely written this small but nevertheless very useful program!
Because audio on linux isn't the easiest thing on earth, I have compiled some information as videos. If your favorite player cannot play it, I'd like to recommend the
Video lan client, available for Linux, Mac and Windows.
On this (2005) year's Linuxtag I had the occasion to do two papers and I held two talks about linux audio. The talk about ProAudio work on Linux was held in english, so here it is:
LT2005-Linux-audio-professional.pdf
Furthermore, I held a talk about linux audio usability issues at the Linux Audio Conference in 2005. Here you can download the paper called
lac2005-Linux-audio-usability.pdf.
When running SysExxer for the very first time, please check the preferences to set up your sound system. We have tried to set reasonable defaults here, but on your machine, things may differ. Most of them should be self explaining, otherwise pay attention to the tool tips or the manual
To add further requests to the popup menu, simply copy your request.syx to the directory specified in the preferences. Of course you can also remove files there to clean up your popup menu. Request syx files can be found on www.sysexdb.com or created using a hex editor. See the manual of your device for the correct values
SysExxer can display several informations about the device the currently loaded file points to, including an image of the device. Manufacturers are read from the file manufacturers. If you add entries there, please submit the information also to the project members so it can be included in later releases.
To add further devices, check the preferences
SysExxer 0.7 always uses the older OSS soundsystem. This is nothing bad, because ALSA emulates OSS for backwards compatibility. On the other hand, ALSA is way more modern and therefore you should use a recent version of Sysexxer which supports ALSA.
We hope you enjoy using SysExxer and that it is useful for you.
How to get in contact
If you would like to give some feedback, if you have bugs or feature-requests which you would like to report, please use the following locations:
How to contribute
If you like SysExxer, you are invited to contribute. This can be done in the following ways:
- If you're familiar with ALSA, you're invited to add ALSA-Support! Your code would really be much appreciated. SysExxer is already prepared to include the ALSA connectivity, but there are still some missing code fragments
- Send translations of the po files. Please ask before doing so to avoid doubled work
- Create or translate documentation in docbook format. Please contact Christoph Eckert
- When you have request files which are not included with the distributed package, please send it to Christoph Eckert so it can be offered on the homepage
- SysExxer contains a list of the hex IDs of MIDI manufacturers. Unfortunately, the list is not complete. When you work with sysex data in SysExxer, and the manufaturer of your device isn't shown in the main window, it is probably not in the list delivered. You can add the hex ID of this manufacturer to the list using the preferences. When you do so, please send the infomation via mail to Christoph Eckert. This entry should be like 002033=Access Music Electronics
- It is configurable that SysExxer can display not only the manufacturer but also the model the sysex file points to. Unfortunately, this is not easy, because there is no common criteria at which position in the sysex file the model ID is located. So, you have to collect some informations of the SysEx file format of your device. Then, you can add this information to the config file using the preferences. Please send us the info.
- Additionally, take a picture of your device, which is preferrably 150*50 Pixels and in jpg or png format. Please ensure that it is public domain. Do not simply search google images and steal one from there; better make a photo yourself to avoid legal issues
- In the models list, there's a button Export. Use this to write the models you have created into a tar archive and send it to Christoph Eckert so it can be included into the next release
FAQ
- Can I import SysEx data from a MIDI file?
No, this is not supported. But you can remove the MIDI-Stuff from the beginning and the end of the file using a hex editor (remove all bytes before the first F0 and all bytes after the last F7). After that, the file can be sent using SysExxer.
- How can I use SysEx request files?
Simply put them to the matching directory, which can be defined via the preferences, and the file will appear in the request popup menu. Some request files are installed in $KDEPREFIX/share/apps/sysexxer/requests. If your request file works, please send it to Christoph Eckert so it can be offered on the homepage.
- How can I make my MIDI in- and output workee?
Unfortunately, MIDI on Linux isn't the easiest thing. But we cannot provide here information how to set up your MIDI connectivity; maybe a google search or asking a mailing list or friend is the first step to get your device working.
Related links
Some useful links:
- vsex, a command line tool to manage SysEx for an access Virus can be found here
- Some background information (german language) concerning MIDI SysEx messages can be found here
Appendix
A model config file has the following format (case sensitivity does matter!):
| Entry | Function | Comment |
| [Model's name] | Defines the model's name to be shown in SysExxer | You can use any name here |
| ModelId=01 | Tells SysExxer which ID the model uses | Some manufacturers define at first, after the F0 and the manufacturer ID, the sysex channel, and in the next byte the model ID; others, like Access, first transmit the model ID and then the sysex channel |
| ModelIdOffset=3 | Tells SysExxer how many bytes from the beginning of the file have to be ignored, until the byte that defines the model appears | |
| ChannelOffset=4 | Tells SysExxer how many bytes from the beginning of the file have to be ignored, until the sysex channel is found | The ID is sometimes also called 'sysex ID'. Sysex channel is a bit confusing because it has nothing to do with the normal MIDI channel used for notes |
| ChannelLength=1 | Tells SysExxer the amount of bytes the channel ID will be | Most often only one byte |
| Image=Pic.png | Image file for the device | Put it to the directory where the models file is located. Preferred size: 150*50, but any other size is also accepted. Preferred is png or jpg over gif |
And finally an example model config file (for an Access Virus):
[Virus]
ModelId=01
ModelIdOffset=4
ChannelOffset=5
ChannelLength=1
Image=Virus.png