The raw directory contains a demonstration of "direct to the metal" Sphinx4 programming.

The examples are reimplementations of the Transcriber and HelloNGram applications.

All configuration is done via constructors, and the XML configuration is bypassed.

Configuration via constructors is useful for dynamic configurations, or when the configuration is extremely complex, and not easily represented as static XML.  Configuration via constructors is also useful for calling sphinx4 from other languages, and is used by the Groovy, Clojure and Ruby examples.

Note that Java does not support arguments with default values.  So unlike the XML configurations all values must be explicitely specified.  For the moment, the best way to get the default values is to look in the code for the associated property value.  Like this...

    @S4Double(defaultValue = 1.0001)
    public final static String PROP_LOG_BASE = "logBase";

The file CommonConfiguration contains the configuration that is common to all the examples. TrascriptionConfiguration contains configuration that is unique to the Transcription application. HelloNGramConfiguration contains configuration that is unique to the HelloNGram application.

The examples also demonstrate loading acoustic and language model files directly from the file system.  To locate the files they need the root of the sphinx4 source tree.  This root is supplied as a command line argument.

The applications can be run separately, or RawEverything will run them in sequence.
