Have you thought about simply changing the sample rate? If you load raw sound bites into memory and play them using the Android AudioTrack class, you can specify a wide range of possible sample rates, and Android will reprogram for you. This will change both the pitch and tempo, for example, playing back a recording at the wrong speed. If you absolutely need to change the pitch without affecting the tempo, you'll need SoundTouch or something like that.
In any case, it is definitely possible, but it will take a lot of work.
To compile SoundTouch you will need Android NDK (proprietary development kit). The Java wrapper you found may be useful, but ultimately you will need to trick your hands in the NDK.
You will also need to write your own code to read the audio file from disk, and then buffer it through SoundTouch and exit the AudioTrack class. MediaPlayer will not help you here.
Finally, note that when you release the application, you will have to comply with the terms of the LGPL.
source share