1
0
Fork
You've already forked wekinator-node
0
An SDK to interface with Wekinator over OSC
  • JavaScript 100%
Hugh Rawlinson 70d76dda87
Merge pull request #137 from hughrawlinson/dependabot/npm_and_yarn/jest-29.4.3
chore(deps-dev): bump jest from 29.3.1 to 29.4.3
2023年03月12日 16:01:35 +01:00
.github Consolidate on one unified build script 2021年10月30日 14:26:14 +02:00
__mocks__ feat(disconnect): Provide a callback for disconnection 2019年05月22日 14:14:06 +02:00
examples Queueing system, better examples 2016年02月23日 17:27:58 +01:00
lib refactor: Remove IIFE 2019年05月23日 17:05:32 +02:00
test test(jest): adjust usage of jest for new timer api 2021年08月04日 20:22:09 +02:00
.gitignore Increment version number 2016年02月23日 17:30:59 +01:00
CODE_OF_CONDUCT.md Create CODE_OF_CONDUCT.md 2021年04月19日 23:13:06 +02:00
index.js First pass at scaffold 2016年02月08日 10:41:53 +01:00
license.md GitBook: [master] 4 pages modified 2021年04月06日 10:18:35 +00:00
package-lock.json Merge pull request #137 from hughrawlinson/dependabot/npm_and_yarn/jest-29.4.3 2023年03月12日 16:01:35 +01:00
package.json chore(deps-dev): bump jest from 28.1.3 to 29.0.0 2022年08月26日 10:01:25 +00:00
README.md Update README.md 2021年12月11日 18:51:24 +01:00
SUMMARY.md GitBook: [master] 2 pages modified 2021年04月06日 11:18:46 +00:00

wekinator-node

npm version

An SDK to interface with Wekinator, a system for users to build new interactive systems by demonstrating human actions and computer responses, over OSC.

Usage

wekinator-node assumes that an instance of Wekinator is running. It communicates to the running instance of Wekinator via OSC. By default it will use the default host and port, but these can be set via the constructor parameters wekinatorHost and wekinatorPort. Additionally, localPort can be specified to instruct Wekinator to send output messages as documented.

var Wekinator = require("wekinator");
var wn = new Wekinator();
wn.connect(function () {
 wn.train();
 setTimeout(function () {
 wn.disconnect();
 }, 100);
});

Another example is available here.

API

wekinator-node supports the Wekinator control messages documented here with the following Javascript method names.

List of methods
  • WekinatorNode constructor takes wekinatorHost, wekinatorPort, localPort [optional]
  • connect takes a callback
    • Connects to Wekinator, calls the callback once it's done.
  • disconnect
    • Closes the port to Wekinator
  • inputs takes a list of floats, sets the inputs to them in order
    • Send Wekinator current input values to populate the boxes/sliders on its GUI. Attach one float per input, in order.
  • outputs takes a list of floats, sets the outputs to them in order
    • Send Wekinator current output values to populate the boxes/sliders on its GUI. Attach one float per output, in order.
  • startRecording
    • Start recording examples NOT used for dynamic time warping recording
  • stopRecording
    • Stop recording examples NOT used for dynamic time warping recording
  • startDtwRecording takes a number
    • Starts recording dynamic time warping examples for the gesture type given by the number gesture types are indexed starting from 1
  • stopDtwRecording
    • Stops recording dynamic time warping examples no int required
  • train
    • Train on current examples
  • cancelTrain
    • Cancel current training if it’s in progress
  • startRunning
    • Start running if possible
  • stopRunning
    • Stop running if currently running
  • deleteAllExamples
    • Delete all examples for all models
  • enableModelRunning takes a list of ints
    • Enables running of all models whose indices are listed in the list of ints in the message. Model indices start with 1. This is equivalent to enabling the "play" button next to a model row.
  • disableModelRunning takes a list of ints
    • Disables running of models with these indices. This is equivalent to disabling the "play" button next to a model row.
  • enableModelRecording takes a list of ints
    • Enables recording of all models whose indices are listed in the list of ints in the message. Model indices start with 1. This is equivalent to enabling the "record" button next to a model row.
  • disableModelRecording takes a list of ints
    • Disables recording of models with these indices. This is equivalent to disabling the "record" button next to a model row.
  • setInputNames takes a list of names
    • Sets the Wekinator input names to those names, in order.
  • setOutputNames takes a list of names
    • Sets the Wekinator output names to those names, in order.
  • selectInputsForOutput takes output, inputs
    • Connects a list of inputs to a specific output.
  • trainOnData takes a list of objects with the properties 'inputs' and 'outputs', each of which are arrays of floats like in inputs and outputs.