new to this whole DSP thing. Two related questions:

  • Does there exist an algorithm or classifier that, when given two sound files, would be able to tell me if one is a pitch-shifted version of the other? There are algorithms that can tell you whether two images are resized versions of one another, I feel like this would be the audio equivalent.
  • How would you write an algorithm that takes two recordings that are pitch-shifted versions of one another and spits out the amount of pitch shift. My naive guess would be to count zero-crossings in a fixed window for both recordings and compare the two counts, but I feel like that might lead to aliasing issues.



There is an algorithm called Dynamic Time Warping that allows you to measure a distance between 2 time-series indepentently of their relative time stretching. Thus with a correct threshold value, you could detect if the two recording (the original and the pitch-shifted) are actually the same.

Then, by using the warping path, you could determine the relative amount of pitch shift between the 2 recordings.

| improve this answer | |

Your Answer

