Are there any algorithms or libraries for C# that can be used to score user pronunciation?
For example something like Levenshtein distance for text but for speech.
Any related links or information about algorithms would be useful. I'm writing an application which needs something like speech recognition so it would be great if there were relevant C# libraries.
Of course, it would also be great if the library could do speech to text, preferably in many languages.
You can learn more about pronunciation algorithms from the papers
A method for measuring the intelligibility and nonnativeness of phone quality in foreign language pronunciation training Goh Kawai and Keikichi Hirose
http://www.shlrc.mq.edu.au/proceedings/icslp98/PDF/AUTHOR/SL980782.PDF
The SRI EduSpeakTM System: Recognition and Pronunciation Scoring Franco et al.
http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.6.7417&rep=rep1&type=pdf
I don't think any C# library for that exists but you can use existing speech recognition toolkit through wrappers (C library) or with IKVM (Java library). You can learn more about CMUSphinx speech recognition tookit from the tutorial
http://cmusphinx.sourceforge.net/wiki/tutorial
As an exapmle of the pronunciation evaluation implementation check Ottercall website: