If you want to keep in the frequency domain, do you need to do a phase vocoder pitch shift !
Do you will need a very strong Pitch Track extraction method to find the frequency notes for then pass to your pitch shift what is the scale factor to be changed(tuned) in your signal, for example the midle C (c4), in a lot of documentions you will find the frequency 261.6
, but its is a bit detune C4 note in -0.16 cents, follow this example the exactly C4 frequency must be 261.6256261.6256
, to know the real C4 frequency just do:
440*(2^(1/12))^-9 = 261.6256 = 0 cents
C4 is the nine key to the left of A4 then `-9-9
!
you said +20cents, for this example C4 + 20cents is 264.666hz, we a talkin about 3.0404hz difference !
Is important say that when you apply a pitch scale factor in your signal this can produce a bit artificial results, how high you need pitch scale more artificial may seem !
The phase vocoder can be implemented to change the pitch directly, without need change the tempo and then resample, for it see the code from Stephan M. Bernsee
Summarizing you have a big challenge ahead :-)