Skip to content

qiuxiang/aubiojs

Repository files navigation

aubiojs npm-badge build-badge

Online Demo

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

  • pitch detection
  • tempo detection

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