[Next] [Up] [Previous]

We now define AFL expressions that yield a new speech state -these have no side-effects. The simplest expressions are the names of
the nine predefined voices (*e.g.,* `afl:paul`) and the names of
variables to which states have been assigned. Using these expressions
to move in the speech space makes the space a collection of discrete
points. In addition, AFL provides four operators for generating
new points in speech space. Each of these ``move operators''
expresses a change along a single dimension of the state space. While
one move operator would have been sufficient, having multiple
operators makes AFL easier to use. These operators allow us to
express relative changes to the speech state. To give some intuition,
they provide the same ability as scaling a font in the visual setting.

Expression

[displaymath5556]

yields a state that is the same as *point* except that
*offset* has been added to dimension *dimension*.
For example, the following statement adds 50% to the assertiveness
of `'afl:paul`.

[displaymath5557]

Expression

[displaymath5558]

yields a new state, *point* with
the value of dimension *dimension* multiplied by
*factor*.

Expression

[displaymath5559]

yields state *point* with the value
of dimension *dimension* set to *value*.

Expression

[displaymath5560]

yields state *point* with
the value for dimension *dimension* changed by
*steps* steps.
Each dimension has a default step size, which specifies the minimum
change needed to be perceptible. The step sizes
for the MultiVoice parameters are shown in the ``step size'' column
of ta:par.
Using `step-by`,
one can have the value of a dimension changed by a multiple of the
step size.

The step-size for a particular dimension can also be changed by
supplying the additional keyword `afl:step-size` to any of the AFL operators.
For example, while the expression

[displaymath5561]

yields a new state with the value of `afl:average-pitch` changed,
the expression

[displaymath5562]

yields a new state with the step size for
`afl:average-pitch` changed to 2. Note that this expression makes
use of named parameters in `Common Lisp`.

The four move operators are shown in their simple form. In general, these operators take a point and a list of dimension-value pairs specifying how to move.

[displaymath5563]

[Next] [Up] [Previous]

Thu Mar 9 20:10:41 EST 1995