This project was made as an assignment for the Real-Time Artificial Intelligence course in TU Delft.
Here we have developed a simple speech recognizer able to recognize audio files with one Dutch word over a telephone. The recognizer has been implemented using Java programming language, the SDK Eclipse as implementation framework and Hidden Markov Toolkit (HTK).
The recognizer consists of six different classes: Recognizer, lexiconReader, phoneReader, phone, audioReader and hmm. They take some inputs as initial information (included an audio file). With this information it computes a HMM (Hidden Markov Model) for each word in the lexicon to get the probability of that word given the observations from the audio file. The word with the highest probability is the one taken as recognized.
Results show how the speech recognizer performs with an efficiency of 82%. The implementation of this system has shown us that the complexity of the speech recognition task what means to be very time consuming computationally. Besides, the fact that our recognizer only recognizes isolated words has made the design of the system much easier, so a real recognizer where accents and continuous speaking are taken into account presents as a very complex task.
However this implementation as an exercise for the course seems to be quite useful to set deep inside all the vast theoretical knowledge given during lectures. And according to the results, those concepts has been understood and the recognizer has been built successfully.