wekinator-node
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) takeswekinatorHost, wekinatorPort, localPort [optional]connecttakes acallbackConnects to Wekinator, calls the callback once it's done.
disconnectCloses the port to Wekinator
inputstakes a list offloats, sets the inputs to them in orderSend Wekinator current input values to populate the boxes/sliders on its GUI. Attach one float per input, in order.
outputstakes a list offloats, sets the outputs to them in orderSend Wekinator current output values to populate the boxes/sliders on its GUI. Attach one float per output, in order.
startRecordingStart recording examples (NOT used for dynamic time warping recording)
stopRecordingStop recording examples (NOT used for dynamic time warping recording)
startDtwRecordingtakes anumberStarts recording dynamic time warping examples for the gesture type given by the number (gesture types are indexed starting from 1)
stopDtwRecordingStops recording dynamic time warping examples (no int required)
trainTrain on current examples
cancelTrainCancel current training (if it’s in progress)
startRunningStart running (if possible)
stopRunningStop running (if currently running)
deleteAllExamplesDelete all examples for all models
enableModelRunningtakes a list ofintsEnables 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.
disableModelRunningtakes a list ofintsDisables running of models with these indices. This is equivalent to disabling the “play” button next to a model row.
enableModelRecordingtakes a list ofintsEnables 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.
disableModelRecordingtakes a list ofintsDisables recording of models with these indices. This is equivalent to disabling the “record” button next to a model row.
setInputNamestakes a list ofnamesSets the Wekinator input names to those names, in order.
setOutputNamestakes a list ofnamesSets the Wekinator output names to those names, in order.
selectInputsForOutputtakesoutput, inputsConnects a list of inputs to a specific output.
trainOnDatatakes a list of objects with the properties 'inputs' and 'outputs', each of which are arrays of floats like ininputsandoutputs.
Last updated
Was this helpful?