|
|
Implementation
|
|
|
|
|
|
interface to the rest of the system and a “wiretap” program which translates binary
|
|
|
program output into human-readable form.
|
|
|
|
|
|
The speech processing modules all share a common interface configuration.
|
|
|
Each module has an input port and an output port (these are the UNIX standard
|
|
|
input and standard output channels, respectively). Module input can come from
|
|
|
either a disk file or from the output port of the preceding module (via a UNIX
|
|
|
pipe). Module output can be directed to a disk file or to the input port of the next
|
|
|
module. A group of modules connected together in sequence is called a pipeline in
|
|
|
UNIX terminology.
|
|
|
|
|
|
The top level program, called MITALK, handles the creation of a speech
|
|
|
processing pipeline. The user can call for the entire pipeline or any subsequence of
|
|
|
the pipeline. The user specifies the names of the first and last modules in the
|
|
|
desired pipeline and MITALK creates the pipeline processes. If the first module is
|
|
|
FORMAT, then the user can provide input text directly from the terminal. If any
|
|
|
other module is first, then its input must come from a previously created disk file.
|
|
|
If the last module is COEWAY, then output can be sent to a digital-to-analog con-
|
|
|
verter to be played aloud. The output from other modules can be sent to a disk file
|
|
|
or can be translated from raw binary to human-readable form for display on the
|
|
|
user’s terminal. The program SHOW is used to perform the translation.
|
|
|
|
|
|
14.5 Using the system
|
|
|
|
|
|
Figure 14-1 demonstrates most of the features of the system. This figure contains
|
|
|
a complete copy of a MITalk session. User-typed text is in boldface. The first line
|
|
|
of text is the user’s command to the UNIX shell to start the top-level process with
|
|
|
the given list of parameters. Next, MITALK decodes the parameters to determine
|
|
|
the appropriate pipeline structure. In this case, the pipeline begins with FORMAT
|
|
|
receiving input from the user terminal (tty) and ends with SOUNDI1 sending output
|
|
|
to the terminal. In addition, the contents of the pipe streams between DECOMP
|
|
|
and PARSER, and between PARSER and SOUNDI, are displayed on the terminal.
|
|
|
Output from each module is prefixed by the module name.
|
|
|
|
|
|
175
|