Home Reference Source

supercollider.js

npm version Build Status Dependency Status devDependency Status

Node.js tools for working with the SuperCollider language and synthesis server.

SuperCollider is an environment and programming language for real time audio synthesis and algorithmic composition. It provides an interpreted object-oriented language which functions as a network client to a state of the art, realtime sound synthesis server.

This library provides functionality for working with:

Documentation

http://supercolliderjs.readthedocs.org/en/latest/ https://doc.esdoc.org/github.com/crucialfelix/supercolliderjs/

Features

Example

var sc = require('supercolliderjs');

sc.lang.boot()
  .then(function(sclang) {

    sclang.interpret('(1..8).pyramid')
      .then(function(result) {
        // result is a native javascript array
        console.log('= ' + result);
      }, function(error) {
        // syntax or runtime errors
        // are returned as javascript objects
        console.log(error);
      });

  });
var sc = require('supercolliderjs');

sc.server.boot()
  .then(function(server) {

    // raw send message
    server.send.msg(['/g_new', 1, 0, 0]);

    // using sc.msg to format them
    server.send.msg(sc.msg.groupNew(1));

    // call async messages with callAndResponse
    // and receive replies with a Promise
    server.callAndResponse(sc.msg.status())
      .then(function(reply) {
        console.log(reply);
      });

  });

Compatibility

Works on Node 4+

Source code is written in ES2015 and transpiled with babel.

Contribute

License

The project is licensed under the MIT license.