CMU Sphinx: Open Source Speech Recognition

## The CMU Sphinx Group Open Source Speech Recognition Engines

Speech at CMU | Language Modelling Tool
Docs | FAQ | Models | SphinxTrain | download

SphinxTrain acoustic model training suite is also available.

# CMU Sphinx

The Sphinx Group at Carnegie Mellon University is committed to releasing the long-time, DARPA-funded Sphinx projects widely, in order to stimulate the creation of speech-using tools and applications, and to advance the state of the art both directly in speech recognition, as well as in related areas including dialog systems and speech synthesis.

The Sphinx Group has been supported for many years by funding from the Defense Advanced Research Projects Agency, and the recognition engines to be released are those that the group used for the various DARPA projects and their respective evaluations.

The licensing terms for the Sphinx engines and tools are derived from BSD, and based, in particular, upon the license for the Apache web server. There is no restriction against commercial use or redistribution. (License terms for CMU Sphinx)

In early 2000, the Sphinx Group released Sphinx 2, a real-time, large vocabulary, speaker independent speech recognition system as free software under the Apache-style license. Sphinx 2 is the engine used in the Sphinx Group's dialog systems that require real-time speech interaction, such as the implementation of the DARPA Communicator project, a many-turn dialog for travel planning. The pre-made acoustic models include American English and French in full bandwidth, and telephone-bandwidth Communicator models; Sphinx 2 is a decent candidate for handheld, portable, and embedded devices, and telephone and desktop systems that require short response times.

Sphinx 3, a slower, yet more accurate recognizer used, for example, for broadcast news transcription, and an Acoustic Trainer, allowing anyone to create acoustic models for conditions, channels, and domains, will also be released in 2000.

SphinxTrain, the acoutsic training environment for CMU Sphinx (both sphinx2 and sphinx3) was first publically released on June 7th, 2001. With this contribution, people should be able to build models for any language and condition for which there is enough acoustic data.

In summary, the CMU Sphinx Group is releasing a set of reasonably mature, world-class speech components that provide a basic level of technology to anyone interested in creating speech-using applications without the once-prohibitive initial investment cost in research and development; the same components are open to peer review by all researchers in the field, and are used for linguistic research as well.

CMU is in the process of releasing the Sphinx speech recognizer. This site will be the canonical location for the release of the Sphinx II and III trainers, recognizers, acoustic and language models, and documentation.

## Try a System

If you'd like to have a chance to try out an application that uses CMU Sphinx , try the Communicator, an experimental system that helps you plan air travel. You can reach it at the toll-free number 1-877-CMU-PLAN (1-877-268-7526) or at +1 412 268 1084.. The system will provide real flight information. More complete information about the Communicator can be found here. The system may be sensitive to loud background noises, especially over cell phones.

Note that your call will be recorded for development purposes and may be shared with other researchers. We don't have a policy set up yet for placing such recordings into a publicly availably database, and so there is no guarantee that this data will become publicly available -- though we're motivated to set that up in the future.

## Download

You can download sphinx2 from SourceForge. The CVS tree and the releases are available there.

## Bug Tracking and Discussion Groups

There are fora for bug tracking and discussions on the SourceForge site, also. Please go there for help, questions, to report bugs, and to see the latest work. The work is currently pre-version 1.0, so there is a lot yet to be done.

## Build a Language Model

Note: The LM Tool still builds for the OLD phoneset right now, with the deletable stops and the TS phone. This will be updated shortly. If you want to use it with the current Sphinx2 CVS version, just edit the resulting .dic file to remove the D from PD TD KD BD DD GD (to make them P T K B D G), and split the phone TS into T and S.
You can build your own language models for use with Sphinx using the Language Modelling Tool web page. Just make a simple text file containing sentences and words that you would like to have recognized, and upload the file with your browser. You will see the progress as it builds your files, and then it will present you with the final products.

You may also want to use the CMU-Cambridge Statistical Language Modeling Toolkit to build models, and get word pronunciations from the CMU Dictionary.

NOTE: By default, Sphinx2 uses a slightly different phone set for American English than is in the CMU Dictionary. Internally, Sphinx2 does not use lexical stress; you need to run the CMU Dictionary through the `stress2sphinx` utility included in the Sphinx2 release to convert it to the default phone set.

## SphinxTrain

SphinxTrain, an environment for building acoustic models for the CMU Sphinx2 and Sphinx3 engines. With enough data (and effort), you can create acoustic models for any language, task, or channel conditions that will allow the run-time engines to recognize the speech. Sphinx, plus an acoustic model, plus a language model gives you everything you need to build systems that use speech recognition.

## Platforms

- GNU/Linux, Unix variants, and Windows NT or later