1.1.0 • Published 5 years ago

cycle-audio-graph v1.1.0

Weekly downloads
1
License
MIT
Repository
-
Last release
5 years ago

cycle-audio-graph

npm version Build Status

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.

1.1.0

5 years ago

1.0.0

8 years ago

0.4.1

8 years ago

0.4.0

8 years ago

0.3.1

10 years ago

0.3.0

10 years ago

0.2.2

10 years ago

0.2.1

10 years ago

0.2.0

10 years ago

0.1.3

10 years ago

0.1.2

10 years ago

0.1.1

10 years ago

0.1.0

10 years ago