Эта тема настолько сложна ...;нет простых решений или четких объяснений;Есть много существующих методов и алгоритмов.Современные методы включают в себя алгоритмы искусственного интеллекта и машинного обучения, а не только тривиальные алгоритмы DSP, такие как БПФ или кепстральный анализ.Тем не менее, вы можете попробовать Sphinx-4, который написан на Java, так что он естественно кроссплатформенный.
http://cmusphinx.sourceforge.net/sphinx4/
Я не пробовал этого, поэтому не могу ничего сказать о его удобстве, но будьте уверены, что лучшие алгоритмы запатентованы и действительно очень дороги ...