I have a recording of speech, and I want to manipulate the voice, so a listener will perceive the manipulated voice and the original one as belonging to two different people. The manipulated voice should sound very natural, not computer-generated.

Just to clarify, the manipulated voice does not have to be modeled after the voice of someone; I'm not asking about mimicking a voice, as discussed here.

I have already used the SoundTouch library for pitch shifting, and it produces very nice results, but I want to change not only the pitch.

I saw this impressive video of a software called Voice Sculptor (couldn't find the company site), which demonstrate such a manipulation.

  • So I'm asking on a conceptual/algorithmic level how this can be done
  • And also if you know how to achieve this with specific tools.

Last note: I'm new to DSP, so I will appreciate any explanation of why and how.

  • 1
    $\begingroup$ for me it seems pitch and formants manipulation $\endgroup$
    – ederwander
    Commented Jul 6, 2016 at 14:23

1 Answer 1


You may use the same pitch shift technique, but a little bit modified. If, classically, in pitch shift algorithm, each frequency component changes by multiplication of its frequency on some pitch-shift coefficient k, you may try:

  1. Changing a little bit the amplitude of each spectral component.
  2. Multiply each frequency component not by k, but k+v(f), where v(f) shows variation dependent on frequency f. Such variation must be of much smaller value than k. I mean k >> v(f).

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.