JSPM

  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 9
  • Score
    100M100P100Q44905F
  • License MIT

useful tools for webaudio

Package Exports

  • webaudio-tools

Readme

webaudio-tools

useful tools for webaudio

npm i webaudio-tools pnpm add webaudio-tools yarn add webaudio-tools

API

# PeakingDetectorNode – PeakingDetectorNode. src/peaking-detector.ts#L22

    Detects if signal is peaking above a threshold and emits 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()

    # constructor(ctx) src/peaking-detector.ts#L32
    # decibelsThreshold  =  -1 – Decibels threshold in dBFS to emit peaking when above src/peaking-detector.ts#L26

      number

    # isPeaking  =  false – Indicator whether node is peaking src/peaking-detector.ts#L24

      boolean

    # onpeaking() – Event callback that fires when peaking is detected src/peaking-detector.ts#L28

      onpeaking()  =>

        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"

    # constructor(ctx) src/silence-detector.ts#L34
    # isSilent  =  true – Indicates whether there is silence or not src/silence-detector.ts#L23

      boolean

    # silenceThresholdSeconds  =  0.5 – How much silent time in seconds in order to detect silence (default: 0.5) src/silence-detector.ts#L25

      number

    # onplaying() – Event callback that fires when node receives audio src/silence-detector.ts#L30

      onplaying()  =>

        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

    # db – Value in dBFS

      number

    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

    # minFreq – Minimum frequency.

      number

    # maxFreq – Maximum frequency.

      number

    # sampleRate – Sample rate.

      number

    # fftSize

      number

    fftLogIndexer(minFreq, maxFreq, sampleRate, fftSize)  =>

      # (normal)

        # normal

          number

        (normal)  =>

          number

# floatToDb(float) – Convert float value float to dBFS. src/db.ts#L15

    # float – Value in float

      number

    floatToDb(float)  =>

      number

Contributing

Fork or edit and submit a PR.

All contributions are welcome!

License

MIT © 2022 stagas