I am doing several research for a prototype which I will be building. My prototype will consist of single word speech recognition and comparison with a preset recorded words. The prototyped system will then ask the user to say a the word and give a percentage match.

I am hoping to build this prototype with JAVA, however I am not at that stage yet, I am still researching all the available algorithms that exist in order to implement the above. I am seeking some guidance from you experts out there if I am on the right track in looking at the following algorithms to be able to implement the above:

  • Acoustic speech recognition
  • Hidden Markov Model algorithm
  • Discrete Fourier Transform
  • Fast Fourier Transform
  • The Cross-correlation Algorithm
  • The Auto-correlation Algorithm
  • The FIR Wiener Filter
  • Dynamic Time Warping algorithms
  • Mel Frequency Cepstral Coefficient

I am not sure if the above is wrong for my project and look into audio fingerprinting.

I am sorry I cannot provide any code for the time being I am still in the theory research part, If this question is not suitable to this forum please let me know so I can delete it and waste no one's time as it is not my intention.

P.S. Keep in mind that since this is only a prototype, moving forward I will research and eventually use any already existing algorithms (API's/Libraries in JAVA) so that is mostly why I am asking if I am on the right track. Many thanks for your help guys !


1 Answer 1


What you want to do sounds like standard speech recognition. I recommend you check out the Open Source JAVA library from CMU, Sphinx4. Run the Transcriber or Dialog demos and you can see it in action doing some basic recognition of digits & simple english commands from a small grammar. Note that many of your algorithms listed above, fit into different parts of a speech recognition system (frontend processing, search manager, acoustic scorer, etc)

Check out this paper for a good overview (and to see how all your algorithms above relate)


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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