domain: info stat

text:
Nicolas D'alessandro
email: nicolas.dalessandro@umons.ac.be

Joëlle Tilmanne
email: joelle.tilmanne@umons.ac.be

Maria Astrinaki
email: maria.astrinaki@umons.ac.be

Thomas Hueber
email: thomas.hueber@gipsa-lab.grenoble-inp.fr

Rasmus Dall
email: r.dall@sms.ed.ac.uk

Thierry Ravet
email: thierry.ravet@umons.ac.be

Alexis Moinet
email: alexis.moinet@umons.ac.be

Huseyin Cakmak
email: huseyin.cakmak@umons.ac.be

Onur Babacan
email: onur.babacan@umons.ac.be

Adela Barbulescu
email: adela.barbulescu@gipsa-lab.grenoble-inp.fr

Nicolas D'

Valentin Parfait

Victor Huguenin

Emine Sümeyye Kalaycı

Qiong Hu
email: qiong.hu@ed.ac.uk

Reactive Statistical Mapping: Towards the Sketching of Performative Control with Data

Keywords: Statistical Modelling, Hidden Markov Models, Motion Capture, Speech, Singing, Laughter, Realtime Systems, Mapping

des établissements d'enseignement et de recherche français ou étrangers, des laboratoires publics ou privés.

Introduction

The simulation of human communication modalities, such as speech, facial expression or body motion, has always been led by the challenge of making the virtual character look "more realistic". Behind this idea of realness, there are inherent properties that listeners or viewers have learnt to expect and track with great accuracy. Empirical studies, such as the Mori's vision for robotics [START_REF] Mori | The Uncanny Valley[END_REF], tend to demonstrate that this quest for human likelihood is highly non-linear, encountering a well-known phenomenon called the uncanny valley, i.e. an unexpected shift from empathy to revulsion when the response of the virtual character has "approached, but failed to attain, a lifelike appearance" [START_REF] Mori | The Uncanny Valley[END_REF].

A Content-Oriented Approach of Expressivity

For the last decades, research fields like sound synthesis, computer graphics or computer animation have faced this issue of the uncanny valley in their own ways. However common trends can be highlighted. The primary goal in producing artificial human modalities has always been to "preserve the message", i.e. what is heard or seen is at least understood correctly. In speech synthesis, this is called intelligibility [START_REF] Dutoit | An Introduction to Text-To-Speech Synthesis[END_REF]. We can transpose this property to images or motion, as it refers to the readability of what is generated: a smile, a step, a laughter sound, etc. Later the target has evolved to "make it look more natural". This trend of naturalness is what has brought nearly everybody in these fields to use recordings of actual human performances, thus moving beyond explicit rulebased modelling. We can retrieve this concept in the development of non-uniform unit selection in speech synthesis [START_REF] Raux | A Unit Selection Approach to F0 Modelling and its Applications to Emphasis[END_REF], giga-sampling in music production [START_REF] Lindemann | Music Synthesis with Reconstructive Phrase Modelling[END_REF], highresolution face scanning [START_REF] Fechteler | Fast and High Resolution 3D Face Scanning[END_REF] or full-body motion capture [START_REF] Menache | Understanding Motion Capture for Computer Animation and Video Games[END_REF] in animation.

Nowadays the target is to bring expressivity and liveliness to these virtual characters. This idea goes further than naturalness as it expects the virtual character to display a wide range of convincing emotions, either automatically or by means of some authoring. For at least a decade, the typical approach to this problem has been to extend the amount and variability of the recorded data, hoping to gather enough utterances of the expected emotions so as to encompass what we perceive as human. If this idea is meaningful, one might conjecture that the way of representing and using this massive amount of data is not very lively nor flexible. For instance, non-uniform unit selection in speech synthesis concatenates very long utterances from the original recordings [START_REF] Raux | A Unit Selection Approach to F0 Modelling and its Applications to Emphasis[END_REF] and static or dynamic postures in animation are often blended from original sequences without a deep understanding of the production mechanisms.

Performative Control and Machine Learning

Although the use of a large amount of data has clearly improved some aspects of virtual human-like character animation 1 , we could argue from the current results that this approach on its own has not been able to fully climb the uncanny valley. Indeed speech synthesis and face/body animation resulting from monolithic transformations of original recordings keep having something inappropriate and 1 Our approach is really transversal to all the virtual character's modalities: voice, face and body. Therefore we tend to use the terms "rendering" and "animation" for both sounds and visuals. This distinction is rarely done for sound, as "synthesis" is often used for the whole process. Though a similar nuance can be found in speech, when respectively referring to segmental and suprasegmental qualities [START_REF] Dutoit | An Introduction to Text-To-Speech Synthesis[END_REF].

confusing [START_REF]Realtime and Accurate Musical Control of Expression in Voice Synthesis[END_REF]. In this research, we think that user interaction has a great role to play in how a given virtual human-like character will be considered more expressive and lively. Indeed we agree that expressivity is a matter of displaying a great variability in the rendered output, but we think that these variations need to be contextually relevant. This "context" is a sum of elements surrounding the virtual character at a given time and user interaction has a big impact on how the rendering system should behave. Our way of reading the Mori's law is that a significant part of the perceived humanness sits in very subtle details. In this work, we will focus on how the animation trajectories can reactively adapt to the user interaction on the very short term, i.e. within milliseconds. We think that there is a lack in the literature about how these trajectories should react according to very short-term gestures, as most of the research is focusing on a larger time window and the overall discussion of dialog systems.

Our approach towards bringing together large multimodal datasets and shortterm user interaction is to use machine learning. There is already a very large body of literature on applying machine learning techniques in the fields of gesture or voice recognition [START_REF] Maestre | Statistical Modelling of Bowing Control Applied to Violin Sound Synthesis[END_REF], gesture or voice synthesis [START_REF] Tokuda | Speech Parameter Generation Algorithms for HMM-Based Speech Synthesis[END_REF], gesture or voice conversion [START_REF] Dutreve | Feature Points Based Facial Animation Retargeting[END_REF], and what is called implicit mapping, i.e. the use of statistical layers as a way of connecting inputs to outputs in interactive systems [START_REF] Hunt | The Importance of Parameter Mapping in Electronic Instrument Design[END_REF]. Multimodal animation of virtual characters brings two main constraints to take into account when it comes to statistical modelling. On the one hand, dimensionality of the data is very big (see Section 3 for details). On the other hand, we aim at creating animation trajectories, which means that the temporal quality of the generated outputs is crucial. Besides these specific animation-related constraints, we want to enable short-term interaction with the virtual character. Therefore the way of handling statistics in our system requires to be fully realtime.

A New Framework for GMM/HMM-Based Mapping

In this project, we have decided to investigate the use of Gaussian Mixture Modelling (GMM) and Hidden Markov Modelling (HMM) as statistical tools to abstract big collections of multimodal data, use such knowledge to animate virtual characters in realtime and enable various kinds of user interactions to happen. GMM/HMM offers great ability to cover complex feature spaces and HMM is designed for taking care of the temporal structure of trajectories to be rendered. Moreover the development of GMM/HMM-based machine learning techniques has been greatly boosted by recent advances in speech technology research. Particularly the idea of HMM-based speech synthesis has emerged in the last decade [START_REF] Tokuda | Speech Parameter Generation Algorithms for HMM-Based Speech Synthesis[END_REF]. A synthesis system called HTS has become a reference in this field [START_REF] Tokuda | HMM-based Speech Synthesis System (HTS)[END_REF]. There are many pieces of innovative research surrounding GMM/HMM-based generation. Three of them have particularly encouraged our team to envision a new GMM/HMM-based framework for virtual character animation:

