package com.tlabs.speechalyzer;
import java.util.*;
/**
* <p>
* �berschrift:
* </p>
* <p>
* Beschreibung:
* </p>
* <p>
* Copyright: Copyright (c) 2004
* </p>
* <p>
* Organisation: T-Systems
* </p>
*
* @author burkhardt
* @version 1.0
* @date 10.03.2004
*/
public class EmotionAnalyser {
private Vector ratings = null;
static {
System.loadLibrary("SymEmotionNATIVE");
}
public EmotionAnalyser(String sympaConfig) {
try {
} catch (Exception e) {
e.printStackTrace();
}
ratings = new Vector();
}
public void setRating(double[] speechRate, double wordRate) {
Rating rating = new Rating(speechRate, wordRate);
ratings.add(rating);
}
public void resetRatings() {
ratings.removeAllElements();
}
public double getNeutral() {
if (ratings.size() > 0)
return ((Rating) ratings.lastElement()).getSpeechNERate();
else
return 0.0;
}
public double getColdAnger() {
if (ratings.size() > 0)
return ((Rating) ratings.lastElement()).getSpeechCARate();
else
return 0.0;
}
public double getHotAnger() {
if (ratings.size() > 0)
return ((Rating) ratings.lastElement()).getSpeechHARate();
else
return 0.0;
}
private class Rating {
private double speechCARate = 0;
private double speechHARate = 0;
private double speechNERate = 0;
private double wordRate = 0;
public Rating(double[] speechRate, double wordRate) {
this.speechNERate = speechRate[0];
this.speechCARate = speechRate[1];
this.speechHARate = speechRate[2];
this.wordRate = wordRate;
}
public double getWordRate() {
return wordRate;
}
public String toString() {
return "Emotional Rating: neutral: " + speechNERate
+ ", coldAnger: " + speechCARate + ", hotAnger: "
+ speechHARate + ", words: " + wordRate;
}
public double getSpeechCARate() {
return speechCARate;
}
public double getSpeechHARate() {
return speechHARate;
}
public double getSpeechNERate() {
return speechNERate;
}
}
}