cycle-audio-graph
                                
                                 cycle-audio-graph copied to clipboard
                                
                                    cycle-audio-graph copied to clipboard
                            
                            
                            
                        Audio graph driver for Cycle.js based on virtual-audio-graph
cycle-audio-graph
Audio graph driver for Cycle.js based on virtual-audio-graph.
Check out Awesome Cycle.js for more Cycle.js resources.
Installation
npm i -S cycle-audio-graph
Usage
makeAudioGraphDriver
The default export of cycle-audio-graph is makeAudioGraphDriver which takes an optional configuration object with two optional key-value pairs:
import makeAudioGraphDriver from 'cycle-audio-graph'
const audioContext = new AudioContext()
// if no configuration object is provided the defaults
// detailed below will be used
makeAudioGraphDriver({
  // if audioContext is not provided then cycle-audio-graph
  // will attempt to construct its own instance
  audioContext,
  // output could be any valid AudioNode destination.
  // If not provided then cycle-audio-graph will use
  // the destination of its audioContext instance
  output: audioContext.destination,
})
Very Basic Example
import {run} from '@cycle/core'
import makeAudioGraphDriver from 'cycle-audio-graph'
const audioContext = new AudioContext()
const main = responses => {
  // ... example$ could be some sort of user input
  graph$ = example$.map(_ => {
    // ...
    const {currentTime} = audioContext
    return {
      0: ['gain', 'output', {gain: 0.2}],
      1: ['oscillator', 0, {
        type: 'square',
        frequency: 440,
        startTime: currentTime + 1,
        stopTime: currentTime + 2,
      }],
    }
  })
  return {
    audioGraph: graph$,
    // ... etc.
  }
}
const drivers = {
  audioGraph: makeAudioGraphDriver({
    audioContext,
    output: audioContext.destination,
  }),
  // ... etc.
}
run(main, drivers)
virtual-audio-graph
For more info on the graph objects in the graph$ check out the documentation for virtual-audio-graph.