Hi, as there seemed to be some interest in how I get on with my project: I have made at least some progress concerning the conversion of my analogue organ. Finally, I have found a way to switch sounds like stops. There are now up to 20 different sounds playing on channel #1, 8 different sounds for channels #2 and #3. I can press the old switch buttons of the organ which I have converted to digital and I get the sounds switched on and off. Some big problems that yet have to be solved: That many different sounds playing at the same time is too much. I haven't yet tried all alternatives and finetuned the RT settings etc., but the sound is stuttering and crackling rather quickly, when I have set all 20 sounds to play on channel #1. I know it is rather unlikely that all 20 switches (stops) are pulled at the same time. I have of course done anyway as a test. I think I need some kind of "NO SOUND" preset, that does not consume any or nearly no processing power? At the moment I had to switch to the sounds I want (= a pulled stop; sound is ON) or switch to another sound as a "neutral" sound. Just to hear the difference of it, if is it working at all. How did I do it? First, I run a CLI script that runs fluidsynth with 48 virtual MIDI channels via a named pipe and then runs keykit. Then I run a keykit function. This sends system messages to the system commandline and from there to fluidsynth via the named pipe. The function reacts upon incoming MIDI events and when it finds a special SYS EX message I have created for each switch it turns the sounds on and off. To get several sounds to play at the same time on the same channel I have programmed lots of router commands. Channel #1 alone is routed to 20 virtual channels which are all active at the same time. This is where the problem arises that I get crackled sound: After the router rules have been set up all of the virtual channels need a preset to play. There seems to be no way to "mute" or de-activate a particular router roule. One can only delete all of them or add a single one to the router rule "chain". I have created 36 router rules. If You have got a nice hint about how to create a "no sound" preset, mute a channel alltogether (simply setting volume to 0 will not be sufficient) and the crackled sound problem, then I'm looking forward to reading about it here. Regards, Crypto. Am Saturday 27 September 2008 12:55:52 schrieb Crypto: > Hi, > > I have turned an old analogue electric organ into a MIDI controller. All > the old push buttons, switches, pots, drawbars can now trigger MIDI events. > > Because I would like to make the MIDI messages static (i.e. they are linked > with particular buttons and faders and will not be changed) I have thought > of using an external application (keykit in this case) to work on incoming > MIDI events of the MIDI controller, filter them and trigger newly defined > MIDI events with it. > > I would like to make the MIDI messages transmitted by the controller as > short as possible. I have thought of assigning the Bx (Control Change) > command to the buttons and faders, but this would mix with/overwrite other > control change commands sent by other MIDI devices. > > It has to be possible to distinguish between the buttons/faders by the MIDI > message that each one triggers. > > How about the System Common Message F4 and F5 which are not yet defined in > the MIDI standard? Could I add some extra data bytes to identify the type > (button or fader), the number and value? > > Like this: > F4 125 70 (Fader 125 sends value 70) > keykit would recognize this fader and set volume level for channel 2 for > fluidsynth. > Or, in another situation, increase sustain value for channel 3 for > fluidsynth. > > or: > F5 10 1 (Button 10 sends value ON) > keykit would recognize the button and turn on sustain for channel 1. > > Thanks for any hint and kind regards, > Crypto. > _______________________________________________ > Linux-audio-user mailing list > Linux-audio-user@xxxxxxxxxxxxxxxxxxxx > http://lists.linuxaudio.org/mailman/listinfo/linux-audio-user _______________________________________________ Linux-audio-user mailing list Linux-audio-user@xxxxxxxxxxxxxxxxxxxx http://lists.linuxaudio.org/mailman/listinfo/linux-audio-user