Subject: Re: [linux-audio-user] (Q) MIDI, ALSA and my keyboard
From: Frank Barknecht (barknech_AT_ph-cip.uni-koeln.de)
Date: Thu Mar 07 2002 - 22:20:38 EET
mawali_AT_news.icns.com hat gesagt: // mawali_AT_news.icns.com wrote:
> I am trying to find a way to make my keyboard (MIDI Controller) do things
> it is not supposed to. For example it does not have portamento control
> and portamento on/off, but it has other buttons that send events (and a
> pedal) that I do not use most of the time. I have an SB Live with alsa 5
> and .9.
> I can think of 3 ways to do that, but do not know the implementation
> details, and how to do them using ALSA, I don't know if aseqpatchbay could
> help can some one tell me if I can do the below and how:
> 1) Generate the events on the computer (portamento control, portamento
> on/off) and insert into the midi stream.
This should work, if you for example use a midi sequencer like MusE that
routes the midi events through itself to the SBLive port. In MusE you would
then edit controller events by hand.
> 2) Intercept unused events coming from the controller (keyboard) and
> change them to the required events.
I don't know if MusE can do this, but I would do it in PD. It would be
rather simple and would require only minor knowledge of PD, for example you
wouldn't need to understand any of PD's complex signal processing
capabilities. But it would require some understanding about routing midi events
through ALSA's midi layer with aconnect or aseqview. Fortunately my
Midi-Sequencer-to-Synthesizer-Howto was just published at
and it covers this. ;)
You also can find great a MusE QuickToot there, that touches solution
> 3) Remap events on the hardware (in this case, the SB Live card) to do
> something similar.
I have no idea if this is possible, and I doubt, that it would be the
easiest solution. I would however probably be the one with minimal latency.
-- __ __ Frank Barknecht ____ ______ ____ __ trip\ \ / /wire ______ / __// __ /__/ __// // __ \ \/ / __ \\ ___\ / / / ____/ / / / // ____// /\ \\ ___\\____ \ /_/ /_____/ /_/ /_//_____// / \ \\_____\\_____\ /_/ \_\
This archive was generated by hypermail 2b28 : Thu Mar 07 2002 - 22:26:23 EET