Changes between Version 10 and Version 11 of BuildingSystems

10/18/10 13:59:29 (10 years ago)



  • BuildingSystems

    v10 v11  
    23 == A game driven by emotional speech: The swimmer's game == 
    24 The third example system is a simple game application in which the user must use emotional speech to win the game. The game scenario is as follows. A swimmer is being pulled backwards by the stream towards a waterfall (Figure 19). The user can help the swimmer to move forward towards the river bank by cheering him up through high-arousal speech. Low arousal, on the other hand, discourages the swimmer and drives him more quickly to the waterfall. 
    26 The system requires the openSMILE components as in the Emotion mirror system; a component computing the swimmer's position as time passes, and considering the user's input; and a rendering component for the user interface. Furthermore, we will illustrate the use of TTS output in the SEMAINE API by implementing a commentator providing input to the speech synthesis component of the SEMAINE system 1.0 (Section 4.2). 
    28 The !PositionComputer (Figure 20) combines areact()and anact()method. Messages are received via an EMMA receiver and lead to a change in the internal parameterposition(l. 22). Theact()method implements the backward drift (l. 29) and sends regular position updates (l. 30) as a plain-text message. 
    30 The !SwimmerDisplay (Figure 21) implements the user interface shown in Figure 19. Its messaging part consist of a simple text-based Receiver (l. 5) and an interpretation of the text messages as single float values (l. 10). 
    32 Due to the separation of position computer and swimmer display, it is now very simple to add a Commentator component (Figure 22) that generates comments using synthetic speech, as a function of the current position of the swimmer. It subscribes to the same Topic as the !SwimmerDisplay (l. 7), and sends BML output (l. 2) to the Topic serving as input to the speech synthesis component of the SEMAINE system 1.0 ![47]⁠. Speech output is produced when the game starts (l. 18-20) and when the position meets certain criteria (l. 13-14). Generation of speech output consists in the creation of a simple BML document with a<speech>tag enclosing the text to be spoken (l. 25-28), and sending that document (l. 29). 
    34 The complete system consists of the Java components !SystemManager, !PositionComputer, !SwimmerDisplay, Commentator, SpeechBMLRealiser and !SemaineAudioPlayer, as well as the external C++ component openSMILE. The resulting message flow graph is shown in Figure 23. 
    3624== History ==