[LAU] Problem uploading sysex data to hardware synth

Brent Busby brent at keycorner.org
Fri May 3 18:44:32 UTC 2013


On Fri, 3 May 2013, Clemens Ladisch wrote:

> Julien Claassen wrote:
>> what is so special about amidi? I mean: what is the difference 
>> between it playing a pure sysex file and aplaymidi playing the sysex 
>> block from a MIDI file?
>
> .mid files contain timing information for each message; aplaymidi 
> schedules each message to be sent at the specified time.  If the MIDI 
> port's buffer has not enough free space for the message, there is 
> nowhere else to store it, so it gets dropped.
>
> amidi accesses the MIDI port as a dumb serial pipe.  There is not 
> timing information in .syx files, so amidi sends the data as fast as 
> possible, but when the buffer is full, amidi will wait.
>
>> Is there a commandline tool to dump sysex like that, using the ALSA 
>> sequencer system, by any chance?
>
> That "virtual" port you can create with amidi _is_ using the ALSA 
> sequencer system.

Previous posters are correct that it's easiest to send sysex files with 
the amidi command, plus there's a nice Java program called JSynthLib 
that will function as a generic sysex librarian plus it has some 
specific editing capabilities for certain synthesizers:

http://sourceforge.net/p/jsynthlib/wiki/Home/

(JSynthLib is great if you have hundreds of banks worth of Ensoniq ESQ-1 
patches...)

The problem I have with both amidi and JSynthLib though is that because 
they both try to access the Alsa Midi device raw, they both get blocked 
with "in use" messages when jackd is running, which has the effect that 
I have to be sure to schedule my time so as to never do sysex dumps when 
any Jack application is running (which is annoying).

Is there any way to do this kind of raw Alsa access with jackd going? 
Note that this is not the same thing as programs like Hydrogen that 
create Midi ports that show up on the Alsa tab in the QJackCtl 
connection manager...  Programs that do raw access like this don't show 
up as they can't even launch -- they just get blocked with an error. 
It'd be nice to be able to sysex any time you want to.

-- 
+ Brent A. Busby	 + "We've all heard that a million monkeys
+ Sr. UNIX Systems Admin +  banging on a million typewriters will
+ University of Chicago	 +  eventually reproduce the entire works of
+ James Franck Institute +  Shakespeare.  Now, thanks to the Internet,
+ Materials Research Ctr +  we know this is not true." -Robert Wilensky


More information about the Linux-audio-user mailing list