eu.semaine.components.dialogue.interpreters
Class SpeechInterpreter

java.lang.Object
  extended by java.lang.Thread
      extended by eu.semaine.components.Component
          extended by eu.semaine.components.dialogue.interpreters.SpeechInterpreter
All Implemented Interfaces:
SEMAINEMessageAvailableListener, java.lang.Runnable

public class SpeechInterpreter
extends Component

The SpeechInterpreter determines exactly if the user is speaking or if he's silent. It receives audiofeatures, and if the right mix of features appear it will send a 'speaking' or 'silence' EMMA message. Input FeatureReceiver('semaine.data.analysis.features.voice') Output EmmaSender('semaine.data.state.user.emma')

Author:
Mark ter Maat

Nested Class Summary
 
Nested classes/interfaces inherited from class eu.semaine.components.Component
Component.State
 
Nested classes/interfaces inherited from class java.lang.Thread
java.lang.Thread.UncaughtExceptionHandler
 
Field Summary
 
Fields inherited from class eu.semaine.components.Component
inputWaiting, isInput, isOutput, log, meta, receivers, senders, state, waitingTime
 
Fields inherited from class java.lang.Thread
MAX_PRIORITY, MIN_PRIORITY, NORM_PRIORITY
 
Constructor Summary
SpeechInterpreter()
          Constructor of SpeechInterpreter Initializes the Senders and Receivers
 
Method Summary
 void react(SEMAINEMessage m)
          Reads the FeatureMessage, reads the values for 'rmsEnergy' and 'speaking' and decides, based on these 2 values, if the agent is speaking or not.
 void sendPitchDirection(java.lang.String direction)
           
 void sendSpeechState()
          Sends the current user speech state as an EMMA message around
 
Methods inherited from class eu.semaine.components.Component
act, customStartIO, exitRequested, messageAvailableFrom, requestExit, run
 
Methods inherited from class java.lang.Thread
activeCount, checkAccess, countStackFrames, currentThread, destroy, dumpStack, enumerate, getAllStackTraces, getContextClassLoader, getDefaultUncaughtExceptionHandler, getId, getName, getPriority, getStackTrace, getState, getThreadGroup, getUncaughtExceptionHandler, holdsLock, interrupt, interrupted, isAlive, isDaemon, isInterrupted, join, join, join, resume, setContextClassLoader, setDaemon, setDefaultUncaughtExceptionHandler, setName, setPriority, setUncaughtExceptionHandler, sleep, sleep, start, stop, stop, suspend, toString, yield
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

SpeechInterpreter

public SpeechInterpreter()
                  throws javax.jms.JMSException
Constructor of SpeechInterpreter Initializes the Senders and Receivers

Throws:
javax.jms.JMSException
Method Detail

react

public void react(SEMAINEMessage m)
           throws javax.jms.JMSException
Reads the FeatureMessage, reads the values for 'rmsEnergy' and 'speaking' and decides, based on these 2 values, if the agent is speaking or not. If this new value is different than the current state of the user an EMMA message is send with the new user speaking state.

Overrides:
react in class Component
Throws:
javax.jms.JMSException - if communication with the JMS server goes wrong.

sendPitchDirection

public void sendPitchDirection(java.lang.String direction)
                        throws javax.jms.JMSException
Throws:
javax.jms.JMSException

sendSpeechState

public void sendSpeechState()
                     throws javax.jms.JMSException
Sends the current user speech state as an EMMA message around

Throws:
javax.jms.JMSException