Pitch-shifting a certain frequency range only

I recently bought some guitar backing tracks in a CD collection, and one song has a particularly butchered segment where the keyboard is transposed a full step down from where it should be. Problem is, the bass for the section is perfectly fine, so I can’t transpose the audio for that section to correct the keyboards without transposing the bass as well–then I have an out-of-key bass instead.

AFAIK Audacity can’t manage it, but is there any software out there that could make this possible? Ideally I’d select the segment I want to transpose, then further narrow it down by specifying a frequency range to shift while leaving the lower frequencies alone.

Questions like this always imply that you can take one instrument out of the mix and do something to it. Very probably not. Instruments sound like instruments not by the frequency they’re playing but by the overtones.

This is the analysis of one (1) piano note, G two octaves below middle C.


That one note has energy over all the frequencies you can hear. So, no.


I don’t expect to make it perfect, only better. I’m also not dealing with the complexity of a piano but of a synth lead patch. I realize I can’t remove all the dynamics of the keyboard, but I can shift most of it a step up. I will probably have to do this manually with an HPF to mostly isolate the keyboard, shift it, and then combine it with the bass again.

Let us know how it comes out.