Hello all, I’m in the process of learning a couple of ridiculously difficult organ solos for my band. I have no doubt that I’ll get them down eventually, but would love a backup when playing live the first several gigs just in case. What I’d like to do is to perform the solos and save them as midi sequences, and play those sequences live until I’m comfortable that I’ll pull them off with few/no mistakes. So - play the song live as normal until the solo, fire the midi solo, then pick up and play the rest live.
Our band doesn’t play with a click, so I would need to “tap” the tempo during the song to set the speed of the solo. Is that even possible? Or is there an easier way to do this?
Thanks so much for any knowledge you can share.
In the Options menu, under Global MIDI Settings, you can set a controller for Tap Tempo.
What software do you use to play the midi sequences?
I’ve never used a Midi sequence live before, so I would have to buy something for this purpose.
Without a Click the band has to play with,
I am sure it is more difficult to tap the tempo and start the sequence than to learn the Solo.
Better you render your solo as audio, use the audio player and give the band a click track.
Have you looked at the MIDISequence object and associated functions in GP Script in Gig Performer 3?
Here’s an example of something I created to manually step through a sequence in one song I play with a Steely Dan Tribute band. I don’t have time to clean it up right now but if someone wants to dissect it, it might be feasible for this purpose.
// DO NOT EDIT THIS SECTION MANUALLY
Keyboard : MidiInBlock
Bass : MidiInBlock
LeadSynth : MidiInBlock
cs : MidiSequence
trackCount : integer
trackCount := MidiSequence_LoadMidiFile(cs, "your midi file here.mid")
MidiSequence_MapOutputChannel(cs, 2, 4)
// Use this as a finger clock -- pressing C0/D0 one after the other
// continuously behaves like a manual clock to sequence through the events
// Pressing B-1 resets the sequence to the beginning
On NoteEvent(m : NoteMessage) Matching [C0..D0], B-1 from Keyboard
notes : MidiMessage Array
aNote : MidiMessage
index : integer
trackIndex : integer
if MidiSequence_EndOfSong(cs) or m.GetNoteNumber() == B-1
notes = MidiSequence_GetCurrentEvents(cs, 3) // Lead synth
for index = 0; index < Size(notes); index = index + 1 do
aNote = notes[index]
On NoteEvent(m : NoteMessage) Matching A-1 from Keyboard
//Panic() // Stop any sounds that were being held
That’s cool. Could be helpful for one of my projects too. Not a solo but some phrases with different sounds that would normally need two or more keyboard players…
I’ll take a look at this next week.