Numeral recognition is one among the most vital issues in pattern recognition. Its numerous applications like reading postal zip code, passport number, employee code, bank cheque processing and video gaming etc. To the best of our knowledge, little work has been done in Marathi language as compared with those for other Indian and non-Indian languages. This paper has discussed a novel technique for recognition of isolated Marathi numerals. It introduces a Marathi database and isolated numeral recognition system using Mel-Frequency Cepstral Coefficient (MFCC) and Distance Time Warping (DTW) as attributes. The precision of the pre-recorded samples is more than that of the real-time testing samples. We have also observed that the accuracy of the speaker dependent samples is more than that of the speaker independent samples. Another approach called HMM that statistically models the words is also presented. Experimentally, it is observed that recognition accuracy is better for HMM compared with DTW, but the training procedure in DTW is very simple and fast, as compared with the Hidden Markov Model (HMM). The time required for recognition of numerals using HMM is more as compared to DTW, as it has to go through the many states, iterations and many more mathematical modeling, so DTW is preferred for the real-time applications.
Keywords: Hidden Markov Model (HMM), Mel-Frequency Cepstral Coefficient (MFCC), Distance Time Warping (DTW).
Speech recognition systems are used in different applications in our daily life. Because of the rapid advancement in this field all over the world we can see many systems and devices with voice input 1. Speech Synthesis and Speech Recognition combinely form a speech interface. A speech synthesizer converts text into speech, so it can read out the textual contents from the screen. Speech recognizer had the capability to recognize the spoken words and convert it into text. We require such software’s to be present for Indian languages.
Speech recognition is the capability to listen spoken words and recognize different sounds present in it, and identify them as words of some familiar language. Speech recognition in computer domain involves many steps with issues attached with them. The steps required to make computers perform speech recognition are: Voice recording, word boundary detection, feature extraction, and recognition by using knowledge models.
The aim of the paper is to build a speech recognition tool for Marathi language, which is an isolated word speech recognition devices that uses Mel-Frequency Cepstral Coefficient (MFCC) for Feature Extraction and Distance Time Warping (DTW) for Feature Matching or to compare the test patterns.
3. Marathi Numeral Recognition using MFCC and DTW Features
The popularly used cepstrum based techniques to check the pattern to find their similarity are the MFCC and DTW. The MATLAB is used for the implementation of MFCC and DTW attributes.
FEATURE EXTRACTION (MFCC)
The MFCCs are used for feature extraction. The efficiency of this phase is important for the next phase since it affects its behavior 2. In MFCC feature extraction, the magnitude spectrum of windowed speech frame was filtered by employing a triangular Mel filter bank consisting of twenty Mel filters. From a group of twenty Mel-scaled log filter bank outputs, MFCC feature vector that consists of thirteen MFCC and the corresponding delta and acceleration coefficients (total thirty nine coefficients) is extracted from every frame.
The widespread use of the MFCCs is because of its low computational complexity and higher performance for ASR in the clean matched conditions. Performance of MFCC degrades drastically in presence of noise and degradation is directly proportional to signal-to noise ratio (SNR). The recognition accuracy for MFCC attribute is taken into account because it mimics the human ear perception 2.
The complete procedure of the MFCC is shown in Fig. 3.1. As shown in Fig.3.1, MFCC consists of seven computational steps. Every step has its function and approaches as mentioned in brief as follows.
Fig. 3.1.MFCC Block Diagram 2.
Step 1: Pre–emphasis
This method can increase the energy of signal at higher frequency. It permits the passing of every speech signal through a 1st order FIR filter which emphasizes higher frequencies. The 1st order FIR filter equation utilized is
Yn = xn-0.95 x n-1 …………………………………………………………..… (1)
Step 2: Framing.
Every speech signal is split into frames of thirty six ms (milliseconds) and most of spectral characteristics stay the constant in this period, with 50 % of overlapping.
Step 3: Windowing
To eliminate edge effects, every frame is formed with hamming window that
works better than other windows. The hamming window is represented by
W(n)=0.54-0.46 cos?(2?n/(N-1)) Where, 0?n?N-1……..….. (2)
Step 4: Fast Fourier Transformation (FFT)
The FFT is employed to get log magnitude spectrum to estimate MFCC. We have utilized 1024 point to obtain higher frequency resolution.
Step 5: Mel Filter Bank Processing
The twenty Mel triangular filters are designed with 50% overlapping. From every filter the spectrum are included to obtain one coefficient each, hence we have considered the first thirteen coefficients as our attributes. These frequencies are converted to Mel scale utilizing conversion formula.
We have taken into account only 13 MFCC coefficients due to the fact it gives higher recognition accuracy than other coefficients.
Step 6: Discrete Cosine Transformation (DCT)
The DCT of every Mel frequency Ceptral are used for de-correlation and energy
compaction is called as MFCC. The group of coefficient are called MFCC Acoustic Vectors. So, every input speech signal is converted into a sequence of MFCC Acoustic Vector from which reference templates are obtained.
Step 7: Delta Energy and Delta Spectrum
The attributes associated to the variation in cepstral features over time are represented by thirteen delta features (12 cepstral features and one energy feature), and 13 double delta or acceleration attributes. Each of the 13 delta features gives the variation between frames, while each of the 13 double delta attributes gives the variation between frames in the corresponding delta features. In similar way, all the total 39 MFCC feature are estimated for each frame which has feature vector. The Mel filter bank created is shown in Fig.3.2.
Fig.3.2: Mel scale filter bank 2.
The operating procedure of the MFCC coefficient extraction is:
Pre-emphasis of the speech signal, frame, adding window, then use the
FFT to get the frequency information.
2. Pass the signal through the Mel frequency coordinate triangle filter sets to
match the human hearing techniques and the human hearing sensibility to
variant speech spectrum.
Estimate the logarithm value of the signal after the Mel filters to get the
4. Obtain the discrete cosine transform to the signal and get the MFCC
According to psychophysical studies, human perception of the frequency content of sounds follows a subjectively defined nonlinear scale called the Mel scale .The
speech signal consists of tones with different frequencies F or each tone with an actual frequency measured in Hz, a subjective pitch is measured on the ‘Mel’ scale. The mel-frequency scale is a linear spacing below 1000Hz and above 1000Hz is a logarithmic spacing 3.
4. Features Matching (DTW)
In this form of speech recognition technique the test data is transformed to templates. The recognition method then includes the matching the incoming speech with stored templates. The template with the lowest distance measure from the input pattern is the known word. The best choice (lowest distance measure) is based upon dynamic programming. This is called a Dynamic Time Warping (DTW) word recognizer 3.
To understand the concept of DTW, we require to know this parameters,
Features: the information in every signal has to be exhibited in some fashion.
Distances: some type of metric has be utilized so as to obtain a match path.
Since the feature, vectors may probably have multiple elements, a ways of calculating the local distance is needed. The distance measure between two feature vectors is estimated by the Euclidean distance metric. The Euclidean distance between two points P = (p1, p2…pn) and Q = (q1, q2…qn), is expressed as,
Speech is a time-dependent technique. So, the articulations of the same word will have variant durations, and articulations of the same word with the same duration will differ in the middle, as the different parts of the words are being spoken at variant rates. In order to obtain a global distance between two speech patterns (given as a sequence of vectors) a time alignment should be performed.
DTW algorithm is relies on Dynamic Programming methods. This method is for estimating similarity between two time series that may vary in time or speed. This method is also utilized to obtain the optimal alignment between two times series if one time series may be “warped” non-linearly by stretching or shrinking it along its time axis. The warping between two time series can then be utilized to obtain the corresponding regions between the two time series or to find the similarity between the two time series. Fig. 4.1 shows the example of how one times series is ‘warped’ to another 4.
In Fig. 4.1, every vertical line joins a point in one time series to its respectively similar point in the different time series. The lines have similar values on the y-axis, while they have been departed so the vertical lines between them can be seen more easily. When both of the time series in Fig. 4.1 were identical, all of the lines would be straight vertical lines as no warping would be required to ‘line up’ the two time series. The warp path distance is a measure of the variation between the two time series after they have been warped collectively, which is estimated by the sum of the distances between every pair of points joined by the vertical lines in Fig. 4.1. Hence, two time series that are same except for localized stretching of the time axis will have zero DTW distances. The aim of DTW is to compare two dynamic patterns and calculate its similarity by finding a minimum distance between them.
Fig. 4.1 Warping between two time series4.
Suppose we have 2 time series Q and C, of length n and m respectively, where:
Q = q1, q2,………..qi…, qn …………………………………… (5)
C = c1, c2…………cj….cn ……………………………………. (6)
To align 2 sequences using DTW, an n-by-m matrix where the (ith, jth) element of the matrix has the distance d (qi, cj) between the two points qi and cj is designed. Then, the absolute distance between the values of two sequences is measured by using the Euclidean distance as:
d(qi, cj) = (qi-cj)2 ……………………………….………. (7)
Every matrix element (i, j) matches to the alignment between the points qi and cj. Then, accumulated distance is given as:-
Di, j = minD(i-1, j-1), D(i-1, j), D(I, j-1)+ d(i, j) …..………..… (8)
This is shown in Fig.4.4, where the horizontal axis gives the time of test input signal, and the vertical axis gives the time sequence of the reference template. The path shown gives the minimum distance between the input and template signal. The shaded region shows the search region for the input time to template time mapping function.