Speech Recognition

Existing Solutions

  • alphaWorks : Speech for Java

    Speech for Java is a Java programming interface for incorporating IBM's ViaVoice speech techonology into user interfaces.
  • CloudGarden JSAPI

    CloudGarden's Java Speech API implementation for Windows.
  • Java Speech API FAQ

    A collection of frequently asked questions (FAQ) that provides brief answers to many common questions about the Java Speech API (JSAPI).
  • Microsoft Speech SDK v5.1

    Microsoft's SDK that includes text-to-speech (TTS) engines and speech recognition (SR) engines.
  • ScanSoft

    "The leading supplier of speech and imaging solutions."
  • Nuance

    Another company providing speech products and services.

Open-Source Solutions

  • CMU Sphinx

    A real-time, large vocabulary, speaker independent speech recognition system.
  • Open Mind Speech

    An open source project that aims to provide free speech recognition tools. applications.
  • ISIP Automatic Speech Recognition

    Recognition software and various tools developed at Institute for Signal and Information Processing in Mississippi State.

Basic Algorithm


  • Pre-Emphasis

    Provided by University of Cambridge's Speech Vision Robotics Group, this page has a brief description of what the pre-emphasis filter is and how to implement it.
  • Isolated Word Endpoint Detection

    This page has an endpoint detector demo. as well as a brief overview of what the algorithm introduced by L. R. Rabiner and M. R. Sambur.

Feature Extraction and Digital Signal Processing

Vector Quantization

  • Vector Quantization

    Explains what Vector Quantization is and also gives sample code and animated example.

Hidden Markov Models

Audio File and Voice Capture

  • Java Sound API

    Java Sound API can be used to capture voice from microphone.
  • libsndfile

    libsndfile is an open source C library for reading and writing audio files in many different formats.
  • spwave

    A great open source software that plays audio files in many different format and makes use of libsndfile library. There is Windows, Mac OS and Linux versions available.