the adaptation of the speech algorithms to motion capture data [START_REF] Tilmanne | Stylistic Gait Synthesis Based on Hidden Markov Models[END_REF][START_REF] Urbain | Evaluation of HMM-Based Laughter Synthesis[END_REF]; the modification of the core generation algorithms to be fully realtime [START_REF] Astrinaki | Reactive and Continuous Control of HMM-based Speech Synthesis[END_REF]; the integration of mapping functions inside the HMM framework [START_REF] Astrinaki | Mage -Reactive Articulatory Feature Control of HMM-Based Parametric Speech Synthesis[END_REF][START_REF] Hueber | Continuous Articulatory-to-Acoustic Mapping using Phone-Based Trajectory HMM for a Silent Speech Interface[END_REF].

As a result, we have decided to create a new framework that accepts and decodes user interaction gestures in realtime, finds the appropriate statistical context to apply mapping strategies and is able to generate new trajectories to partially or totally animate a virtual character. In this work, this prototype framework has been tested for a great amount of use cases, encompassing many modalities: speech, singing, laughter, face and body motion.

Outline of the Paper

In this paper, we will first present a more detailed background theory on the statistical models that are used in our system (cf. Section 2). In Section 3 we describe the particularities of the datasets that we have been using: speech, laughter, singing, facial and gait motion. Section 4 explains the various use cases in which we enabled the realtime trajectory generation. Section 5 focuses on use cases where mapping is the fundamental feature. Further details on the architecture are given in Section 6. Finally we conclude in Section 7.

Statistical Feature Mapping: Theoretical Aspects of GMM-Based and HMM-Based Mapping Techniques

The research described in this paper relies on a very specific use of machine learning techniques based on Gaussian Mixture Models (GMMs) and Hidden Markov Models (HMMs). The aim of this Section is to describe a set of background theories that are necessary to understand the following Sections. In the next parts, we first recall the theoretical context of statistical feature mapping.

Then we give an overview on how to turn GMM and HMM into mapping layers.

We also give more details on how to generate the HMM-based trajectories in realtime, as it is required for building an interactive system.

Statistical Feature Mapping

The problem of feature mapping refers to the prediction of a vector of target variables ŷ (also called target features), from the observation of an unseen vector of input variables x. This problem can be divided into three categories:

regression, also referred to as continuous mapping, i.e. the case where both y and x will comprise continuous variables; classification, i.e. the case where y will represent a discrete set of class labels while x will comprise continuous variables; generation, also referred to as synthesis, i.e. the case where x will represent class labels and y the continuous variables we want to estimate.

The feature mapping problem can be viewed from a probabilistic viewpoint. It consists in finding the vector of target variables ŷ which maximises the conditional probability p(y|x) of y given x, such as:

ŷ = arg max y { p(y|x) } (1)
In supervised machine learning, this conditional probability is estimated during the training phase from a dataset x = [x 1 , ..., x N ] comprising N observations of x together with the corresponding observations of the values of y = [y 1 , ..., y N ]. Two types of approaches can be envisioned to estimate this conditional probability: the discriminative or the generative approach.

In a discriminative approach, this conditional probability distribution (also referred to as the posterior probability distribution) is estimated directly from the training data. In other words, such an approach provides a model only for the target variables conditional on the observed variables and does not provide a complete probabilistic model of all the variables (observed and hidden ones). Examples of discriminative models include Linear Discriminant Analysis (LDA), Conditional Random Fields (CRF), Artificial Neural Networks (ANN), etc.

In a generative approach, the conditional probability is not estimated directly, but derived from the joint probability distribution p(x, y) using Bayes' theorem:

p(x, y) = p(y|x)p(x) = p(x|y)p(y) (2)
where p(x|y) is the likelihood function, p(y) the prior probability -i.e. the probability of y before seeing x -and p(x) is usually viewed as a normalisation constant. Note that the joint probability p(x, y) can be either modelled explicitly or implicitly via the separate estimation of the likelihood function and the prior probability. Examples of generative models includes GMMs and HMMs.

Using Generative Models Generative and discriminative approaches have their own advantages and drawbacks. An extensive discussion about which approaches would be more suitable for addressing a specific application is far beyond the scope of this paper. However we focused on generative models for two main reasons.

The first advantage of the generative approach is that the inclusion of prior knowledge arises naturally. This may be extremely convenient to address problems, considered as ill-posed, for which there is no clear one-to-one mapping between input and target feature spaces. Furthermore, as prior probabilities do not depend on the input observation x, they may be estimated on a much larger dataset than the training set. Prior knowledges can be used to constrain the mapping process to generate acceptable outputs (as in speech recognition, where a language model gives the probability of having a specific sequence of words in a specific language, independently from the observed acoustic signal).

The second advantage is its flexibility. Estimating the joint probability distribution over input and target variables p(x, y) allows to address several mapping problems with the same model. As an example, let us consider a mapping problem between a continuous feature space x and a discrete space of k classes C k . The same approach which aims at estimating p(x, C k ) could be used to address both the related classification problem by deriving the conditional probability p(C k |x), and the symmetrical problem of trajectory generation, by sampling the conditional probability p(x|C k ) -i.e. the likelihood function.

However we have to keep in mind that generative approaches are known to require a lot of training data. In fact, the dimensionality of both input x and target observations y may be high, and consequently a large training set is needed in order to be able to determine p(x, y) accurately.

In this project, we focused on two generative approaches, which are GMMs and HMMs. The theoretical aspects of these two techniques are mainly presented in the context of regression, plus a specific focus on realtime generation and the Mage framework. Indeed more general aspects of GMM/HMM-based classification [START_REF] Maestre | Statistical Modelling of Bowing Control Applied to Violin Sound Synthesis[END_REF] and generation [START_REF] Tokuda | Speech Parameter Generation Algorithms for HMM-Based Speech Synthesis[END_REF] have already been extensively described.

From now on, sequences of input and target feature vectors are noted respectively x and y, and are defined as: x = [x 1 , .., x t , ..., x T ] and y = [y 1 , .., y t , ..., y T ], where x t are y t are respectively D x and D y dimensional vectors of input and target features observed at time t (T is the sequence length).

GMM-Based Mapping

During the training phase, the joint probability density function (pdf) of input and target features is modelled by a GMM such as:

p(z|λ) = p(x, y) = M m=1 α m N (z, µ m , Σ m ) (3)
with

z = [x, y], µ m = µ x m µ y m , Σ m = Σ xx m Σ xy m Σ yx m Σ yy m ( 4
)
where λ is the parameter set of the model, N (., µ, Σ) is a normal distribution with mean µ and covariance matrix Σ, M is the number of mixture components, and α m is the weight associated with the m th mixture component (prior probabilities). Given a training dataset of input and target feature vectors, the parameters of a GMM (weights, mean vectors and covariance matrices for each component) are usually estimated using the expectation-maximisation (EM) algorithm. The initial clustering of the training set can usually be obtained using the k-means algorithm.

In the mapping phase, a conditional pdf p(y t |x t , λ) is derived, for each frame t, from the joint pdf p(x t , y t ) estimated during training, such as described in Eq. 5 to 9. The mathematical basis of this derivation can be found in [START_REF] Kay | Fundamentals of Statistical Signal Processing Volume 2: Detection Theory[END_REF].

p(y t |x t , λ [xy] ) = M m=1 p(c m |x t )p(y t |x t , m, λ [xy] ) ( 5
)
where λ is the model parameter set. The posterior probability P (c m |x t ) of the class c m given the input vector x t , and the mean and covariance of the class-dependent conditional probability P (y t |x t , m, λ [xy] ) are defined as:

p(c m |x t ) = α m N (x t , µ x m , xx m ) M p=1 α p N (x, µ x p , xx p ) (6)
and

