Expand Transpose range to more than +/- 48

In my previous host, transpositions were not limited to the range currently implemented in GP 3.x. There are times where I found this desirable in order to achieve certain complex mappings.

This limitation has caused me a couple of headaches in the last week.

Issue 1)

I had a custom sample in Kontakt that was in a very low range that I wanted to trigger from a very high note that was more than 48 semitones away. My only option was to ‘move’ the sample to a higher note in my custom Kontakt instrument in order to complete this mapping succesfully

Issue 2)

I had a orchestra hit in a stock program on my Kronos that I wanted to trigger from a note more than 48 semitones away on my other controller keyboard. While this orchestra hit was the best match for the song I was working on, I ended up having to choose an alternative due to this limitation.



Understood - I’ve put this in our tracking system


Thanks! I really appreciate it.


Also It could be helpful to include an “octave transpose” along with normal transpose.


I like that idea as well (and my previous host had this feature as well) but I didn’t want to be greedy :grin:


Big +1 on octave transpose

+1 on octave field… but I’m sure it’s already in the system.

Question — suppose we allow arbitrary transpose ranges. What is expected to happen if you “play” a note that would theoretically be transposed beyond the range of MIDI (i.e, the transposed value would be less than 0 or greater than 127)

Can‘t this case occur already? What is the current behavior?

Anyway: I would expect that no note event would be emitted.

1 Like

Yeah, you’re right - it just gets ignored. I had to go look at the code to remind myself :slight_smile:

1 Like

It’s just as likely that even if it isn’t outside of the defined range of midi notes that it could easily be beyond the range of samples for a given sampled instrument. This is one of those cases where you could try to idiot-proof this feature, but trust me, they’ll build a better idiot…



Can I assume that this extended transposition range should only be available for MidiIn blocks? Given that the point is to support tricks such as triggering samples that are more than 4 octaves away, etc?

It seems to me that the global transpose and song transpose options don’t need to have this extended range since they would only be used to do legitimate song transpositions…


That makes sense I think.

1 Like

Transpose in Midi In Block is enough I think.

Global transpose at +48 could be quickly unbearable :stuck_out_tongue_closed_eyes:



Yes, in the midi-in block only.


MIDI In Block only :slight_smile:

yep, MIDI In Block.

My vote is MIDI In block only.

I have had GigPerformer for a few years but have never had the time to convert my MainStage setups to Gig Performer. I am starting to do that and found the transposition limitation of +/- 48 semitones to be limiting with some of my MainStage setups. I would ask that you consider extend the range of transpose to allow greater than 48 semitones. Perhaps up to 72 semitones. Using MainStage, I often map a low key to a high note in a plugin and vice-versa just to cover multiple parts of a song with left and right hand playing on an 88 key keyboard. Obviously there are cases when a transposition (even with 12 semitones) would result in the note being out of range of the MIDI value. However, in this case GigPerformer should simply filter the resulting MIDI note events if the resulting transposition is out of range (plus or minus). Which should occur anyway since it is even possible for this to occur with a transposition of 1 octave. For me, I often transpose the low octave on the keyboard to play the high octave on the plugin. In my case, I usually have no more than 60 semitones. I usually create a layer of one octave low on the keyboard to map to an octave of notes on the high side of the plugin. For now I can temporarily do the transpose on the GigPerformer to 48 semitones and then add another 12 in the plugin so I am able to do what I want. But it is easier to keep all transposition in the Gig Performer so I would ask that you extend this to at least 60 and possibly 72 semitones.