mano-js is a library targeted at sensor processing and gesture modeling and recognition
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
bin
client
common
docs
examples
resources
src
test
.babelrc
.gitignore
LICENSE.md
README.md
TUTORIAL.md
conf.json
package.json

README.md

mano-js

mano-js is a library targeted at sensor processing and gesture modeling and recognition. The library is designed to offer a high-level client-side wrapper of waves-lfo, lfo-motion, xmm-client.

Overview

scheme

Install

npm install [--save --save-exact] ircam-rnd/mano-js

Example

import * as mano from 'mano-js/client';

const processedSensors = new mano.ProcessedSensors();
const example = new mano.Example();
const trainingSet = new mano.TrainingSet();
const xmmProcessor = new mano.XmmProcesssor();

example.setLabel('test');
processedSensors.addListener(example.addElement);

// later...
processedSensors.removeListener(example.addElement);
const rapidMixJsonExample = example.toJSON();

trainingSet.addExample(rapidMixJsonExample);
const rapidMixJsonTrainingSet = trainingSet.toJSON();

xmmProcessor
  .train(rapidMixJsonTrainingSet)
  .then(() => {
    // start decoding
    processedSensors.addListener(data => {
      const results = xmmProcessor.run(data);
      console.log(results);
    });
  });

Server-side considerations

By default, the training is achieved by calling the dedicated service available at https://como.ircam.fr/api/v1/train, however a similar service can be simply deployed by using the xmm-node and rapid-mix adapters librairies.

An concrete example of such solution is available in examples/mano-js-example.

Acknowledgements

The library as been developped at Ircam - Centre Pompidou by Joseph Larralde and Benjamin Matuszewski in the framework of the EU H2020 project Rapid-Mix.