p(y t |x t , m, λ [xy] ) = N (y t , E (m,t) , D (m,t) ) (7)
with

E (m,t) = µ y m + Σ yx m Σ xx -1 m (x t -µ x m ) (8)
D (m,t) = Σ yy m -Σ yx m Σ xx -1 m Σ xy m (9)
Two approaches can then be envisioned to address a regression problem with a GMM. In the first one, referred here to as the MMSE-GMR for "Gaussian Mixture Regression based on the Minimum Mean Square Error Criterion", the target feature vector ŷt estimated from the given source vector x t observed at time t, is defined as ŷt = E[y t |x t ] (where E means expectation) and can be calculated by solving Eq. 10. In particular, this approach has been described in [START_REF] Stylianou | Continuous Probabilistic Transform for Voice Conversion[END_REF] and [START_REF] Kain | High Resolution Voice Transformation[END_REF] in the context of statistical voice conversion.

ŷt = M m=1 p(c m |x t )E y m,t (10)
The second approach, proposed by Toda et al. [START_REF] Toda | Voice Conversion Based on Maximum-Likelihood Estimation of Spectral Parameter Trajectory[END_REF], is here referred to as MLE-GMR, for "Gaussian Mixture Regression based on Maximum Likelihood Criterion". The target feature vector ŷt is defined as the one which maximises the likelihood function such as: ŷt = arg max yt { p(y t |x t , λ [xy] ) } [START_REF] Dutreve | Feature Points Based Facial Animation Retargeting[END_REF] and can be estimated by solving Eq. 12:

ŷt = M m=1 p(c m |x t )D y (m,t) -1 M m=1 p(c m |x t )D y (m,t) E y (m,t) (12)
Trajectory GMM The MLE-GMR approach is commonly combined with a constraint on the smoothness of the predicted trajectories. The GMM is then referred to as a trajectory GMM. In that case, each target feature vector y t of the training set is augmented by its N-order derivatives such as Y t = [y t ∆y t ] (the method is here presented with N = 1). The joint probability distribution p(Y, x) is modelled similarly to the MLE-GMR approach. However the mapping process is done differently. The sequence of target feature vectors is not estimated on a frame-by-frame basis as in previous approaches, but rather "allat-once". The estimated sequence of target feature vectors is defined as the one that maximises the likelihood of the model, with respect to the continuity of its first N derivatives:

Ŷ = arg max Y { p(Y|x, λ [xY] ) } (13)
which can be estimated by solving the closed-form equation in Eq. 14:

ŷ = W T D -1 m W -1 W T D -1 m E m ( 14
)
where W is a [2D x T × D y T ] matrix representing the relationship between static and dynamic feature vectors (Fig. 1) and m = [ m1 , .., mt , ..., mT ] is the sub-optimum sequence of mixture components defined as:

m = arg max m { p(c m |x, λ) } ( 15
)
and determined using the Viterbi algorithm (in our experiment, and similarly to what was reported in [START_REF] Toda | Voice Conversion Based on Maximum-Likelihood Estimation of Spectral Parameter Trajectory[END_REF], similar results were obtained using a forwardbackward approach which takes into account in a probabilistic manner the contributions of all mixture components).

Realtime Trajectory Generation

If the "all-at-once" approach suggested by Eq. 14 can guarantee smooth trajectories, it prevents these trajectories to be generated in realtime, and therefore the system to be interactive. In Section 1, we have claimed that interactivity was a required property for our system, in order to produce expressive virtual characters. For the last few years, Astrinaki et al. have worked to find a new trade-off between the smoothness and the system-wise reactiveness of generated trajectories [START_REF] Astrinaki | Reactive and Continuous Control of HMM-based Speech Synthesis[END_REF][START_REF] Astrinaki | Mage -Reactive Articulatory Feature Control of HMM-Based Parametric Speech Synthesis[END_REF]. The idea of finding the Maximum Likelihood (MLE) over the whole sequence as required to fill the whole W matrix in Eq. 14 has been replaced by finding a sub-optimal version of the ML on a sliding window. This new algorithm, called Short-Term Maximum Likelihood Parameter Generation (ST-MLPG), enables the trajectory generation process to start when the system receives the first class label and not at the end of a full sequence of class labels.

The ST-MLPG is a key feature of the open-source library called Mage [START_REF] Astrinaki | Mage Platform for Performative Speech Synthesis[END_REF]. The Mage software actually enables to create interactive systems that generate smooth trajectories in realtime, which is the main reason why this software is the trajectory generation engine in this project. However the Mage library was very tied to the HMM-based approach -explained in the next part -and the HTS architecture when we started the project, which explains why we have significantly modified its architecture along the way (see 6 for details).

HMM-Based Mapping

Hidden Markov Modelling has been used for a long time in temporal pattern recognition, as for instance in automatic speech recognition (ASR), handwriting, or gesture recognition. More recently HMM has also been successfully used for parameter generation, such as in HMM-based speech synthesis [START_REF] Tokuda | Speech Parameter Generation Algorithms for HMM-Based Speech Synthesis[END_REF]. HMM can be considered as a generalisation of GMM where the latent variables -i.e. the hidden states -are derived from a Markov process rather than being independent from each other. Latent variables are controlling the mixture component to be selected for each observation. As HMM aims at representing explicitly the temporal evolution of features, it is adapted to model data that can be clustered not only by its distribution but also by its temporal evolution.

Due to this temporal structure, achieving a regression task (or mapping) with a HMM requires a more complex framework. The algorithm proposed in [START_REF] Hueber | Continuous Articulatory-to-Acoustic Mapping using Phone-Based Trajectory HMM for a Silent Speech Interface[END_REF] combines a HMM-based classification and a HMM-based parameter generation, from the same trained models. The mapping operation can therefore happen within the HMM currently in use and "passed" from the classification to the generation operations. This process is illustrated in Fig. 2. We traditionally assume that sequences of feature vectors which constitutes the training set are temporally segmented and labeled. This segmentation can be obtained by annotating the data, either manually, or by using an initial set of already-trained HMMs and a forced-alignment procedure.

In the training phase, sequences of input and target feature vectors (completed with their first N derivatives) are modelled jointly, for each class, by a "full-covariance" HMM, i.e. an HMM for which the emission probability distribution is modelled, for each state q, by a normal distribution with a full-covariance matrix, as defined by Eq. 3 (with M = 1). After initialisation, models are typically trained using the following standard procedure: models are first trained separately, using the standard Baum-Welch re-estimation algorithm and then processed simultaneously, using an embedded training strategy. Since input/target features are often sensitive to context effects (for instance, co-articulation and anticipation in speech), context-dependency is often introduced in the modelling. In the mapping phase, the sequence of target feature vectors ŷ is estimated from the sequence of input feature vectors x such as:

ŷ = arg max y { p(y|x) } (16)
with

p(y|x, λ) = p(Y|λ, q, x).p(λ, q|x) (17)
with Y = W y (see Fig. 1), λ the parameters set of the HMM and q the HMM state sequence. Eq. 17 is the product of two conditional probability terms which can be maximised separately:

1. p(λ, q|x) which is related to the classification stage which aims at estimating the most likely HMM (or sequence of concatenated HMMs) λ with the corresponding sequence of states q such as:

( λ, q) = arg max

(λ,q) { p(λ, q|x) } (18)
using the Viterbi algorithm. Using Bayes' theorem, we obtain p(λ, q|x) = p(x|λ, q).p(λ, q) and see that this classification stage allows the introduction of external knowledges, via the use of prior probabilities on class sequences, which could be used to constrain the mapping (in speech recognition, this term would be related to the language model). 2. p(y|λ, q, x) which is related to the synthesis stage and could be maximised similarly to as the GMM-based mapping technique, using Eq. 14. This is similar to the trajectory GMM technique, but here a continuity constrain is imposed on the estimated feature trajectories. The corresponding HMM is thus often referred to as a trajectory HMM. The modification proposed in the short-term MLPG can also be applied at this level.

