Coder Social home page Coder Social logo

uspectrum-heatmap's Introduction

µ-spectrum-heatmap

Heat map spectrum analyzer for WebAudio.

screenshot

Install

npm i uspectrum-heatmap

Usage

import USpectrumHeatmap from 'uspectrum-heatmap'

const spectrum = new USpectrumHeatmap({ 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.
  • setRenderRatio(ratio): A ratio of 1 means rendering using all the available width, which might be really costly. Default is 16. Try bigger values to optimize rendering performance. Try lower values for longer spectrum visibility.
  • setSize(): Automatically called when window is resized to recalculate rendering area.

Usage with µ-player

µ-player is a WebAudio based programatic player that plays well with µ-spectrum-heatmap.

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()

uspectrum-heatmap's People

Contributors

codealchemist avatar

Watchers

 avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.