uspectrum-wave
v1.0.2
Published
Wave spectrum analyzer for WebAudio.
Downloads
4
Maintainers
Readme
µ-spectrum-wave
Wave spectrum analyzer for WebAudio.
Install
npm i uspectrum-wave
Usage
import USpectrumWave from 'uspectrum-wave'
const spectrum = new USpectrumWave({ context, buffer, source, canvas })
spectrum
.init({ context: AudioContext, buffer: AudioBuffer, source: AudioSource })
.render()
Constructor
All params are optional.
context
: An AudioContext object.buffer
: An AudioBuffer object.source
: An AudioBufferSourceSource object.canvas
: Can be:- A CSS selector pointing to a canvas element rendered on the page.
- A reference to a canvas element.
- Unset: a canvas element will be created an appended to body.
Methods
init({ context, buffer, source })
: Initializes audio analyzer and connects it to audio source. See Constructor for signature reference. Allows chaining.render
: Requests animation frame and starts rendering audio data with buffer updates.setFftSize(size)
: Sets fftSize property on AnalyzerNode. Default is 2048.setMinDb(db)
: Sets minDecibels property on AnalyzerNode. Default is -90.setMaxDb(db)
: Sets maxDecibels property on AnalyzerNode. Default is -10.setSmoothing(smoothing)
: Sets smoothingTimeConstant on AnalyzerNode. Default is 0.85.setBackground(color)
: Sets canvas background color. Default is 'black'.setColor(color)
: Sets canvas line color. Default is 'yellow'.setLineWidth(width)
: Sets canvas line width. Default is 2.
Usage with µ-player
µ-player is a WebAudio based programatic player that plays well with µ-spectrum-wave.
import Player from 'uplayer'
const player = new Player('https://some.mp3')
player
.on('play', () => {
spectrum
.init({ context: player.context, buffer: player.buffer, source: player.source })
.render()
})
.load()
.play()