Classification vs. Mapping: A Modelling Trade-Off

The integration of HMM-based classification, mapping and generation within the same framework gives us a chance to discuss about a specific modelling trade-off. Indeed from the same feature space (input and target features), various modelling strategies can be applied. On the one hand, we can create a large amount of small clusters. In that case, the labelling is very precise, the classification task needs to be very discriminative and the parameter generation has a very narrow area from which to get its target values, limiting the influence of the mapping. On the other hand, we can create a small amount of large clusters. In that case, the labelling is looser, discrimination between classes is easier and the parameter generation has a wide area from which to get its target values, hence much more relying on the mapping to browse the subspace. A summary of this trade-off is given in Fig. 3. The two approaches will lead to very different kinds of applications.

Fig. 3. Explanation of the modelling trade-off between classification, mapping and generation. We can choose between many small clusters where mapping is limited or few big clusters where mapping is primordial to browse the subspace.

Description of Data Types Used for Modelling

One main objective of this project was to design and develop a framework where GMMs and HMMs can be applied to a very great variety of data types. In this Section, we give a more exhaustive description of the data types that we have addressed and the databases that we have used. It gives a solid ground for understanding the feature spaces that we are manipulating.

Speech

The voice models that we used for speech are either identical or similar to the ones found in the HTS software [START_REF] Tokuda | HMM-based Speech Synthesis System (HTS)[END_REF]. Indeed our work with the speech databases has mainly used standard HTS training but it has also aimed at retraining some voices, such as the ones used by the incremental speech synthesis application detailed in Section 4.1. For practical reasons, during development we generally work with the standard voice model from HTS demo scripts which is SLT, an American English female speaker from the CMU ARCTIC database [START_REF] Kominek | CMU Arctic Databases for Speech Synthesis[END_REF], sampled at 48 kHz, 16-bit PCM. The training parameters for these models are the default ones in HTS for a sampling rate of 48 kHz. The input audio signals are split into 1200-sample long frames with a frame shift of 240 samples. For each frame, a parametric representation is extracted. The vocal tract is modelled by a 35-order MLSA filter [START_REF] Imai | Mel Log Spectrum Approximation (MLSA) Filter for Speech Synthesis[END_REF] whose parameters are α = 0.55 and γ = 0, whereas the glottal source is described by a voiced/unvoiced decision and a pitch value, if any. On a higher level, each file from the training dataset has a phonetic transcription, from which phoneme duration models are trained, as well as additional information about syllables, words, sentences, accentuations, etc. [START_REF] Tokuda | Speech Synthesis Based on Hidden Markov Models[END_REF].

For each parameter, this contextual information is used to train binary decision trees whose leaves are Gaussian models of the parameter.

Singing

Many similarities exist between speech and singing voice, though the differences are significant, especially for analysis and modelling. Some of the more prominent phenomena specific (though not necessarily exclusive) to Western classical singing2 in contrast to regular speech are the higher voiced/unvoiced ratio, vibrato, higher range of loudness and pitch, singer's formant and modification of vowels at high pitches [START_REF] Sundberg | The Science of Singing Voice[END_REF]. These and other differences between speech and singing voice lead to some challenges in analysis modelling of singing.

The assumption of a decoupled source-filter is reasonably accurate especially for speech, but source-filter interactions are known to occur in various situations. For example, coupling effects increase by high pitch or high-impedance vowels like [u] [START_REF] Titze | Nonlinear Source-Filter Coupling in Phonation: Theory[END_REF]. Another challenge is that speech analysis algorithms such as pitch or Glottal Closure Instant (GCI) estimators often do not work as intended and this results in loss of performance [START_REF] Babacan | A Comparative Study of Pitch Extraction Algorithms on a Large Variety of Singing Sounds[END_REF][START_REF] Babacan | A Quantitative Comparison of Glottal Closure Instant Estimation Algorithms on a Large Variety of Singing Sounds[END_REF]. Finally prosody models based on linguistic and phonetic information are almost never applicable due to the nature of singing. Instead different prosody models that take musical gestures and score information into account may be necessary.

In order to capture these singing-specific stylistics, we designed and recorded a new singing database for our purposes. The main challenge was to define the stylistic space in a meaningful manner. After consulting different systems of categorising singing voice, we decided that our approach is to set a cognitive target for the singer. Consequently we only specified more abstract stylistic information in the database design and aimed to capture the singing phenomena as they occur naturally. We contracted a professional female singer, EB, and the recordings were done in a professional recording studio. Seven pieces were recorded with multiple renditions in three different styles: neutral, classical and belting. Since naturalness was high priority, the pieces were chosen from EB's repertoire of jazz, classical, folk and contemporary music, which she was comfortable and confident in performing. A limited amount of pure-vowel recordings were also done, consisting of some selected pieces and specific pitch gestures such as flat and constant ascent/descent. Contemporaneous electroglottography (EGG) recordings were also made, in order to establish ground truth for pitch and enable GCI-synchronous analysis methods. The resulting database is more than 70 minutes long, containing a rich variety of singing samples.

Audio-Visual Laughter

For addressing laughter modelling, the AV-LASYN database was used. The AV-LASYN database is a synchronous audio-visual laughter database built for the purpose of audio-visual laughter synthesis. The next paragraphs give an overview of the recording pipeline. Audio data was recorded at high sampling rate (96kHz) for eventual study of the impact of sampling rate on audio synthesis results. However, since it is a higher sampling rate than what common applications and research such as the present work need, we downsampled to 44.1kHz. Visual laughter was recorded using a marker-based motion capture system commercially available and known as OptiTrack. A set of 6 infrared cameras were used to track at 100 fps the motion of 37 markers glued on the subject. A seventh camera was used to record a grayscale video synchronised with all others. Among the 37 tracked markers are 4 markers placed on a headband. These helped to extract head motion from face deformation and make both available independently. After this separation process, we end up with 3 values for each facial marker (xyz coordinates) which corresponds to 99 values at each frame as well as 6 values at each frame that represent head motion (xyz coordinates and rotations around the same axes). This makes a 105-dimensional vector to represent overall face motion for a given frame. Neutral pose and the whole set of data corresponding to visual motion have been saved in the Biovision Hierarchy (BVH) format . The final corpus is composed of 251 segmented laughs. This corresponds roughly to 48 minutes of visual laughter and 13 minutes of audible laughter. For each laugh, the corpus contains: an audio file [44.1kHz, 16 bits], a BVH motion file that can be loaded in common 3D software (with the neutral pose, 6 channels for head motion, 3 channels for each of 33 facial markers), a binary motion file containing the same data as in the BVH to make it easier to load, a HTK label file containing phonetic transcriptions and temporal borders for each laughter phone.

Audio-Visual Affective Speech

Experiments were conducted on the BIWI 3D Audiovisual Corpus of Affective Communication [START_REF] Fanelli | Acquisition of a 3D Audio-Visual Corpus of Affective Speech[END_REF] comprising a total of 1109 sentences (4.67 seconds long on average) uttered by 14 native English speakers (6 males and 8 females). The dense dynamic face scans were acquired at 25 frames per second by a realtime 3D scanner and the voice signal was captured by a professional microphone at a sampling rate of 16kHz. For the voice signals, fundamental frequency, signal intensity and segment duration are also provided. Along with the detailed 3D geometry and texture of the performances, sequences of 3D meshes are provided, with full spatial and temporal matching across all sequences and speakers. For each speaker 80 utterances are recorded, half in a personal speaking style and half in an "emotional" manner, as they are asked to imitate an original version of the performance.

