[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]

TV Raman

Thu Mar 9 20:10:41 EST 1995