Skip to content

Releases: benji6/virtual-audio-graph

v1.1.1

09 May 17:17
Compare
Choose a tag to compare

1.1.1 (2019-05-09)

Bug Fixes

  • StandardVirtualAudioNode: do not call audio param methods if the parameters have not changed (fixes #43) (761c529)

v1.1.0

30 Apr 19:26
Compare
Choose a tag to compare

1.1.0 (2018-04-30)

Features

  • AudioWorklets: add support for AudioWorklets via createWorkletNode (66c2d47)

v1.0.4

05 Apr 11:23
Compare
Choose a tag to compare

1.0.4 (2018-04-05)

Bug Fixes

  • docs: Fix GH logo height and width (ca86234)

v1.0.3

05 Apr 11:20
Compare
Choose a tag to compare

1.0.3 (2018-04-05)

Bug Fixes

  • docs: Overhaul the documentation (369b6c8)

v1.0.2

31 Mar 10:16
Compare
Choose a tag to compare

1.0.2 (2018-03-31)

Bug Fixes

  • readme: Fix out of date docs (bbf7467)

v1.0.1

29 Mar 08:30
Compare
Choose a tag to compare

1.0.1 (2018-03-29)

Bug Fixes

  • demos: Add code syntax highlighting for the examples (5cd8e6e)

v1.0.0 (No changes from 0.20.0)

28 Mar 21:56
Compare
Choose a tag to compare

v0.20.0

28 Mar 21:30
f2aaf78
Compare
Choose a tag to compare

0.20.0 (2018-03-28)

Features

  • api: Use functions for creating virtual audio nodes (7ee89ed)

BREAKING: If using commonJS createVirtualAudioGraph must be imported as:

const createVirtualAudioGraph = require('virtual-audio-graph').default

BREAKING: Nodes in the audioGraph are now defined using functions instead of arrays

Inspired by https://github.com/ohanhi/hyperscript-helpers

Instead of:

import createVirtualAudioGraph from 'virtual-audio-graph'

const virtualAudioGraph = createVirtualAudioGraph()
const {currentTime} = virtualAudioGraph

const graph = {
  0: ['gain', 'output', {gain: 0.2}],
  1: ['oscillator', 0, {
    type: 'square',
    frequency: 440,
    startTime: currentTime + 1,
    stopTime: currentTime + 2
  }],
  2: ['oscillator', 0, {
    type: 'sawtooth',
    frequency: 660,
    detune: 4,
    startTime: currentTime + 1.5,
    stopTime: currentTime + 2.5
  }],
}

virtualAudioGraph.update(graph)

We now have:

import createVirtualAudioGraph, {gain, oscillator} from 'virtual-audio-graph'

const virtualAudioGraph = createVirtualAudioGraph()
const {currentTime} = virtualAudioGraph

const graph = {
  0: gain('output', {gain: 0.2}),
  1: oscillator(0, {
    type: 'square',
    frequency: 440,
    startTime: currentTime + 1,
    stopTime: currentTime + 2
  }),
  2: oscillator(0, {
    type: 'sawtooth',
    frequency: 660,
    detune: 4,
    startTime: currentTime + 1.5,
    stopTime: currentTime + 2.5
  }),
}

virtualAudioGraph.update(graph)

BREAKING: Custom nodes must now be created with the createNode function:

import {createNode, delay, gain, oscillator, stereoPanner} from 'virtual-audio-graph'

const pingPongDelay = createNode(({
  decay = 1 / 3,
  delayTime = 1 / 3,
  maxDelayTime = 1 / 3,
} = {}) => ({
  0: stereoPanner('output', {pan: -1}),
  1: stereoPanner('output', {pan: 1}),
  2: delay([1, 'five'], {delayTime, maxDelayTime}),
  3: gain(2, {gain: decay}),
import {createNode, delay, gain, oscillator, stereoPanner} from 'virtual-audio-graph'

const pingPongDelay = createNode(({
  decay = 1 / 3,
  delayTime = 1 / 3,
  maxDelayTime = 1 / 3,
} = {}) => ({
  0: stereoPanner('output', {pan: -1}),
  1: stereoPanner('output', {pan: 1}),
  2: delay([1, 'five'], {delayTime, maxDelayTime}),
  3: gain(2, {gain: decay}),
  4: delay([0, 3], {delayTime, maxDelayTime}),
  five: gain(4, {gain: decay}, 'input') // note this is the destination for nodes which connect to pingPongDelay
}))

virtualAudioGraph.update({
  0: pingPongDelay(
    'output',
    {decay: 1 / 4, delayTime: 1 / 3, maxDelayTime: 1},
  ),
  1: gain([0, 'output'], {gain: 1 / 4}),
  2: oscillator(1, {frequency: 440, type: 'square'}),
})

v0.19.9

28 Mar 16:59
Compare
Choose a tag to compare

0.19.9 (2018-03-28)

Bug Fixes

  • Changelog: Add notice to use GitHub releases instead (6f9446e)