0.5.8 • Published 9 months ago

soundy-js v0.5.8

Weekly downloads
-
License
MIT
Repository
github
Last release
9 months ago

Visualize and access audio data real time with React

Core characteristics

  • Access frequency and beat details of any audio in your project
  • Blazingly fast feature retreival
  • Usable via React hook and React Provider

Docs and Examples

Here you can find the documentation of the project.

Here you can see some visualizaitons done by us.

Get started 🎶

Installation

Run npm install soundy-js

Usage with React Provider

Container:

import { SoundyProvider } from  "soundy-js";

function  Container() {
const  playerRef  =  useRef(null);

return (
	<div>
		<audio
			id="audioPlayer"
			src="your_audio.mp3"
			ref={playerRef}>
		</audio>
		<SoundyProvider  playerRef={playerRef}>
			<YourVisualization/>
		</SoundyProvider>
	</div>
);
}

Visualizer:

import  useSoundy  from  'soundy-js';

const  YourVisualization = () => {
const { 
	getLowFrequencyData, 
	getMidFrequencyData, 
	getHighFrequencyData
} =  useSoundy();
return (
	<div>
	... your visualization elements here	
	</div>
);
};

Usage with React Hook

Visualizer:

import useAudioFeatures from 'soundy-js';

const  YourVisualization = () => {
const playerRef = useRef(null);
const { getLowFrequencyData, getMidFrequencyData, getHighFrequencyData } =
  useAudioFeatures(playerRef);
return (
	<div>
		<audio
			id="audioPlayer"
			src="your_audio.mp3"
			ref={playerRef}>
		</audio>
		... your visualization elements here	
	</div>
);
};

Currently supported feature set ✅

  • Access Low, Mid or High frequency data of your audio
  • Retrieve Avarage of Low or Mid frequencies
  • Get the peak or the bottom of Low, Mid or High frequencies
  • Use the significant beat of the audio as a signal
  • Select a custom range of frequency data of your audio

Motivation 🤔

We incredibly enjoy making audio visualizers using javascript only. This projects goal is to provide a library that can make this more approachable for others, by supplying the data from the audio via a React hook or Provider. We mostly experimented creating visualizations using Three.js, SVGs and basic HTML elements.

Maintainers

Szabó Benedek

0.5.8

9 months ago

0.5.7

9 months ago

0.5.6

9 months ago

0.5.4

9 months ago

0.5.2

9 months ago

0.5.0

9 months ago