C++, is used.
The notifications are used to warn when new settings
are used (new song in Kyma). Nevertheless, they have to
be activated first :
/osc/notify/vcs/. . . i
Where “. . . ” is an arbitrary word (we can choose
what we want but we have to know that Kyma will
respond with the same OSC pattern) and “i” is an integer
corresponding to the notifications status (1 = enabled, 0 =
When the played song is changed, Kyma will send the
following message :
/osc/notify/vcs/. . . i
Where “. . . ” is the same word used in the query and
“i” is an integer corresponding to the number of widgets
used in the new sound.
Once the notification received, it only remains to get
back the new settings (“/osc/widget i”).
Figure 3: Emotiv Epoc
4.3. Emotiv EPOC
“The Emotiv EPOC is a high resolution, neuro-signal
acquisition and processing wireless neuroheadset. It uses
a set of sensors to tune into electric signals produced by
the brain to detect user thoughts, feelings and expressions
and connects wirelessly to most PCs”.
It’s used, in this project, as sensory sensor in order to
modify sound settings according to the user’s behavior.
There are 2 main ways to use the sensor :
• Use the functions implemented in the Emotiv API ;
• Perform a signal processing on the raw signals.
4.3.1. Emotiv API
4.1.4. Settings modification
Changing the widgets value is done with the following
OSC message :
/vcs id value
Where “id” is an integer corresponding to the widget
ID (parsed in the JSON structure) and “value” is a float
corresponding to the desired value.
Emotiv offers an API to use the EEPOC. This one can
be used with several programming languages (C++, Java,
.NET, . . . ) and allows to exploit the headset without any
“medical” knowledge (it’s ideal for rapid prototyping).
It has 3 main suites :
• Affectiv suite : informs about some user’s feelings
(peaceful, nervous, . . . ) ;
• Cognitiv suite : allows recording brain activity
states in order to reuse them afterward (≡ learning) ;
• Expressiv suite : informs about face expressions
(smile, blink, eyebrow motion, . . . ).
Only this last one had time to be explored. The API
is fairly simple to use and the results (with the expressiv
suite) are “amazing”.
4.3.2. Raw signals
Figure 2: Pacarana
The Pacarana is a set of 4 DSP 5 that allows a powerfull electronic processing. It’s specially designed for
sound processing and it permits to use all the Kyma capacities.
The API also allows to get back the raw signals from
the electrodes. Once got back, it’s possible to perform
many kind of processing (filtering, FFT 6 , learning, . . . )
on these signals according to the desired result (brain activity analysis, motion detection, . . . ). However, this method is difficult to implment and requires time. Furthermore requires some brain activity knowledges. Neverthe5 . Digital Signal Processor
6 . FastFourierTransform