
Security News
TypeScript is Porting Its Compiler to Go for 10x Faster Builds
TypeScript is porting its compiler to Go, delivering 10x faster builds, lower memory usage, and improved editor performance for a smoother developer experience.
audio-param-shim
Advanced tools
An AudioParam shim that lets you act on value changes in any way you want
AudioParam
saudio-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.
AudioParam
shims with custom names and default, min and max valuesAudioParam
, such as with exponentialRampToValueAtTime(value, time)
AudioNode
s to modulate the parameter valueI'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.
If you want an extension that works directly on AudioNode
s.
npm i -S audio-param-shim
import createAudioParam from 'custom-audio-param'
// Create a NoiseParam class
const NoiseParam = createAudioParam('noise', 0.25, 0, 1)
// Create a param instance and change its value
const ctx = new AudioContext()
const noise = new NoiseParam(ctx)
noise.value = 0.4 // -> 0.4
noise.value = 4 // -> 1
noise.value = -1 // -> 0
// Change the value exponentially over 3 seconds and change the
// amount of noise accordingly
let noiseAmplitude = noise.value
// Use noiseAmplitude in a ScriptProcessorNode or something...
noise.subscribe(newValue => noiseAmplitude = newValue)
noise.exponentialRampToValueAtTime(0.9, ctx.currentTime + 3)
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
APIProperty | 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 |
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 |
pseudo-audio-param
FAQs
An AudioParam shim that lets you act on value changes in any way you want
The npm package audio-param-shim receives a total of 0 weekly downloads. As such, audio-param-shim popularity was classified as not popular.
We found that audio-param-shim demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
TypeScript is porting its compiler to Go, delivering 10x faster builds, lower memory usage, and improved editor performance for a smoother developer experience.
Research
Security News
The Socket Research Team has discovered six new malicious npm packages linked to North Korea’s Lazarus Group, designed to steal credentials and deploy backdoors.
Security News
Socket CEO Feross Aboukhadijeh discusses the open web, open source security, and how Socket tackles software supply chain attacks on The Pair Program podcast.