pseudo-audio-param
v1.3.1
Published
Simulate scheduled AudioParam values
Downloads
44
Maintainers
Readme
pseudo-audio-param
Simulate scheduled AudioParam values
Installation
$ npm install pseudo-audio-param
API
constructor(defaultValue: number)
getValueAtTime(time: number): number
- return scheduled value at
time
- return scheduled value at
applyTo(audioParam: AudioParam, [ reset: boolean ]): self
- apply scheduled methods to the provided
audioParam
- if
reset
is true, cancel all events of AudioParam before applying
- apply scheduled methods to the provided
events: object[]
.type: string
.time: number
compatible interfaces with AudioParam
setValueAtTime(value: number, time: number): self
linearRampToValueAtTime(value: number, time: number): self
exponentialRampToValueAtTime(value: number, time: number): self
setTargetAtTime(value: number, time: number: timeConstant: number): self
setValueCurveAtTime(values: Float32Array, time: number, duration: number): self
cancelScheduledValues(time: number): self
cancelAndHoldAtTime(time: number): self
Example
https://www.w3.org/TR/webaudio/#example1-AudioParam
var PseudoAudioParam = require("pseudo-audio-param");
var param = new PseudoAudioParam();
var curveLength = 44100;
var curve = new Float32Array(curveLength);
for (var i = 0; i < curveLength; i++)
curve[i] = Math.sin(Math.PI * i / curveLength);
var t0 = 0;
var t1 = 0.1;
var t2 = 0.2;
var t3 = 0.3;
var t4 = 0.325;
var t5 = 0.5;
var t6 = 0.6;
var t7 = 0.7;
var t8 = 1.0;
var timeConstant = 0.1;
param.setValueAtTime(0.2, t0);
param.setValueAtTime(0.3, t1);
param.setValueAtTime(0.4, t2);
param.linearRampToValueAtTime(1, t3);
param.linearRampToValueAtTime(0.8, t4);
param.setTargetAtTime(0.5, t4, timeConstant);
param.setValueAtTime(param.getValueAtTime(t5), t5);
param.exponentialRampToValueAtTime(0.75, t6);
param.exponentialRampToValueAtTime(0.05, t7);
param.setValueCurveAtTime(curve, t7, t8 - t7);
for (var j = 0; j < 1000; j++) {
console.log(param.getValueAtTime(j / 1000));
}
License
MIT