Package Exports
- cycle-audio-graph
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (cycle-audio-graph) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
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-graphUsage
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.