Stylistic Gait

In this work, we also used the Mockey database [START_REF] Tilmanne | The Mockey Database[END_REF] as our stylistic gait motion capture database. This database was recorded using a commercial inertial motion capture suit called IGS-190, from Animazoo [32]. This motion capture suit contains 18 inertial sensors, which record the angles between "body segments" corresponding to a simplified human skeleton representation. The output of the motion capture suit are these angles, expressed in the Euler angle parameterisation, and the calculated 3D position of the root (hips), which is computed given the angles and the lengths of the leg segments. In the database, the walk of a professional actor impersonating different expressive styles was recorded. The eleven styles represented in the database were arbitrarily chosen for their recognisable influence on walk motions. These styles are the following: proud, decided, sad, cat-walk, drunk, cool, afraid, tiptoeing, heavy, in a hurry, manly. Each walk style is represented by a different number of steps in the database, ranging from 33 to 80 steps. The Mockey mocap sessions are recorded in the Biovision Hierarchy (BVH) format. The skeleton from the Animazoo software is defined by 20 body segments, and each data frame hence contains 66 values. Three of the segments are in fact only added to make the simplified skeleton look closer to a real skeleton but have no degree of freedom in the motion capture. There are hence finally 57 values to analyse and model in our data, among which 54 joint angle values and 3 values for the skeleton root Cartesian coordinates. Since the Cartesian coordinates of the root are calculated a posteriori from the joint angles, we only took into account the 54 joint angle values in our models. Furthermore, since the Euler angle representation is seldom optimal, we converted it to the exponential map angle parameterisation, which is locally linear and where singularities can be avoided. The Mockey database has been recorded at a rate of 30 frames per second. The walk sequences have been automatically segmented into left and right steps, based on the evolution of the hip joints angles.

Realtime and Reactive HMM-Based Generation

The first step in creating our new framework was to validate the adaptation of the realtime HMM-based parameter generation -such as described in Section 2 and implemented in Mage -to the new data types described in Section 3. It brought us to implement a series of prototypes that are described in this Section.

Incremental Speech Synthesis

In several applications of Text-To-Speech (TTS) it is desirable for the output to be created incrementally. Such applications include reactive dialogue systems and speech devices for disabled people. However current TTS systems rely on full pre-specified utterances provided before the synthesis process begins, severely limiting the reactivity and realtime use of speech synthesis. While Mage is capable of realtime synthesis, it is reliant on linguistic context labels which are computed offline prior to synthesis. This means the utterance to be synthesised is fixed and cannot be changed at run-time except to other pre-computed context labels. There is, however, nothing to prevent Mage from synthesising from an incrementally created set of labels. Hence a new realtime linguistic front-end was created in order to allow for continuous incremental creation of the linguistic context labels for synthesis. A new front-end was chosen as current front-ends are simply nowhere near fast enough for realtime analysis -e.g. Festival takes over 1000ms to process an utterance (even a single word) and MARY-tts slightly above 200ms [START_REF] Baumann | Recent Advances in Incremental Spoken Language Processing[END_REF] -and they assume the full utterance is present at analysis time.

Linguistic Analysis

The standard full-context labels used by the HTS engine includes a large amount of varying contexts used in the decision tree context clustering process. Many of these do not lend themselves to incremental processing as they rely on the presence of the full utterance. Therefore a reduced context set was decided upon based on the standard HTS set [START_REF] Oura | An Example of Context-Dependent Label Format for HMM-Based Speech Synthesis in English[END_REF]. Any contexts related to the full utterance or phrases were removed as these are not available. Contexts regarding future syllables are included 'if available' and the system requires two future phones. The decision to retain two future phones, making the system in effect lagging two phones behind realtime, was made as informally listening to the speech when no future phones were included resulted in a significant degradation of the speech intelligibility. The resulting context labels included 23 contexts down from 53. Informally no noticeable drop in quality was perceived on a voice re-trained on the reduced context set compared to a voice trained on the standard HTS contexts. The system works with word-sized chunks, such that every time a user inputs a complete word the system will provide the labels necessary to synthesise the word, with a minimum of two phonemes. The words are looked up in the CMUDict 0.4 dictionary from which stress patterns, syllables and phones are retrieved and the labels created. No letter-to-sound rules are included. If a word is not be in the dictionary, a filled pause is introduced instead ("uh").

Typing Interface A simple typing interface was implemented which allows a user to type in the string to be synthesised. It is however incredibly difficult to type as fast as the synthesis speed, so synthesis was slowed by a factor of 2.5 to allow a skilled typer to type fast enough. To further enhance the ability of the typist to type quickly, simple word prediction was added allowing the user to press the F1 to F5-keys to instantly insert a word predicted by the system.

Reactive Control of Audio and Visual Laughter

In this part we explain how the modelling of the laughter has been approached with HMMs, both for the sound and the face motion. Then we give a first description on how we turned these two processes into an interactive application.

Reactive Acoustic Laughter Synthesis HMM-based acoustic laughter synthesis is a problem that has been addressed recently [START_REF] Urbain | Evaluation of HMM-based Laughter Synthesis[END_REF][START_REF] Urbain | Automatic Phonetic Transcription of Laughter and its Application to Laughter Synthesis[END_REF]. The same pipeline has been applied in this work to train an acoustic model of laughter using the AV-LASYN database described in Section 3.3. We have extracted 35 Melcepstral coefficients and log F0 as features to represent the acoustic signal. We used STRAIGHT [START_REF] Kawahara | Straight, Exploitation of the Other Aspect of Vocoder: Perceptually Isomorphic Decomposition of Speech Sounds[END_REF] for this extraction process. Then, five-state, left-to-right HMMs were trained to model a set of laughter phones (see [START_REF] Urbain | Evaluation of HMM-based Laughter Synthesis[END_REF] for more information). From the synthesised F0, an excitation signal was derived and modified by DSM [START_REF] Drugman | A Deterministic Plus Stochastic Model of the Residual Signal for Improved Parametric Speech Synthesis[END_REF]. Finally synthesised MFCC trajectories and modified excitation signal were used to feed a source-filter model and generate the corresponding waveforms. With the acoustic models obtained as explained above, we were able to integrate acoustic laughter into Mage. Although there is still room for improvements, we have shown that reactive acoustic laughter synthesis is feasible through Mage. Further investigation is needed to have a better understanding of the behaviour of Mage for the synthesis of the specific signal of laughter, and this work will serve as a basis for further studies.

Visual Laughter Synthesis A similar process has been applied to visual data contained in the AV-LASYN database. As a reminder of Section 3.3, the visual data consists of facial points trajectories. Thirty-three markers on the face represented at each frame by 3 spatial coordinates are used. Six other values represent the head motion. The features that we used to train the HMMs were obtained as follows. First we subtracted the neutral face from each frame so that the data represents only the facial deformation. Then a PCA analysis was performed and showed that 97% of the variability in the data is contained in the 4 first principal components. We hence decided to reduce the dimensionality of the data to 4. However the PCA analysis did not include the 3 values representing the head rotation for a matter of consistency of the data on which PCA was applied. We thus end with a 7 dimensional feature space to represent visual data, instead of the 105 dimensional original space. In order to train the HMMs, annotations are needed. First the acoustic annotations provided in the AV-LASYN database were used but we quickly came up with the conclusion that annotations based on audio are not suitable for visual modelling. We then tried to annotate manually a subset of the database based on the visual behaviour. Three classes were used: laugh, smile and neutral. The results of the training based on these new annotations gave much better results. Since annotating manually is a highly time consuming task, we have tried to do it automatically, using clustering techniques. Gaussian Mixture Models were used for this purpose. A GMM was fitted to the whole visual data and each frame was classified among 3 clusters based on this fitting. From this classification, we derived visual annotations to be used in the HMM training. The resulting trajectories appeared to be plausible facial laugh motion.

