What's the best method for pitch shifting a vocal track up a 3-5 semitones without sounding too much squeakier than the original?
I'm using Logic Pro X
In the most basic form of pitch-shifting, we play a sample faster or slower. This has some side effects along with the desired pitch shifting - the duration and the formant of the sound are also shifted.
In your case, like Thomas already mentioned, it is the shifted formant that causes the squeakiness.
A formant is formed by the resonances inside a resonating body like the head (and chest) of a vocalist or the body of an instrument.
In the case of vocals, the initial impulse is caused by the vocal chords vibrating and we control pitch by altering the frequency that out chords vibrate. But the timbre of our voices depends from the way that initial impulse bounces around the cavities of our heads, resonating. This changes depending on how we form the shape of our mouths but there's limits to how much we can do this. So any more formant shifting will sound unnatural.
Some more evolved samplers will allow you to change pitch, duration and formant independently - within certain limits of course. There's some recommendations on this reddit but I haven't tried any of them.
get a plugin that has a sampler like serum. in serum you can import ur sample into the noise oscillator and mess around with your shift without making it very "squeaky".