MaxMBROLA~ external object: MBROLA inside Max/MSP
Max/MSP objects work as small servers. They are initialized when they are imported inside the workspace. They contain a set of dedicated functions (methods) which are activated when the object receive particular messages. These messages can be simple numbers, symbols or complex messages with a header and arguments. Considering that real-time request-based protocol of communication between objects, what we have to do is to define a particular set of messages (header and arguments).
As shown in Figure 1, we can separate the possible requests in two main channels. On one side, there is parameter modification, which influence the internal state of the synthesizer. On the other side, there is the phonetic/prosodic stream, which generate speech instantaneously.
Available actions of the object: Supported messages of the MaxMBROLA~ external object.
Internal state modifications.
Some particular modifications of the internal state of the MBROLA synthesizer can be applied with Max/MSP requests. Here is a description of that supported actions. The labels used to name inlets (from left to right: Messages, Fs, Time, Pitch and Voice and examples of the supported messages are illustrated on Figure 2.
MBROLA voices contain phonetic informations extracted from a particular speaker. That informations are structured as a database of all possible diphones (segment of speech, which starts in the middle of the stable part of a phoneme and ends in the middle of the stable part of the next one) available in the language of the speaker. MBROLA databases only contain one specimen of each diphone.