I’m a guitar player/singer that uses bass pedals and a laptop. I’ve created a pretty convoluted process, but it works.
You probably know about arranger keyboards, you can play the keyboard or bass pedals and the program plays short accompaniment loops. When you press a footswitch, the arranger waits until the beginning of the next bar and then does something - changes the loop, add extra instruments etc.
Arranger song files (called styles) use obscure non MIDI info, they are difficult to program. I have found a way to do more or less the same thing using my MIDI sequencer program.
Currently I CAN switch parts, but the action happens WHEN I press a footswitch. As this is usually the same time (the beginning of a bar) I have to play a bass note (and perhaps do something else with my feet), I really can’t do it. I need to be able to press the footswitch ahead of time and have the switching action occur at the beginning of the next bar.
The footswitch is connected to the circuit board matrix from a USB keyboard’s number pad, which generates MIDI notes (using another app called MIDIkeys), which goe to MIDIpipe. MIDIpipe then uses applescript to write a specific “part number” to the clipboard based on the MIDI note in.
However, due to MIDIpipe’s limited functioning, in order to be able to press the footswitch early and have the part change happen on the new bar, I would have to do three separate processes.
1, Press the footswitch, set clipboard first number to the Mix number.
-
Have a special “trigger” MIDI note sent from the sequencer to MIDIPipe on the first beat of the bar, which then uses Applescript to set the second character of the clipboard string to a boolean 1.
-
Then the MID switching part, which says, read the clipboard, if the second character is 1, switch to part 1-5.
The lat process would be in a loop that runs for every MIDI event passing through the “pipe,” so speed might be an issue. If there is a slight lag, I haven’y yet noticed, and also I can adjust the timing of the trigger note to compensate anyway.
And finally, I would like to expand the use this “delay till next bar” function for other foot triggered events, as I am pretty clumsy ha ha… I would just add more “positions” to the string (list?) stored on the clipboard.
BTW I am in Hawaii which is literally the other side of the world from you guys in Europe.
Thanks again.