On this page you can find the following topics:
The interface module also offers some useful functions and preprocessor macroes for often used operations, like creating new instances of an object class (i.e new objects), destroying accessing and cofiguring objects.
search
/ | \
hypotheses | language model
\ | /
\ | / labels
vocabulary / | \
|\ / | \--- dictionary...
| \ alignment / | \--- allophone models...
| \ \ \ / | \--- senone tree...
| \ \ path | \--- topology tree...
| \ \ | | \--- topologies...
| \ \ | | \--- transitions
| \ Markov model \--- tags
| \ / | \--- phones
| \/ | \--- database
| /\ |
dictionary allophone models
| | | \
| | | \
| | | \
tags | senone tree topology tree
| / | \ \ / / |
| / | \ tags / |
phones | \ / |
| \ / |
| generic tree |
| |
| |
senones topologies
/ \ |
/ \ |
(score computer) |
/ \ |
/ \ |
distributions neural net transitions
| |
| |
codebooks | C/Tcl interface
lda | \ | generic lists
/ \ | rewriting sample sets
path features
Some of the modules appear more than once, this is only to avoid too many crossing dependency lines. The lines in the above
diagram mean the following:
Iff module A is connected to a lower module B, then there is a part in A's source code which needs to know something about B's source code.This doesn't necessarily mean that you cant define a object of type A without having one of type B. It also doesn't mean that an object of type A can have a subobject object of type B.
There are three special cases in the diagram:
(i13a6:/home/i13hp1/rogina) mkdir tmp (i13a6:/home/i13hp1/rogina) cd tmp (i13a6:/home/i13hp1/rogina/tmp) ln -s /home/i13d4/speech/janus3/RCS . (i13a6:/home/i13hp1/rogina/tmp) co RCS/* ... many RCS messages ... (i13a6:/home/i13hp1/rogina/tmp) make depend grep include *.c | grep "\.tclc" | cut -f2 -d'"' | xargs touch -t 199601011200 makedepend -- -I/home/i13d4/speech/janus3/include -g -- *.c (i13a6:/home/i13hp1/rogina/tmp) make janus ... many messages from make ... (i13a6:/home/i13hp1/rogina/tmp) janusA # ================================================== # JANUS-SR Version 3.0 [Jan 10 1996 13:02:21] # --------------------------------------- # University of Karlsruhe, Germany # Carnegie Mellon University, USA # # (c) 1993-95 - Interactive Systems Labs # ================================================== %There are a few things not usually found in other Makefiles. Some JANUS C source files do include a preprocessed Tcl script and assign it to a string such that this string can be used for Tcl_Eval(...). It seemed nice and easier to us, to have extra humand-readable files which contain the Tcl scripts. This way it is easy to read and to edit them, and they can also be used and debugged as standalone scripts. To do this, we first have to convert a Tcl script into a single string, by replacing all doublequotes with backslash-doublequotes and all backslashes by backslash-backslashes, and all newlines by backslash-n. This is done in a oneliner which is used as the rule for creating .tclc files from .tcl files. The .tclc files are the ones that are included in the C source. Because makedepend complains when files-to-be-included don't exist, we've also added a line to the rule for make depend which will create dummy .tclc files with very old dates. (It might be a waste of time, tryining to optimize the onliner .tcl to .tclc rule.)