Parametric interpretation


After temporal interpretation, each node in the prosodic representation has been assigned a start time and a duration. We can then assign a parametric interpretation to each node.

This is done by evaluating a set of phonetic exponency rules, which have the following general form:

    Category:Features -->
       ...
       Parameter(T0 .. T) = (V0 .. V).

Order of evaluation: Top-down interpretation: Left-to-right interpretation: Head-first interpretation:
Implementation:

As exponency rules are evaluated, parameter tracks are added to a database, which is treated as a stack:

   parameter_track(Parameter, T0, T, V0, V)
The following predicate is used to retrieve values from this database:
   value(Parameter, Time, Value) :-
      parameter_track(Parameter, T0, T, V0, V),
      T0 <= Time,
      T >= Time, !,
      Value is V0 + (Time - T0) * ((V - V) / (T - T0)).
   value(Parameter, _, Default) :-
      parameter_default(Parameter, Default).

Example:

Exponency rules for F2:

   Nu -->
      A = END,
      B = F2_VALUE,
      f2(170, A) = (B, B).

   Co:[BACK, AFFRICATE] -->
      A = END,
      B = f2(-35),
      f2(-35, 10, 95, A) = (B, 1760+0.1*(B-1760), 2100, 1740).
Lookup table entries:
   F2_VALUE = 1400 :- Nu:[MID, SPREAD].
   F2_VALUE =  850 :- Nu:[MID, ROUND].
The evaluation of these rules is shown below for the inputs /@J/ (spread vowel, voiced affricate) and /oC/ (rounded vowel, voiceless affricate):

/@J/ /oC/


Back to Table of Contents
Arthur Dirksen / adirksen@prl.philips.nl / January 1995