Posted on Nov 23, 2017 | Rating
   
  

Real-Time Arousal Detection Using Galvanic Skin Response

The asset detects player’s arousal based on measured Galvanic Skin Response (GSR), or Electro-Dermal Activity (EDA), and can be used for adaptation of digital games and other affective computing applications.

Short non-technical description: Galvanic Skin Response (GSR), also referred to Electro-Dermal Activity (EDA), is directly dependent on the activity of the sweat glands and is often used to index the autonomic arousal. GSR offers a popular and affordable way for detection of player’s arousal in adaptive digital games and other affective computing applications. The asset produces some real-time features of GSR signal measured from a particular player and, as well, indicates the level of player´s arousal using a user-defined scale.

Technical description:

The asset produces real-time features of GSR signal measured from particular player, together with the level of player´s arousal using a user-defined scale. It receives a filtered raw signal from a simple, low-cost biofeedback device allowing sampling rate up to 0.8Khz. Measurements are carried out with two electrodes placed on two adjacent fingers. Recording, filtering and feature extraction might be executed on a computer (server) different than the game machine, in order to speed up all the required processing. The results are to be communicated from the server-side to the client component in order to be used for game adaptation.
The asset can be used for adaptation of digital games and other affective computing applications. Before starting with GSR measuring and arousal recognition, asset setup parameters should be initialized (client side). These parameters include:

  • required sample rate [Hz] – the frequency of measuring the GSR signal;
  • time window [s] – the length of time for calculating the moving average of arousal;
  • levels of arousal scale - from 1 to N.

The applied sample rate should be less than 0.8KHz.

After a calibration period, the client-side expects to receive request for the indexed arousal level of the player and replies the found arousal level in real time. As well, the asset returns values of mean tonic activity level, phasic activity represented by mean and maximum amplitude of skin conductance response (all in micro-siemens), rate of phasic activity (response peaks/sec), SCR rise time, SCR 1/2 recovery time, and slope of tonic activity (in micro-siemens/sec). Due to the intensive computing processing required for filtering and logging of the raw signal, as far as calculation of signal features, the asset is developed with a server and client side components communicating each other via sockets.

Reported bugs will be fixed taking into account:

<p class="asset-property"><span class="text-caption">Detailed description:</span> Application settings are divided into two groups - <em>basic application settings</em> and <em>advanced application settings</em>. <ol> <li>The <em>basic application settings</em> in ./Resources/realTimeArousalDetectionAssetSettings.xml are as follows: <ul> <li>SocketPort – the number of the port of the socket that will communicate with the asset; </li> <li>SocketIPAddress – IP address of the socket that will communicate with the asset; </li> <li>COMPort – define the GSR device COM port. If it has value N.A., the asset works with one random chosen COM port (but usually only one COM port is available); </li> <li>FormMode – the application run in background mode if it has value BackgroundMode; </li> <li>LogFile – path to the log file; </li> <li>DefaultTimeWindow - default value for the time window; </li> <li>SamplerateLabel - sample rate of the GSR device; </li> <li>ArousalLevel - the number of arousal levels. </li> </ul></li> <li>The <em>advanced application settings</em> in ./Resources/realTimeArousalDetectionAssetSettings.xml are as follows: <ul> <li>MinGSRDeviceSignalValue - the smallest possible value that can be detected by the GSR device; </li> <li>MaxGSRDeviceSignalValue - the largest possible value that can be detected by the GSR device; </li> <li>CalibrationTimerInterval – in the calibration period it is the time interval during which the asset measures the arousal status of the current user;</li> <li>ButterworthPhasicFrequency – frequency used in the Butterworth filter for the phasic signal; </li> <li>ButterworthTonicFrequency – frequency used in the Butterworth filter for the tonic signal; </li> <li>ApplicationMode – if it has value TestWithoutDevice the asset works with data from a file (that is specified in the setting TestData), but not with real data from the GSR device; </li> <li>TestData – path to the file that specified the static GSR data when the value of the setting ApplicationMode is TestWithoutDevice.</li> </ul></li> </ol> </p>

Date: May 1, 2017

Language: English

Access URL: https://github.com/ddessy/RealTimeArousalDetectionUsingGSR

Download: Real-Time-Arousal-Detection-Using-Galvanic-Skin-Response.zip

EDA

GSR

arousal

real time

measurement

recognition

physiological signal



Game development environment: Other

Target platform: Windows

Programming language: C#

Version: 1.0.0

Version notes: The version 1.0.0 implies an asset integration process with following steps:

  1. Start the asset - start the DisplayGSRSignal.exe file by clicking onto it. The socket will be started at the port specified in the configuration file, and the device starts measuring. You can do the following:
    • You can stop and start the socket alternatively by clicking the “Start/Stop socket” button.
    • In order to start visualization of the GSR signal, press the “Start” button. At any moment you can stop the device by pressing the “Stop” button and, next, to start it again.
    • You can switch on/off the visualization denoised signal visualization by check/uncheck the checkbox over the “Start” button.
    • After stopping the device, you can use the mouse wheel in order to zoom in/out each one of the axes, while the mouse cursor is placed on graphic. For resetting the zoom on the axis X or Y, just click on the circle button in the end of the scrollbar of the corresponded axis (fig. 2).
  2. Check if the asset’s socket server is available;
  3. Run a socket client on the address (that is stated in the setting SocketIPAddress) and port (that is stated in the setting SocketPort) specified in the application settings;
  4. At the beginning send to the asset message with content “SOCP” for starting calibration period;
  5. After the calibration period send message “EOCP” for ending calibration period;
  6. When you need information for the status of emotional arousal of the current user send message to the asset with the content “GET_EDA”;
  7. At the end of arousal measurement of the current user send message “EOM”.

Development status: Completed

Commit URL: https://github.com/ddessy/RealTimeArousalDetectionUsingGSR

Type: Apache 2.0 (Apache License 2.0)

URL: http://www.apache.org/licenses/LICENSE-2.0

Personal skills Adaptation changes Self-control and Stress Resistance
Other skills Behavioural physical skills
Computers in other domains Personal computers and PC applications Computer games
Education Interactive learning environments
Life and medical sciences Bioinformatics
Operations research Decision analysis
Component Affective State Detection

Related Articles

Component
Real-time Facial Emotion Detection Software Component
RAGE Project, Open Universiteit, Kiavash Bahreini, Rage project, Kiavash Bahreini

Component
Player-centric rule-and-pattern-based adaptation asset
Dessislava Vassileva, Rage project, Sofia University

Component
Adaptation and Assessment (TwoA) component
Enkhbold Nyamsuren, Rage project, Enkhbold Nyamsuren

Component
Performance Statistics
Open University of the Netherlands, Rage project, Rage project

Component
Client Side Game Storage Asset
Rage project, Rage project, Open University of the Netherlands

Component
LipSync Generator
Utrecht University Virtual Human Controller, Rage project, Utrecht University

Component
BML Realizer
Utrecht University Virtual Human Controller, Rage project, Utrecht University

Component
Dialogue Scenario Editor
Utrecht University, Rage project, Johan Jeuring

Component
Dialogue Scenario Reasoner
Utrecht University, Rage project, Johan Jeuring

×