How Would You Do It?

  • guitard00d
Posted: Thu, 08/20/2009 - 06:03
Before you laugh at me, there really is a good reason I'm asking this. I use 64 Studio on stage all the time because it's the brain of my keyboard rig. Qsynth/FluidSynth, Specimen (sampler) and ZynAddSubFX (another software synthesizer). I have this MIDI peddle board, looks like the bass peddles off an old organ. What I want to do is be able to intercept the MIDI traffic from this peddle board and be able to turn one MIDI note on/off event into multiple simultaneous MIDI note on/off events. The reason? To allow me to play full chords by stepping on one note of the peddle board. I play in a 3 piece band, and short of sequencing (which we won't resort to) this is the only way I can play guitar and keyboards at the same time. The way I'm doing things now is with samples, but Linux seems to be really lacking in the sample editor department. Trying to find the right loop points in Specimen is next to impossible. I would use LinuxSampler but the Gigedit program is even more primitive than the sample editor that Specimen offers. There is also the fact that samples just take too long to load and I'd like to get away from them. The other option I thought of was to use soundfonts, but I'm not sure if it's possible to do this with soundfonts and that Swami program seems pretty much abandoned and I don't know of any other soundfont editor for Linux. So, to me, it just makes more sense to use a MIDI event filter/mapper. Does any such thing exist in the jackd world? If I'm missing something here and there is a better way, tell me how you would do it.


  • kaimerra
  • 11/14/08
  • Wed, 08/26/2009 - 18:37
I read your post and found your setup very familiar to my own. I play guitar, keyboards, and have a MIDI keyboard setup with my laptop using AMSynth, and my PC keyboard mapped to samples using Specimen. I scanned the list of apps at [Linux Musicians]( and found something called [mididings]( It is a midi router/processer. It seems very flexible as you can write little python scripts for how you want any number of specific/all channels, events, and/or notes to be altered before its sent to your softsynth. It appears it even has a Harmonizer command that you can set to globally get a chord with specified intervals in a certain key. I haven't tried this out, but it looks promising and was updated in early 2009. Let me know how it works because I am always interested in ways to optimize my live rig. Also, per the sampling. I have been using Specimen for a few years now because it just works, its simple, even if a little limited. I had tried LinuxSampler a while back and had issues, but I hear that the latest builds are much much better. Building a cutting edge LinuxSampler version might be worth checking out as well. I'm curious as to what you use for MIDI i/o and audio i/o. I use a M-Audio Ozone which is a 2 octave midi keyboard with knobs and has a audio i/o built in as well. This all connects through one USB cable to my laptop. I really like having them combined as its less clutter on my double keyboard stand.

I don't understand the

  • stratojaune
  • 09/10/08
  • Mon, 08/24/2009 - 14:05
I don't understand the concept ? You press one note/pedal, and want a chord to be played. Are you sure, except a sampler an appli can do this ? Means, do you have a name of OSx or Windows appli which do this ? To reply to your question "how will you do this ?" : maybe assigned different MIDI channels to every pedal, and have in Rosegarden one track for each MIDI channel with the same plugin on every tracks. Not sure that will work, but maybe you can detune "all channels-1" to the tierce, 5th, etc... to provide a chord ?

Not any better

  • guitard00d
  • 10/15/07
  • Sat, 08/22/2009 - 06:09
Looked at TapeUtape and Specimen already beats that one hands down. I'm experimenting with the arcane version of Swami (0.9.4) and doing this with a soundfont seems to be the best avenue so far, but it's still a constant battle of fighting with samples. But at least switching patches is a lot faster. I'm still more interested in the MIDI event filter/processor route so I can control any soft synth, not just samplers or soundfont players. Hard to believe no such thing exists in the jackd world.

a sampler build for live performances

  • stratojaune
  • 09/10/08
  • Fri, 08/21/2009 - 12:36
Hi Guitardood, Maybe you want to have a look at TapeUtape, a multi samples appli in which you can save presets for each song, and recalls quickly . You can find it here : What I notice is some crash when load samples from another HD, when you build the "kit", so save often... When kits are build, problem=0, so it's a good stuff for stage !! HTH, Fred

Avoiding Windows Software

  • guitard00d
  • 10/15/07
  • Fri, 08/21/2009 - 05:58
Been avoiding Windows software and any other closed source software all the way around. The little computer I use for my keyboard rig is just a little Intel Atom based Acer Aspire netbook and wouldn't have the horsepower to run Wine and Windows apps. If it comes down to it, I will write my own MIDI event filter program to handle it. But as it stands right now, my band keeps me so busy that finding time to develop software again just isn't in the cards. Then learning the ins and outs of programing for jackd is another thing I don't know where I'd find the time for. As for now, I'm just using a sampler (Specimen). The peddle board has 13 notes, each one of them just plays a sample of me playing a chord on whatever instrument. I just load up each sample set as needed. But some sample sets can take up to 45 seconds to load, so the band intentionally has to put a pause between certain songs. Say for example, we're playing "Another Brick in the Wall" from Pink Floyd. I have one sample set that is all major chords on a Hammond B3, except for the D pedal which plays a D-minor. The unused sharps/flats on the pedal board trigger sound effect samples such as the helicopter, children yelling on the playground, the telephone ring tone, etc. It gets the job done. But, setting sample loop points for the Hammond organ to sustain is a pain in the ass because of Specimen's limited sample editor and there is nothing else for Linux that is any better. Creating the samples is cumbersome, and waiting for them to load is a pain in the ass. That's why I think it would be better just to have a MIDI event mapper that creates the 1 note to several notes in order to play the chords and just call up whatever instrument patch I need when needed. I just need to do this strictly in the Linux realm and preferably with open source software. Wine and Windows software just isn't going to work with this rig.


  • system
  • 08/21/07
  • Thu, 08/20/2009 - 21:17
Hi there Guitar Dood! I am still relatively new to 64studio and linux in general, but I have some experience doing this in other operating systems. I have worked extensively with Native Instruments Kore 2, which I do use in 64studio with wine and wineasio. Kore 2 is a performance host. You can load vst plugins and using a preset system, create a setlist of presets where only certain plugins are enabled at any point. Similar to Brainspawn Forte, but different. With Kore 2 you can have an entire keyboard or synth rig in a single app. It also handles all the parameter control abstraction so you can control any parameter with a fader button etc. An interesting feature of Kore 2 is that is has a Matrix where you can load up source channels, insert plugins and then route audio and midi to any other source channel. Kore 2 also comes with some simple internal midi effects to handle transposition, rechannelization and other basic midi needs. While I was beta testing this one I recognized it was missing many midi processing features or things that would be nice to have. Such as a force notes to scale function, and a chord function. I began work on a basic toolpack of these functions using NI Reaktor as the means. In reaktor you can make almost anything you want to process midi, and then use it inline with other plugins, or as a filter inside kore2. The effort became something called the Kore 2 Reaktor Toolpack which at least for kore users is quite handy. In that case there is a direct context. But in your configuration I am not sure how you are organizing all those instruments together. Are they all running in a single host that might have the ability to route midi within itself, or let you use a midi processing plugin? Are the apps just all running strung together with alsa? That sounds messy and not conducive to quick scene changes. The fastest is something like Kore 2 or Forte which is designed for switching. I think using ALSA as an example you might be expected to write your own software and connect it with wires. You could write a program to create a chord and wire it before your synthesizer. Again with performance in mind it might be helpful to have a quick way to recall this configuration. My keyboard box based on 2.1 uses Reaper and Kore 2 together. Kore 2 for me solves most performance problems and from the toolpack I have an array of modules I can use to send external events to control other gear. I think Reaper itself might get you pretty close though. I asked Justin to add some performance options like plugin 'group states' being recalled via program change....I have not seen them yet but there are things called custom action lists that might be used in a macro like fashion to do a similar job. Brainspawn forte is probably the most superior in regards to its setlist handling. In general I have not found a linux native app for being a pure keyboard rig and offering switching and a capability to host detailed instruments. I think some people string things together across their desktop and use LASH but that whole approach for me is not appealing in the least. Its one thing to make a mad wreck of objects and wires in something like pd max or bidule but on my desktop...not into that. Have you looked at Energyxt or renoise yet? Cheers, jonathan adams leonard [Kore 2 Reaktor Toolpack]( "Kore 2 Reaktor Toolpack") [Interpol Kore 2 Keyboard Rig]( "Interpol Keyboard Rig")