🚀 Big News: Socket Acquires Coana to Bring Reachability Analysis to Every Appsec Team.Learn more
Socket
DemoInstallSign in
Socket

@jasonfleischer/spectrogram

Package Overview
Dependencies
Maintainers
1
Versions
2
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@jasonfleischer/spectrogram

a spectrogram view

1.0.1
latest
Source
npm
Version published
Weekly downloads
1
Maintainers
1
Weekly downloads
 
Created
Source

@jasonfleischer/spectrogram

A package for displaying a spectrogram. A spectrogram is a visual representation of the spectrum of frequencies of a signal as it varies with time. Click HERE to see a demo.

Screenshot

Installation

$ npm i @jasonfleischer/spectrogram

Usage

<div style="width: 500px; height: 320px" id="your_spectrogram_id"></div>

<button id="your_button_id">Start</button>


// STEP 1. create spectrogram
const Spectrogram = require("@jasonfleischer/spectrogram");

var spectrogram = new Spectrogram(id = "your_spectrogram_id", useHeatMapColors = true, highlightPeaks = false, darkMode = true, minimumFrequency = 0, maximumFrequency = 22050 );

var audioContext = {};

document.getElementById("your_button_id").onclick = onStartClickEvent;

function onStartClickEvent(){

	// STEP 2. build analyzerNode
	audioContext = new AudioContext();
	var analyzerNode = audioContext.createAnalyser();
	analyzerNode.smoothingTimeConstant = 0;
	analyzerNode.fftSize = 1024;

	// STEP 3. request microphone access
	navigator.mediaDevices.getUserMedia({ video: false, audio: true })
	  	.then( (mediaStreamObj) => {
	  		onStreamAquired(mediaStreamObj, analyzerNode);
		})
		.catch( (err) => {
		 	console.log("getUserMedia: " + err);
		});

	// ---- OR ----

	// STEP 3. setup audio element
	/*var audioElement = document.createElement("AUDIO");
	audioElement.src = "audio/your_audio_file.mp3";		
	audioElement.autoplay = true;	
	audioElement.oncanplay = function () { 
		var mediaStreamObj = audioElement.captureStream();
		onStreamAquired(mediaStreamObj, analyzerNode);
	}*/
}

// STEP 4. connect spectrogram
function onStreamAquired(mediaStreamObj, analyzerNode) {
	var sourceNode = audioContext.createMediaStreamSource(mediaStreamObj);
	sourceNode.connect(analyzerNode);
	spectrogram.draw(analyzerNode, audioContext.sampleRate);
}

// Additional commands

/*spectrogram.resume();
spectrogram.pause();*/

Sample Projects

Keywords

spectrogram

FAQs

Package last updated on 29 Sep 2022

Did you know?

Socket

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.

Install

Related posts