# Sphinx-3 Decoders Codewalk

Mosur K. Ravishankar (aka Ravi Mosur)
Sphinx Speech Group
School of Computer Science
Carnegie Mellon University
Pittsburgh, PA 15213
rkm@cs.cmu.edu
03 Mar 2000

## Contents

- What's Around and Where
- s3.2
- s3 (Original)
- s2 FBS8

## What's Around and Where

Name | Remarks
--- | ---
CVSROOT | Location: `/net/alf20/usr1/rkm/cvsroot` Not everything listed below is under CVS, however
s3.2 | Location: `$CVSROOT/s3.2` Fast Sphinx-3 decoder using lextree organization: 5-10x real time speed on large vocabulary tasks Continuous density acoustic models only Batch-Mode operation only `gausubvq`: Sub-vector clustered acoustic model building Needed for fast acoustic model evaluation Documentation: `s3.2/doc/s3.html`: User manual `s3.2/doc/s3-2.ppt`: Decoder tutorial
libutil | Location: `$CVSROOT/libutil` Miscellaneous utilities needed by s3.2 (some of them by Eric Thayer and Paul Placeway): Platform-independent data types Command-line arguments parsing Hash tables Heap structures (for sorting) Memory allocation CPU usage profiling Error reporting Not Sphinx specific
s3 | Location: `/net/alf20/usr2/rkm/s3` Original Sphinx-3 decoder Slow; 50-100x real time speed on large vocabulary tasks Any kind of acoustic model (discrete, semi-continuous, continuous, others) Major applications: `s3decode` and `s3decode-anytopo`: Speech-to-text Decoding `s3align`: Forced alignment `s3allphone`: Allphone decoding `s3astar`: A* search, nbest generation `s3dag`: Shortest-path search Other utilities: `stseg-read`: State-segmentation binary file reader `sen2s2`: Sphinx-II "sendump" file creation from Sphinx-3 acoustic model Documentation: `s3/doc/s3.html`: User manual; needs to be updated
s2 (fbs8) | Location: Open source (search for "CMU Sphinx") Sphinx-II decoder Real-time operation Semi-continuous, Sphinx-II acoustic models only (Sphinx-II format) User applications support: Compiled into a library with a straightforward API for building speech-enabled applications Continuous-listening support Dynamic language model loading and switching Several test applications: Basic dictation with and without "push-to-talk" Basic audio recording and playback Audio segmentation using the continuous listener Additional recognition modes: Forced alignment Allphone decoding A* search, nbest generation Shortest-path search
lm3g2dmp | Location: `$CVSROOT/lm3g2dmp` Conversion from "arpabo" format language model file to binary ("dump") format used by all decoders
SphinxOCX | Location: `//ppro7/c/users/rkm/SphinxOCX` OCX wrapper for the fbs8 libraries Windows NT only
data | Location: `/net/alf20/usr/rkm/SHARED` An attempt at collecting all available data and models under one roof (not entirely successful): Cepstrum files Control files HMMs (acoustic models) Language models Dictionaries Implemented mainly via symbolic links, rather than physical copies

¤

## s3.2

See s3.2/doc/s3.html.

     s3types.h
     logs3.c
     logs3.h
     bio.c
     bio.h
     vector.c
     vector.h
     corpus.c
     corpus.h
     agc.c
     agc.h
     cmn.c
     cmn.h
     feat.c
     feat.h
     dict.c
     dict.h
     lm.c
     lm.h
     lmtest.c
     mdef.c
     mdef.h
     mdeftest.c
     cont_mgau.c
     cont_mgau.h
     subvq.c
     subvq.h
     svqtest.c
     fillpen.c
     fillpen.h
     tmat.c
     tmat.h
     wid.c
     wid.h
     dict2pid.c
     dict2pid.h
     dict2pidtest.c
     kbcore.c
     kbcore.h
     hyp.h

     main.c
     ascr.c
     ascr.h
     beam.c
     beam.h
     hmm.c
     hmm.h
     kb.h
     lextree.c
     lextree.h
     vithist.c
     vithist.h

     gausubvq.c
     gautest.c

¤

## s3 (Original)

See s3/doc/s3.html (needs to be updated), and s3/tests.

¤

## s2 FBS8

Open source (search for CMU Sphinx)

¤

Last modified: Wed Mar 8 13:25:39 EST 2000