TEAP — Toolbox for Emotion Analysis using Physiological signals

Welcome to TEAP!

TEAP is a Matlab/Octave toolbox for emotion analysis using physiological signals.
Unlike others, TEAP is free, comprehensive and easy to setup.

Learn more View some examples Get TEAP

About TEAP

Free and Easy to use

No need to buy complex software any more. TEAP is free, and works on Matlab and Octave. Now, physiological signal analysis is at the reach of everybody. TEAP provides simple functions for signal analysis thus making it easy to use; no need to know which type of filter to apply to an EEG signal: by default TEAP will provide one.

View details »

Emotion Analysis

Need to analyse emotions from signals acquired from physiological signals ?. TEAP makes that easy for you by providing an all-in-one toolbox you can simply use to compute your results.
Currently, TEAP supports the following signals:

  • BVP
  • ECG
  • EEG
  • EMG
  • GSR
  • HST
  • RES

View details »

Proven algorithms

In general, TEAP's algorithms are documented and were inspired from published and reviewed algorithms. No need to worry about which arguments to give to a zerophase FIR filter: TEAP does that for you.

View details »

TEAP examples

Load a signal easily !

 1 %Before all, load TEAP
 2 addpath(genpath('../../../'))
 4 %Then, we load some data:
 5 data = csvread('GSR_example.csv');
 6 data = data'; %put in horizontal form
 9 %Create the signal, the sampling freq of the signal we have is 1024Hz
10 signal = GSR_aqn_variable(data, 1024);
12 %Clean the signal a bit
13 signal = GSR_filter_basic(signal);
15 %And compute the features:
16 [nbPeaks ampPeaks riseTime posPeaks] = GSR_feat_peaks(signal);

Show a signal in 3 lines !

18 %Show the signal
19 Signal_plot(signal);
21 %As now the axis are in seconds, we have to use this function to plot the points
22 rawSig = Signal__get_raw(signal);
23 Signal_plot_pts(signal, posPeaks, rawSig(posPeaks), 'r*');
24 %Note that we didn't had to 'hold on': the function does-it itself.

Truncate a signal in a clap !

27 %Take a part of a signal, between 41 and 85 seconds
28 figure;
29 truncated = Signal__get_window(signal, 41, 85);
30 Signal_plot(truncated);
32 [nbPeaks ampPeaks riseTime posPeaks] = GSR_feat_peaks(truncated);
33 rawSig = Signal__get_raw(truncated);
34 Signal_plot_pts(truncated, posPeaks, rawSig(posPeaks), 'r*');



If you know git, you can simply:
git clone https://github.com/Gijom/TEAP.git

Via direct download

You can also simply go to:

TEAP's documentation

TEAP's documentation is simply and freely available here. Doxygen generated doc is here.