qiuxiang / aubiojs

aubio for javascript, the real-time audio processing library
https://qiuxiang.github.io/aubiojs/
MIT License
137 stars 36 forks source link

aubiojs npm-badge build-badge

Online Demo

aubiojs is a real-time audio processing library based on aubio, now including:

Usage

Web

<script src="https://unpkg.com/aubiojs"></script>
<script>
  aubio().then(({ Tempo }) => {
    const tempo = new Tempo(bufferSize, hopSize, sampleRate);
    tempo.do(audioBuffer);
    const bpm = tempo.getBpm();
  });
</script>

Node

npm i aubiojs
import aubio from "aubiojs";

const { Tempo } = await aubio();
const tempo = new Tempo(bufferSize, hopSize, sampleRate);
tempo.do(audioBuffer);
const bpm = tempo.getBpm();

Build

This project uses emscripten to compile aubio, make sure you have installed.

npm run build