drone-e-o-synth

1.0.1 • Public • Published

drone-e-o-synth

PLAY THREE OF THEM AT THE SAME TIME WITH A SMART PHONE


NPM

WEB AUDIO SYNTH MODULEZZZ https://www.npmjs.com/package/drone-e-o-synth

An experiment in using NPM for building modular noise instruments.

Each instrument is an object filled with already-connected and setup audioNodes. The instrument responds to:

  • keys() => returns list of keys to audioNodes
  • connect(destination) => connect the output nodes to a destination or other nodes
  • start() => calls start() on all the source nodes
  • export() => returns JSON respresentation of the instrument
  • import(data) => loads a JSON of the instrument state.

From there, writing a module that auto-magically builds UI for each of the nodes shouldn't be too hard.


INSTALL

npm install drone-e-o-synth

EXAMPLE

var makeSynth = require('drone-e-o-synth')
var context = new (window.AudioContext || window.webkitAudioContext)()
var synth = makeSynth(context)

// synth is an object filled with audio nodes that are already connected together!

synth.connect(context.destination)
// connect yr synth to the audio context destination, or to other nodes

synth.keys() => ['source', 'filter', lowFilter', 'distortion', 'volume']
// returns a list of keys to audio nodes, so you can do stuff like synth.source.type = "triangle"

var data = synth.export() => exports the current state of the audio nodes to a json object
synth.import(data) => resets state of audio nodes from JSON object

DEV

# install dependencies
npm install

# start watchify
npm run watch

# start local server
python -m SimpleHTTPServer

Package Sidebar

Install

npm i drone-e-o-synth

Weekly Downloads

0

Version

1.0.1

License

MIT

Last publish

Collaborators

  • coleww