Skip to content

hcmlab/ssj

Repository files navigation

Logo

Social Signal Processing for Android

SSJ is an extensible android framework for social signal processing in an out of lab envirnoment. It packages common signal processing tools in a flexible, mobile friendly Java library which can be easily integrated into Android Apps.

Features

  • Realtime signal processing using independent components as processing steps in a pipeline
  • Synchronized data streams
  • Support for most standard android sensors e.g. Camera, Microphone, Acceleration, GPS
  • Support for external sensors via bluetooth e.g. Microsoft Band 2, Myo, Angel Sensor, Empatica
  • Advanced signal processing functionality, including machine learning approaches (Neural Networks, SVM, NaiveBayes)
  • On device model training capabilities (batch and online learning)
  • I/O functionality: local storage, sockets, bluetooth
  • Energy efficient processing thanks to advanced sleep state management and support for discrete data propagation
  • Live data visualization (using GraphView library)
  • SSJ Creator: Android App for building, editing and running SSJ pipelines without writing a single line of code

Download

To use libssj in your own application, download the latest .aar file from the releases section, place it under app/libs/ and include the following line in your app's gradle file:

implementation files('libs/libssj-0.7.8.aar')

Get it on Google Play The latest version of the SSJ Creator app can be downloaded from the releases section as well. Alternatively, an older version is available in the Google Play Store.

Documentation

About

The Social Signal Processing for Java/Android (SSJ) framework is being developed at the Lab for Human Centered Multimedia of the University of Augsburg. The authors of the framework are: Ionut Damian, Michael Dietz, Frank Gaibler, Daniel Langerenken, Simon Flutura, Vitalijs Krumins, Antonio Grieco.

SSJ has been inspired by the SSI (http://openssi.net) framework. SSJ is not a one-to-one port of SSI to Java, it is an approximation. Nevertheless, it borrows a lot of programming patterns from SSI and preserves the same vision for signal processing which makes SSI great. It than packages everything in a flexible, mobile friendly Java library which can be easily integrated into Android Apps.

DOI

If you use SSJ for a research project, please reference the following papers:

  • Ionut Damian, Michael Dietz, Elisabeth André, The SSJ Framework: Augmenting Social Interactions Using Mobile Signal Processing and Live Feedback, Frontiers in ICT, 2018
    paper | BibTex
  • Ionut Damian, Michael Dietz, Frank Gaibler, Elisabeth André, Social Signal Processing for Dummies, In Proceedings of International Conference on Multimodal Interaction (ICMI), ACM, 2016
    paper | BibTex | dl.acm.org

License

This library is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or any later version.

This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this library; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA