Shimmed AudioParam
s
audio-param-shim
lets you create objects that work almost exactly like AudioParam
s, except it doesn't actually touch any web audio stuff. Instead, one can subscribe for value changes and then do whatever one wants with that value.
All value scheduling methods are inherited from pseudo-audio-param
by @mohayonao.
Features
- Create
AudioParam
shims with custom names and default, min and max values - Scheduling values as you would on an
AudioParam
, such as with exponentialRampToValueAtTime(value, time)
- Subscribe to (and unsubscribe from) value changes so that you can act upon them
Missing features
- Using
AudioNode
s to modulate the parameter value
Use case
I'm working on an audio library that does it's own version of a built-in Web Audio API functionality. I do, however, want it to be completely interchangable. This means exposing an AudioParam
API to the developer, hence this library.
When not to use
If you want an extension that works directly on AudioNode
s.
Installation
npm i -S audio-param-shim
Usage
import createAudioParam from 'custom-audio-param'
const NoiseParam = createAudioParam('noise', 0.25, 0, 1)
const ctx = new AudioContext()
const noise = new NoiseParam(ctx)
noise.value = 0.4
noise.value = 4
noise.value = -1
let noiseAmplitude = noise.value
noise.subscribe(newValue => noiseAmplitude = newValue)
noise.exponentialRampToValueAtTime(0.9, ctx.currentTime + 3)
API
Top-level functions
createAudioParam(name, defaultValue, minValue, maxValue)
Returns a AudioParamShim
class that looks and acts just like an AudioParam
instance, except it doesn't actually touch any web audio stuff. Instead, one can subscribe for value changes and then do whatever one wants with that value.
Argument | Type | Description |
---|
name | String | The parameter's name |
defaultValue | Number | The parameter's default value |
minValue | Number | The parameter's minimum value |
maxValue | Number | The parameter's maximum value |
AudioParamShim
API
Properties
Property | Type | Description |
---|
defaultValue (readonly) | Number | The parameter's default value |
maxValue (readonly) | Number | The parameter's max value |
minValue (readonly) | Number | The parameter's min value |
name (readonly) | String | The parameter's name |
value | Number | The parameter's value |
Methods
subscribe(fn)
Subscribes to value changes.
Argument | Type | Description |
---|
fn | Function | A callback function |
unsubscribe(fn)
Unsubscribes from value changes.
Argument | Type | Description |
---|
fn | Function | A callback function |
Credits
See also