Question

Can somebody tell me how to change the pitch of a wave file in Android?

Was it helpful?

Solution

Android does not have such functions built in, and the process is not at all trivial. If you would like to try and code it yourself, I suggest looking at such algorithms as PSOLA, WSOLA and Phase Vocoder for pitch alteration. The book DAFX by Udo Zölzer discusses many of these in quite good detail and most of it is fairly straightforward. Phase Vocoder, I believe, works the fastest, but also takes more DSP and mathematical knowledge to understand. PSOLA is perhaps the least mathematically complicated. I personally prefer WSOLA and Enhanced WSOLA (EWSOLA), but those take quite a bit of processing power.

For correlation techniques (if you use WSOLA) I suggest doing it if frequency domain (Google FFT-based correlation). It is much quicker.

If most of this had just gone over your head, you might want to reconsider doing this altogether, but I by no means try to discourage you. = )

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top