Package Exports
- webaudio-tools
Readme
webaudio-tools
useful tools for webaudio
npm i webaudio-tools
|
pnpm add webaudio-tools
|
yarn add webaudio-tools
|
API
Detects if signal is peaking above a threshold and emits #
src/peaking-detector.ts#L22 PeakingDetectorNode – PeakingDetectorNode.
peaking event.const peakingDetectorNode = new PeakingDetectorNode(ctx)
peakingDetectorNode.decibelsThreshold = -1
peakingDetectorNode.onpeaking = () => console.log('peaking')
someAudioNode.connect(peakingDetectorNode)
// ... sometime later peaking is detected and fired once ...
// => console: "peaking"
//
// ... then when issue is resolved by user
// we make it possible to emit "peaking" event again
peakingDetectorNode.reset()
number onpeaking() => #
src/peaking-detector.ts#L26 decibelsThreshold = -1 – Decibels threshold in dBFS to emit peaking when above#
src/peaking-detector.ts#L28 onpeaking() – Event callback that fires when peaking is detected
void
# reset()
src/peaking-detector.ts#L56
reset() =>
- void
# SilenceDetectorNode – SilenceDetectorNode.
src/silence-detector.ts#L21
Emits silent when signal is producing silence for a given amount of time
and emits playing when it starts playing.
const silenceDetectorNode = new SilenceDetectorNode(ctx)
silenceDetectorNode.silenceThresholdSeconds = 0.5
silenceDetectorNode.onplaying = () => console.log('playing')
silenceDetectorNode.onsilent = () => console.log('silent')
oscillatorNode.connect(silenceDetectorNode)
oscillatorNode.start() // => console: "playing"
...
oscillatorNode.stop()
// ... after 0.5 seconds ...
// => console: "silent" number onplaying() => #
src/silence-detector.ts#L25 silenceThresholdSeconds = 0.5 – How much silent time in seconds in order to detect silence (default: 0.5)#
src/silence-detector.ts#L30 onplaying() – Event callback that fires when node receives audio
void
# onsilent() – Event callback that fires when node becomes silent
src/silence-detector.ts#L28
onsilent() =>
- void
# dbToFloat(db) – Convert dBFS value db to float.
src/db.ts#L7 number#
db – Value in dBFS
dbToFloat(db) =>
- number
# fftLogIndexer(minFreq, maxFreq, sampleRate, fftSize) – Returns a function that converts normalized FFT output for a given range
from linear to logarithmic scale, used for drawing spectrograms.
src/fft-log-indexer.ts#L11 # floatToDb(float) – Convert float value float to dBFS.
src/db.ts#L15 number#
float – Value in float
floatToDb(float) =>
- number
Contributing
All contributions are welcome!