Reactive Visual Laughter Synthesis As we did for audio, we then tried to integrate these models into Mage to be able to synthesise facial motion reactively. Therefore we had to add a module to Mage so as to be able to project back the synthesised trajectories into the high dimensional original space. After this projection, the data is available in a format which may be retargeted on a 3D face model. This was done by using Blender in which we loaded an alreadyrigged 3D face model. Data is sent trough OSC from Mage to Blender where it is read and applied to the 3D face with a python script. As a proof of concept, we decided to synthesise a succession of neutral and laughing faces in a loop. We also added a control parameter that allows to change the intensity of the visual laughter in realtime. This control parameter amplifies or attenuates the generated trajectory dynamics. An illustration of the reactive visual laughter in Blender is given in Fig. 5.

Reactive Exploration of a Stylistic Gait Space

Motion style is something difficult to capture since it is hardly describable. Our human expertise enables us to decode effortlessly the emotion, quality or style conveyed in otherwise functional motions. However it is almost impossible to formally describe the alterations which, once applied to the functional basic motion, give it its specific style. Furthermore, making the distinction between the variability of human motion execution and the style of the motion itself is an additional difficulty when aiming at modelling the style of a motion. Indeed, when performing twice the same motion with the same style, the execution of the movement will always slightly vary. In this work we implemented a framework for stylistic exploration of motion, using the expressive walk case study as a proof-of-concept. Our approach is to foster the generative exploration of styles, from statistical models, as a way of highlighting their implicit properties.

Stylistic Gait Modelling and Synthesis

The statistical nature of HMMs enables them to take into account the intrinsic variability of execution of human motion. Both the duration variation and the execution variation are modeled, and a HMM trained on stylistic mocap data becomes a summary of that particular style. Using the Mockey database as training data, the walk was modelled by one five-states left-to-right HMM per step (left and right), following the approach presented in [START_REF] Tilmanne | Stylistic Gait Synthesis Based on Hidden Markov Models[END_REF]. In a first phase, a global model was trained using all the database. In a second phase, an adaptive training was conducted in order to adapt the generic walk model to each one of the eleven styles present in the database, giving a total of eleven style-specific walk models and one neutral global model. Such an approach corresponds to the left side of Fig. 3, as described in Section 2. In these models, a diagonal covariance matrix is used when modelling the pdfs of the observations, hence not taking into account the interdependency existing between the different body joints motions. Each one of these models can be used to synthesise new walk sequences of any chosen length, and the generated walk sequences will display the style of the models from which they have been generated.

Continuous Stylistic Gait Synthesis However in addition to style and motion variability, the alterations of the functional motions not only convey the style of the motion, but also the intensity of expression of that specific style. Since that intensity can vary continuously, it is impossible to capture the whole range of intensity during motion capture sessions, even for one single style. With our twelve gait models, we are able to generate walk sequences which display the same styles as the ones present in the training database, plus one "neutral" style trained on all the styles. However since all of our models present the same structure, as they have all been adapted from the same generic model, we can take advantage of this alignment in order to produce new walk styles which have not been recorded. The model parameters space (mean and variances of output and duration pdfs) is considered as a continuous stylistic space, where the values corresponding to each recorded style can be viewed as landmarks which tag the space. Through interpolation and extrapolation between these landmarks, we are able to obtain new walk style models. The intensity of each style can be controlled by interpolating between the original style and the neutral style parameters, also enabling the production of exaggerated and opposite styles. Completely new walk styles can also be built by combining any of the existing styles, enabling the free browsing of the complete stylistic walk space. This approach has been validated in [START_REF] Tilmanne | Continuous Control of Style and Style Transitions through Linear Interpolation in Hidden Markov Model Based Walk Synthesis[END_REF]. However in this work both the control of the style and the walk synthesis were implemented as offline processes, preventing the desired free interactive user exploration. Reactive Stylistic Gait Synthesis In the current work, we implemented a reactive gait style exploration application, enabling the user to reactively control the style of the synthesised walk thanks to Mage, and to visualise the resulting motion sequence in realtime. In this application, the user browses this stylistic space in realtime, through a set of sliders controlling the influence of each original style, as illustrated in Fig. 6. These stylistic weights are sent to Mage, which synthesises an infinite walk sequence (a loop of left and right steps), and the walk model is adapted in realtime with the weights corresponding to the sliders, hence modifying the style of the synthesised walk. The synthesised walk trajectories are sent to Blender through OSC, where it is displayed in realtime on a virtual 3D character. The user is hence given interactive control of the walk of a virtual character, as he manipulates sliders to control the style, and can see the influence of these stylistic modifications on the walk of the Blender virtual character. This proof of concept application opens the doors to many possibilities as the size of motion capture databases nowadays explodes and more and more applications seek new possibilities for exploring motion style or compare motions.

Realtime HMM-Based Continuous Mapping

The second step in creating our new framework was to validate some mapping strategies within the HMM-based approach -such as described in Section 2. Therefore we have developed a few use case prototypes where the user control was captured and decoded gestures. This Section explains these applications.

Audio-Visual Face Retargeting

Speaker identity conversion refers to the challenging problem of converting multimodal features between different speakers so that the converted performance of a source speaker can be perceived as belonging to the target speaker. We addressed the problem of speaker conversion using audio and 3D visual information. The speech signal and the 3D scans of a source speaker for a certain utterance will be modified to sound and look as if uttered by a target speaker. The speaker-specific features are mapped between a source and a target speaker using GMMs, as described in Section 2.

In the offline version, the 3D BIWI dataset [START_REF] Fanelli | Acquisition of a 3D Audio-Visual Corpus of Affective Speech[END_REF] is used to train the GMM model between any two speakers. The training is done on 40 utterances performed in a neutral manner by both speakers. Spectral features are extracted at a segmental level using the STRAIGHT vocoder [START_REF] Kawahara | Straight, Exploitation of the Other Aspect of Vocoder: Perceptually Isomorphic Decomposition of Speech Sounds[END_REF] which decomposes speech into a spectral envelope without periodic interferences, F0 and relative voice aperiodicity. From the spectral envelope, we use the 1st through 24th Mel-cepstral coefficients, a widely made choice in voice conversion and voice synthesis/analysis systems. The speaker-specific facial articulation features are captured from a dense mesh of 3D data. From the dataset, 7 speech and expressive movement components are extracted following a guided PCA method [START_REF] Bailly | Lip-Synching Using Speaker-Specific Articulation, Shape and Appearance Models[END_REF]. As the mouth opening and closing movements have a large influence on face shape, the first jaw component is used as a first predictor, iterative PCA is performed on residual lips values and the next 3 lips components are obtained. The second jaw component is used as the 5th predictor and the last two parameters are extracted as expressive components and represent the zygotic and eyebrow muscle movements. These features are computed at the original video frame rate and are later oversampled to match the audio frame rate. Both visual and spectral features are concatenated with their first derivatives in order to be used for the MLE-based mapping approach.

With the purpose of creating an interactive scene in which virtual actors are able to interact in realtime as guided by a director, we are looking into the possibility of a realtime conversion framework. For this framework, a new system setup is used, involving a Primesense Carmine 1.09 camera to capture closerange face expressions and a microphone for audio signal acquisition. Also new approaches are needed for extracting relevant audio-visual features. Therefore the Faceshift software [START_REF] Faceshift | [END_REF] is used to generate a realtime 3D face mesh while a speaker performs in front of the camera. For each frame, 48 parameters that control different face movements (jaw opening, eye squint, puff, sneer etc) are also generated. They are called blendshapes and can be used with the associated mesh of the user or retargeted to an existing mesh. In the case of audio features, a realtime version of the SPTK tool and MLSA filter are implemented for extracting MFCC coefficients and audio synthesis.

