I want to separate out the components that I need to evaluate the pronunciation of a user, so I am dealing with the energy/stress/volume and intonation or pitch.

Focusing first on the pitch, is there any way to get the average pitch of the wave file? I would like to get the average of the user's input with respect to the reference and make a percentage match.


I think if you want to evaluate pronunciation, comparing the average pitch of two utterances is a terrible idea. It does not make sense because:

  1. Unless you are working with a tone language (like Chinese or Vietnamese), or something specifically related to prosody (english stress patterns), pitch is of lesser importance than other parameters.

  2. An utterance can have exactly the same prosody parameters as another, but be spoken a few semitones or even an octave higher than the reference (for example because both speakers are not of the same gender). The average pitch will differ but this is not an error.

  3. Two utterances can wildly differ on every conceivable metric, but their pitches can average out to the same value "by chance".

The very least thing you could do is to extract pitch contours, compute their derivate or quantize their variations coarsely (to remove the transposition problem 2.), and align them through DTW.

  • $\begingroup$ ahm, is there any other way in order to identify that a pronunciation is correct? thanks. $\endgroup$ – user7207 Dec 14 '13 at 6:56

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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