edu.berkeley.guir.ptk.abstraction
Class VoiceAbstractor

java.lang.Object
  extended byedu.berkeley.guir.ptk.PTK
      extended byedu.berkeley.guir.ptk.abstraction.Abstractor
          extended byedu.berkeley.guir.ptk.abstraction.VoiceAbstractor

public class VoiceAbstractor
extends Abstractor

Recognizes voices and conversations given audio frequency samples based on common voice frequencies. This is an approximate recognizer: other sounds with similar frequencies samples will be considered voices. To recognize conversations, this class keeps track of how long voices have been detected. Conversations are determined to be present if a "mini conversation" has occured in the last one minute. A "mini conversation" is when there have been at least 5 voice events in the past 10 seconds (note: this assumes a certain frequency of events). In other words, if there have been enough voices detected recently, it considers there to be a conversation occurring.

This abstractor adds three pieces of data to the event: (1) a DataSwitch that is true if voices were detected in the event audio data; (2) a DataSwitch that is true if a conversation is detected; and (3) and DataSwitch that is true if a conversation has recently ended (within the last five minutes).

Author:
tmatthew

Field Summary
static int CONVERSATION
           
static int CONVERSATION_RECENTLY_STOPPED
           
static int END
          END * 10 = the number of seconds since there has been no conversation (no mini_conv); this is the amount of dead-time allowed in a conversation before it is no longer considered to be happening.
static int NO_VOICES
           
static int VOICE
           
 
Fields inherited from class edu.berkeley.guir.ptk.abstraction.Abstractor
data_ids_I_want, replace_data
 
Fields inherited from class edu.berkeley.guir.ptk.PTK
debug, MAX_DEBUG, MED_DEBUG, MIN_DEBUG, NO_DEBUG
 
Constructor Summary
VoiceAbstractor()
           
 
Method Summary
protected  boolean areThereVoices(double volume, double[] freqs)
           
 boolean doAbstract(Event e, History h)
          Performs the abstraction of the event e as specified by the class that implements this interface.
 
Methods inherited from class edu.berkeley.guir.ptk.abstraction.Abstractor
addMetadataIWant, canIAbstract, getAllMetadata, getFirstMetadata
 
Methods inherited from class edu.berkeley.guir.ptk.PTK
getMAX, getMED, getMIN, getNO, printDebug, printDebug, printError
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

END

public static final int END
END * 10 = the number of seconds since there has been no conversation (no mini_conv); this is the amount of dead-time allowed in a conversation before it is no longer considered to be happening.

See Also:
Constant Field Values

NO_VOICES

public static final int NO_VOICES
See Also:
Constant Field Values

VOICE

public static final int VOICE
See Also:
Constant Field Values

CONVERSATION

public static final int CONVERSATION
See Also:
Constant Field Values

CONVERSATION_RECENTLY_STOPPED

public static final int CONVERSATION_RECENTLY_STOPPED
See Also:
Constant Field Values
Constructor Detail

VoiceAbstractor

public VoiceAbstractor()
Method Detail

doAbstract

public boolean doAbstract(Event e,
                          History h)
Description copied from class: Abstractor
Performs the abstraction of the event e as specified by the class that implements this interface. Returns true if the abstraction was successful and false otherwise.

Specified by:
doAbstract in class Abstractor
Parameters:
e -
h -
Returns:
boolean

areThereVoices

protected boolean areThereVoices(double volume,
                                 double[] freqs)