The generation of the intonation of a phrase is done in two steps:
The Open-Source version of the German Festival speech synthesis system uses a very simple intonation prediction. Basically all nouns in a phrase receive an accents. The CART trees simple_int_accent_cart_tree and simple_int_tone_cart_tree achieve this task.
In a more elaborate version of the module we use an intonation prediction that determines the accents based on linguistic preprocessing[12]. The tree-tagger provides the part-of-speech information required for this method.
The file festival/lib/german/ims_german_ling_preproc.scm provides the module Ling_Preprocessing that deals with linguistic text preprocessing. To include it in the synthesis process, the function redefine_UttTypes_for_ling_preproc, as defined in ims_german.scm, must be called (usually in ims_german_voices).
The linguistic analysis carried out within the module creates an additional relation NP for each utterance containing all noun chunks of the utterance. These can be used for the prediction of accents and phrase boundaries, together with a number of other linguistic features and functions defined in ims_german_ling_preproc. The most important function is the identification of the so-called 'Vorfeld', i.e. enumerations and focus particles, as well as 'weight' and 'head' of noun chunks and the analysis of sequences of verbs.
CART trees for the prediction of phrase breaks (german_rule_based_phrase_cart_tree and german_data_based_phrase_cart_tree) and accents (german_rule_based_accent_cart_tree and german_data_based_accent_cart_tree) using the linguistic features introduced by Ling_Preprocessing are included in ims_german_ling_preproc. To use them, phrase_cart_tree and int_accent_cart_tree must be set accordingly (e.g. in ims_german_voices).