The GMM models are trained offline on a database composed of recorded audio signals of two speakers and the associated blendshapes generated from Faceshift. The converted blendshapes can also be sent to Blender to create a realtime face animation using the 3D mesh of the target speaker. The communication between the different softwares in realtime is done in Max. Like the SPTK and MLSA realtime tools, GMMmap is a module for gaussian mixture model regression using the MMSE method implemented in Max. It uses the models that were trained offline and saved in a suitable format and the audio-visual features that are extracted in realtime to estimate the converted features.

Realtime Stylistic Full-Body Gait Reconstruction

In our application for exploring the stylistic gait space described in Section 4.3, the ongoing motion is created by the linear combination of the twelve distinct stylistic walk models, according to the weights given to each style on the GUI. Such an approach requires that the stylistic space is explicitly tagged according to the names used in the training database and proposes a vision of the continuum between styles based on linear interpolation.

However considering that the various styles can be named and interpolated within the feature space is a strong design decision. Many use cases might benefit from more implicit approaches towards stylistic exploration. Particularly we wanted to give the user the ability explore the stylistic space through HMMbased mapping between his/her input gestures and the corresponding output. With this idea, we refer to the right side of Fig. 3 where mapping plays the important role in browsing the feature space, as described in Section 2.

In order to validate that the inherent style of a motion can be determined from a subset of its dimensions and remapped in realtime on the remaining dimensions, we have built a prototype that will reconstruct the gait (step sequence plus style) from the upper to the lower body. It means that each 54-channel (18 nodes, each with 3 angles) feature vector from the Mockey database is actually split into inputs and outputs. We consider that the 36 channels corresponding to the upper body (from head to hips) are inputs. The other 18 channels corresponding to leg joints are considered as outputs. They will be animated in realtime by the system. The whole process is illustrated in Fig. 7.

To achieve the regression between upper and lower body dimensions, we implemented a HMM-based mapping as explained in Section 2. The sequence Fig. 7. Illustration of the overall process used in the gait reconstruction example: continuous inputs are decoded with a realtime Viterbi algorithm. This decoding generates a ongoing state sequence that is used for synthesis of the outputs. Before pdfs are used for synthesis, means are modified by a mapping function based on covariance.

of inputs x are the channels of the upper body and the sequence of target feature vectors ŷ to be estimated are the channels of the lower body. The gait models used are trained on all the styles with full covariance matrices in the pdf representation of the observations. We have a HMM for the right step and a HMM for the left step. Each HMM owns four states.

The first stage in this process is the decoding of the input sequences. The implemented solution for the decoding uses the HTK software toolkit [START_REF]The Hidden Markov Model Toolkit (HTK)[END_REF]. A realtime data stream is simulated by sending the input data with a specified frame rate to the HRec algorithm, a HTK module that applies the Viterbi algorithm. We added, in the pdfs of the observations, a mask vector to inhibit the channels corresponding to the outputs of the mapping process. This decoding stage provides the most likely HMM λ that is being played by the streamed data and the current state for this model. To ensure that this stage works in realtime, we extract the partial results given by the Viterbi algorithm without being sure to have the realisation of the complete states sequence for a given model. Moreover, for a given frame x t , only its past [x 1 , .., x t-1 , x t ] is taken into account to establish the current state q t . It appears that it could be more accurate to compute this state by introducing a delay in order to get some information about the future of each sample to choose the best states sequence.

Once the decoded state is available, it can be used to query the HMM database of the upper body dimensions so as to build the state sequence for the synthesis stage. Before the stack of pdfs is accumulated for synthesis, the means of each state are extracted and corrected according to the mapping function described in Section 2. This process tends to influence the means so as to move within the model and react to the covariance information which is expressed between the input and output dimensions. As a result, the statistical properties of the state sequence get modified. When this modified state sequence enters the synthesis stage, it reflects the stylistic influence of the inputs on the outputs. It means that the style of the upper body transfers to lower body trajectories.

Architecture and Software

Based on the reactive properties of HMM-based speech synthesis framework, as described in [START_REF] Tokuda | Speech Synthesis Based on Hidden Markov Models[END_REF], we built a new speech synthesis library, called Mage [START_REF] Astrinaki | Mage Platform for Performative Speech Synthesis[END_REF]. Mage is based on the HMM-based parametric speech synthesis system (HTS), which it extends in order to support realtime architecture and multithreaded control. As it is based on HTS, it inherits its features, advantages and drawbacks [START_REF] Tokuda | Speech Synthesis Based on Hidden Markov Models[END_REF]. The contribution of Mage is that it opens the enclosed processing loop of the conventional system and allows reactive user control over all the production levels. Moreover, it provides a simple C++ API, allowing reactive HMM-based speech synthesis to be easily integrated into realtime frameworks [START_REF] Puckette | Pure Data[END_REF][START_REF] Lieberman | openFrameworks[END_REF].

Threaded Architecture of MAGE

One important feature of Mage is that it uses multiple threads, and each thread can be affected by the user which allows accurate and precise control over the different production levels of the artificial speech. As illustrated in Fig. 8, Mage integrates three main threads: the label thread, the parameter generation thread and the audio generation thread. Four queues are shared between threads: the label queue, the model queue, the parameter queue and the sample queue. The label thread controls the phonetic labels, by pulling the targeted phonetic labels from the label queue and pushing the corresponding models into the model queue. It is responsible for the contextual control of the system. The parameter generation thread reads from the model queue a model that corresponds to one phonetic label at a time. For that single label / model the speech parameters are generated (static and dynamic features), which are locally-maximised using only the current phonetic label / model (and if available, the two previous labels). In other words, for every single input phonetic label, the feature vectors are estimated by taking into account the HMMs of that specific label. The generated speech parameters are stored in the parameter queue. Finally, the audio generation thread generates the actual speech samples corresponding to the inputed phonetic label and store them in the sample queue so that the system's audio thread will access them and deliver them to the user. Further details of the Mage reactive parameter estimation can be found in [START_REF] Astrinaki | Mage 2.0 : New Features And Its Application In The Development Of A Talking Guitar[END_REF].

Reactive Controls

Accessing and controlling every thread has a different impact over the synthesised speech, as illustrated in Fig. 9. The label thread can provide contextual phoneme control. Indeed, the context of the targeted output can be easily manipulated in realtime by simply controlling which of the available phonemes for processing will be inputed into the system and in which sequence.

The parameter generation thread can reactively modify the way the available models are used for the parameter sequence generation [START_REF] Astrinaki | Mage 2.0 : New Features And Its Application In The Development Of A Talking Guitar[END_REF]. The user can reactively alternate between the available models, or interpolate between models with different interpolation weights among the various feature streams. It is also possible to manipulate the mapping between different feature streams, i.e. how a given stream influences another [START_REF] Astrinaki | Mage -Reactive Articulatory Feature Control of HMM-Based Parametric Speech Synthesis[END_REF].

Finally the audio generation thread manipulates reactively the vocoding of every sample, resulting in prosody and voice quality controls. The delay in applying any received user control varies between a single speech sample and a phonetic label depending on the thread that is being accessed. For every thread it is also possible to enable the logging functionality, described hereafter, to store the applied user controls as well as its generated output.

Reactive Control Through Regular Expressions

One new feature added in Mage is the support of regular expressions. As explained in [START_REF] Tokuda | Speech Synthesis Based on Hidden Markov Models[END_REF], in order to describe a phoneme, additional linguistic specifications have to be taken into account. Therefore, every phonetic label in addition to phoneme information, uses various linguistic contexts such as lexical stress, pitch accent, tone, and part-of-speech information for the context-dependent modelling. An example of the format of the phonetic labels can be found in [START_REF] Tokuda | HMM-based Speech Synthesis System (HTS)[END_REF].

