The goal of this project is to research the possibilities for applying parallel programming in voice recognition. The idea is to optimize the performance of existing algorithms for voice recognition with the help of parallel programming. The voice recognition system used is Sphinx 3. The different parts of the system are reviewed so that it is decided which parts can be made parallel.
The parallel programming part is done with a new technology from NVidia which is called CUDA. This technology allows for the programmers to utilize the multicore graphic processors (GPUs) of their NVidia graphic cards, for purposes other than graphics. CUDA offers a C API that programmers can learn easily. The part of Sphinx that is implemented in CUDA is the Front End. The rest of the code is processed sequentially on a CPU.