AMDF
This MATLAB exercise calculates and displays the AMDF of a frame of speech from a designated speech file and implements a pitch detection algorithm based on using the AMDF on a frame-by-frame basis. The program can operate in a frame mode, displaying each analysis frame and its associated AMDF (with a marking for best estimate of pitch period in voiced regions), or in a pitch detection mode. In the AMDF pitch detection mode a non-voiced frame detector (when the frame log energy falls below a fixed threshold) is utilized. The code also uses a procedure for determining whether the location of the minimum of the AMDF, for a given analysis frame, represents a case of pitch period doubling or even pitch period tripling, and provides an appropriate correction measure for such cases. The exercise plots the pitch period contour along with a plot of a confidence measure based on how strong a minimum of the AMDF was obtained for each analysis frame.