Until now, it was possible to control the sequence of the labels inputed to Mage be synthesised. However, there is need for more accurate and specific control over the targeted context. In order to achieve that we use regular expressions that describe the phonetic labels. The integration of regular expressions "allows the user to query" every imputed label and accordingly to apply certain controls, on every production level of the artificial speech.

For example, when it comes to the contextual control, that occurs in the label thread, if the current phoneme is " 6 " the synthesis of that phoneme can be skipped. Another example, while controlling the models themselves through the regular expressions, a control that occurs respectively at the parameter generation thread, if the next phoneme is " @ " we want to interpolate speaking style i with speaking style j using interpolation weight vector y . Finally, while controlling the actual generated speech samples, accessing the audio generation thread, if the phoneme is stressed then the pitch can be shifted, etc.

Reactive Mapping Control

In previous versions of Mage, the granularity of the controls that the user can access for the parameter generation stopped at the model level. Indeed, through the API, a user could only push left-to-right HMMs into the model queue and, from there, compute the duration of each state and the sequence of corresponding observations. This constrains the use case into a left-to-right pattern that does not allow integration of the mapping control detailed in Section 5. Therefore, we added a state queue into Mage as an alternative to the model queue.

While the model queue is usually filled with sequences of states corresponding to models selected to match the labels in the label queue, the state queue is fed directly with one state at a time. Each state corresponds to one frame of observations and, as such, has a duration of one. If the system must remain in a state for N frames, that state is simply pushed in the queue N times. This enables arbitrary patterns and number of states for the HMMs and thus overcomes the limiting effect of the model queue.

As for the short-term computation of observation frames from the state queue, it is achieved almost as for the model queue. The most significant difference is that one can set M , the number of frames to be computed whereas in the model queue the frames are computed for one complete model at a time, and the number of frames generated is equal to the duration of that model. The context for the short-term parameter computation is set in the same fashion as for the model queue, except that the user sets a number of states to be considered before and after instead of a number of models. This notably allows to always use a constant amount of contextual information, for instance 17 states in the past and 3 states in the future of the M states that correspond to the M frames to be computed. This contrasts with the model queue for which the amount of contextual information is the sum of the durations of each model used as context and thus can change at every step. Using the state queue with M = 1, one can even make the computation for one state at a time. In other words, one can generate one frame at a time, while still using surrounding states as the context for the short-term parameter computation.

Logging of User Actions and Generated Output

One of the major complications when working with reactive applications is that of detecting and explaining unexpected situations. Indeed, every action from the user can cause an instant, or not so instant, reaction from the system. Depending on many factors (which Mage's thread it is applied to, OS process scheduling policy, etc.), both the reaction and its time delay after the action occurs can be different, even if the user reproduces the same set of interactions. Therefore, when something unusual happens it can be very difficult to, first, realise it and then reproduce it to eventually pinpoint the cause of the event. It could simply be a normal, albeit surprising, answer to a one in a million combination of user commands but it might as well be a bug in the application or in the core Mage library. Added to this is the problem of detecting exactly when it happened.

In order to make it easier to solve these issues, we introduced a simple logging system in Mage, as illustrated in Fig. 9. If enabled, it records the sequences of controls sent to Mage by the user such as the labels, pitch, α, interpolation weights, etc. Each of these values is recorded with a timestamp corresponding to the index of the first sample to which it is actually applied inside of Mage. Besides, the logging system also saves the evolution of the inner state of Mage. This is currently limited to the content of the frame and sample queues but could easily be extended to the model and state ones.

Conclusions

In this project we have gathered different approaches and backgrounds, with the common aspect of being interested in applied statistical modelling, and we have created a unified framework. This framework is based on trajectory GMMs and HMMs and use a newly-created gesture recognition tool and a new version of Mage in order to enable the development of mapping strategies. The idea of HMM-based mapping has been formalised and generalised to any kinds of input and target stream of features. Such a reflexion had a significant impact in how we were envisioning the use of generative models in this work. Therefore we have been able to create a first set of new prototype applications to assess our approach of parameter generation. Indeed we have created an incremental speech synthesiser, generating speech audio right when the user is typing with a limited delay. The current incremental synthesis system allows for a simple analysis relying on a lexical look-up to provide simple lexical analysis and word prediction. This sufficiently demonstrates the possibility of realtime incremental TTS. Many possible future directions can be perceived, such as the implementation of better user interfaces for faster input to the system, the utilisation of Mage's realtime speech modifications capabilities (e.g. to adjust synthesis speed to user input speed) and the prediction of future phones (and other contexts) to allow the system to be truly realtime without a significant loss of synthesis quality. Also in the parameter generation improvements, we have created realtime exploration of mocap-based trajectories. This idea has been applied to face and body. For the face, it gave the first realtime audio and visual laughter prototype. For the body, we created a new application for exploring the stylistics of gait by blending together various identified one-style models and enable inhibition and exaggeration of those styles. The second step in our work has been to design and assess more implicit statistical mapping applications, where the input is a natural gesture. There we have developed a audio-visual speaker retargeting prototype, where the expressive multimodal speech gestures of a given speaker are remapped on another one in realtime. Also we have created the first gait reconstruction application, where the upper body gait (balancing arms and torso) triggers the parameter generation corresponding to the lower body motion (legs) in realtime. This prototype demonstrates that that HMM-based recognition of stylistic data, its mapping and the corresponding parameter generation can be achieved in a realtime scenario. Finally most of these developments have helped the Mage software to head towards its third major release.

Fig. 1 .

 1 Fig. 1. W is a [2DxT × DyT ] matrix representing the relationship between static and dynamic feature vectors. It is used in the computation of output trajectories of Eq. 14.

Fig. 2 .

 2 Fig. 2. Summary of the framework required to achieve a HMM-based mapping: HMMbased classification of input features, query of models based on obtained class labels, mapping routine from models and input features and generation of target features

  Fig 4 gives an overview of these walking styles.

Fig. 4 .

 4 Fig.4. Generic skeleton frames extracted from the Mockey database[START_REF] Tilmanne | The Mockey Database[END_REF] and corresponding to different styles of gait, here: sad, afraid, drunk and decided

Fig. 5 .

 5 Fig. 5. Illustration of the reactive control of laughter intensity by having a Mage application to send trajectories to the 3D face model in Blender through OSC

Fig. 6 .

 6 Fig. 6. Illustration of the application for gait style exploration: the Mage application sends trajectories corresponding to interpolated gait models to Blender through OSC, where the 3D character is animated. The Mage interface gives one slider per style.

Fig. 8 .

 8 Fig. 8. Mage: reactive parameter generation using multiple threads and shared queues

Fig. 9 .

 9 Fig. 9. Mage: reactive user controls over the multiple threads

In our work we constrain our domain to Western classical singing, because it is well-formalised and a sizeable amount of previous technical work exists.

Acknowledgement

N. d'Alessandro is funded by a regional fund called Région Wallonne FIRST Spin-Off. J. Tilmanne and T. Ravet are supported by the European Union, 7th Framework Programme (FP7-ICT-2011-9), under grant agreement n o 600676 (i-Treasures project). M. Astrinaki and O. Babacan are supported by a PhD grant funded by UMONS and Acapela Group. H. C ¸akmak receives a PhD grant from the Fonds de la Recherche pour l'Industrie et l'Agriculture (FRIA), Belgium. The work of Adela Barbulescu has been partially supported by the LabEx PERSYVAL-Lab (ANR-11-LABX-0025)