Hi,
I have a MIDI card (Yamaha DB50XG) that I use as a performer for my old
Ensoniq controller. It works fine. However, it seems that the Ensoniq
keyboard sends the velocity information at only half what it should be
-- if I pound on the keyboard, the volume is increased from normal
playing, but still rather quiet. If I play a midi file through tse3play
or something similar, the volume is full.
To get around this problem, I have two sysex files; I cat
volume_high.syx > /dev/midi when I want to use the keyboard, and cat
volume_low.syx > /dev/midi when I want to play midi files. The sysex's
each set the midi master volume to a level which is comfortable to use
with either.
However, this feels like a kludge. In addition, sometimes annoying
things happen like after I've been playing the keyboard at its
comfortable volume, I visit a web page with a MIDI on it, and it plays
at 250% volume and blasts my ear out. Or I play a game like DOOM which
has hardware MIDI support and have to lunge for the volume on my mixer
to keep from disturbing the neighbours. :)
The keyboard is a Ensoniq SDP-1 from 1986 or so. I tried the volume
setting on the keyboard in the hopes that it would modify the volume of
the notes sent to the midi card, but it seems to have no effect. (Is it
broken possibly?)
I was thinking about hacking the mpu401 driver so that when midi data is
received externally, it rewrites the velocity somehow before it reaches
the midi device. Or if that isnt possible, when a file is played to
/dev/midi, after the file sets master volume, reset it to a lower value.
Thoughts? Suggestions? This has been annoying me for a while now. :)
Thanks,
--
Ryan Underwood, <nemesis at icequake.net>, icq=10317253