Android and OpenVibe

Post Reply
giammy
Posts: 4
Joined: Mon Jul 04, 2011 12:29 pm
Contact:

Android and OpenVibe

Post by giammy »

Hi all,

I'm interested in BCI implemented on Android devices.

What I'd like to have is an headset and a software which
can give me 2/3 parameters (to control a cursor position and give
a click.

I'm looking to OpenVibe as a very interesting framework,
but to realize what I'm thinking, do you think it's better
to implement data analysis from scratch, try to
use OpenVibe (or part of it) or do you have advice for
other data analisys libraries? (I'm looking for
Open libraries)

Thanks
giammy

lbonnet
Site Admin
Posts: 417
Joined: Wed Oct 07, 2009 12:11 pm

Re: Android and OpenVibe

Post by lbonnet »

Hi giammy and welcome !
I'm interested in BCI implemented on Android devices.
Brain-controlled smartphones or tablets ? I like the idea :)
The first challenge I foresee regarding OpenViBE and Android OS is the language (C++ / Java)
What I'd like to have is an headset and a software which can give me 2/3 parameters (to control a cursor position and give a click.
For the headset part, do you have any idea yet ?
do you think it's better to implement data analysis from scratch, try to use OpenVibe (or part of it) or do you have advice for other data analisys libraries? (I'm looking for Open libraries)
I don't think "from scratch" is a good start... the BCI data analysis is basically signal processing, and many reliable libraries already exist to do the job efficiently.
For example in openvibe we use it++ to perform many signal processing computations.
The thing is I don't know such open lib that could work on Android OS, as I don't have much experience of it (and my java programming experience has gone far away...)

However if you just want a simple processing pipeline, I guess you could implement it. It's "all" about computation on matrices, but it requires some math skills and/or good references to look at, once you know what you are looking for in the EEG signal.

In my opinion, using OpenViBE can be seen in 2 different manners.
- you try to integrate it in the Android system, and your application will rely on an openvibe scenario + an acquisition driver for the BCI part.
- OpenViBE runs on another Linux/Window system, acquires the signal, and communicates with the Android application using network connection (much easier solution obviously).

I don't know if it's possible/difficult to use a C++ application in an Android system. Some kind of wrapper maybe ?
OpenViBE comes with many dependencies, and such task seems very difficult to me. But I'm maybe wrong :)

I hope this helps !

Laurent-
Follow us on twitter >> openvibebci

Checkout my (old) blog for some OpenViBE tips & tricks : here !

giammy
Posts: 4
Joined: Mon Jul 04, 2011 12:29 pm
Contact:

Re: Android and OpenVibe

Post by giammy »

hi laurent,

and thank you for the reply!
lbonnet wrote:
For the headset part, do you have any idea yet ?
I'm looking around and I think to work on the Emotiv Epoc.
Technically, it seems a good hardware, for the price, but it has some problems with the driver
(i.e. closed driver and no support for android :-(

I saw the Emokit (an open source project to read Emotiv raw data) and, if it works,
it could be implemented on Android too.

I looked at plxwave too, even better as price, and supports Android, but it uses less
sensors and the android version is "coming soon" and I do not know what soon means :-)

Anyway the idea should be to have a raw data acquisition driver which is easily
changeable (i'll take some ideas from OpenViBE acquisition server :-) to test/use
different devices.
I don't think "from scratch" is a good start... the BCI data analysis is basically signal processing, and many reliable libraries already exist to do the job efficiently.
For example in openvibe we use it++ to perform many signal processing computations.
The thing is I don't know such open lib that could work on Android OS, as I don't have much experience of it (and my java programming experience has gone far away...)

However if you just want a simple processing pipeline, I guess you could implement it. It's "all" about computation on matrices, but it requires some math skills and/or good references to look at, once you know what you are looking for in the EEG signal.

In my opinion, using OpenViBE can be seen in 2 different manners.
- you try to integrate it in the Android system, and your application will rely on an openvibe scenario + an acquisition driver for the BCI part.
- OpenViBE runs on another Linux/Window system, acquires the signal, and communicates with the Android application using network connection (much easier solution obviously).

I don't know if it's possible/difficult to use a C++ application in an Android system. Some kind of wrapper maybe ?
OpenViBE comes with many dependencies, and such task seems very difficult to me. But I'm maybe wrong :)

I hope this helps !

Laurent-
I surely try not to start from scratch :-)
The android platform uses Java as default framework, but under the cover there's a linux (more or less...)
and C++ programming is allowed, even if not very used - but surely better than use a wrapper or a Java
porting: Java is well optimized on Android, but, for intensive computation I think C++ is better
(I have not tested this on actual device - just my impression :-)

Anyway I'll get a look at it++ (thanks for the reference): probably I'll try to realize my project on Linux,
and when it's working, try to identify the part of OpenViBE I use and look for the specific libraries to port.
(I agree - the complete porting of OpenViBE seems quite a big work!)

The solution to use a PC is not feasible as i intend to have a portable solution for the final user.

anyway,
thanks
giammy

Post Reply