On Sat, 30 Apr 2005 20:00:57 -0700, Qiangning Hong wrote: > I want to make an app to help students study foreign language. I want the > following function in it: > > The student reads a piece of text to the microphone. The software records > it and compares it to the wave-file pre-recorded by the teacher, and gives > out a score to indicate the similarity between them. > > This function will help the students pronounce properly, I think.
Do you have any idea what it takes to compare two voices in a *meaningful* fashion? This is a serious question. I can't guarantee there is no app to help with this, but if it does exist, it either costs a lot of money, or will be almost impossible to use for what you want (boiling two voice samples down to a speaker-independent single similarity number... the mind boggles at the possible number of ways of defining that). Quite possibly both. If you *do* know something about the math, which, by the way, is graduate level+, then you'd do better to go look at the open source voice recognition systems and ask on those mailing lists. No matter how you slice it, this is not a Python problem, this is an intense voice recognition algorithm problem that would make a good PhD thesis. I have no idea if it has already been done and you will likely get much better help from such a community where people might know that. I am aware of the CMU Sphinx project, which should get you started Googling. Good luck; it's a great idea, but if somebody somewhere hasn't already done it, it's an extremely tough one. (Theoretically, it's probably not a horrid problem, but my intuition leads me to believe that turning it into a *useful product*, that corresponds to what humans would say is "similar", will probably be a practical nightmare. Plus it'll be highly language dependent; a similarity algorithm for Chinese probably won't work very well for English and vice versa. All this, and you *could* just play the two sounds back to the human and let their brain try to understand it... ;-) ) Waiting for the message pointing to the Sourceforge project that implemented this three years ago... -- http://mail.python.org/mailman/listinfo/python-list