openmusic-drum-machine

A Web Audio drum machine

Usage no npm install needed!

<script type="module">
  import openmusicDrumMachine from 'https://cdn.skypack.dev/openmusic-drum-machine';
</script>

README

openmusic-drum-machine

A Web Audio drum machine

Installing and building

Clone the repository, and then copy the files to your own folder and initialise your own git repository.

Install build dependencies, etc with:

npm install

To build a bundle for the demo:

npm run build

Demo files will be placed in build/. Open build/index.html to access the demo.

Remember to rebuild the bundle each time you make a change to the demo or node code. Alternatively you can also run the watch task, so it will watch for file changes and then rebuild the bundle for you:

npm run watch

Usage

Create an instance of the node by passing it an audio context:

var audioContext = new AudioContext();
var DrumMachine = require('openmusic-drum-machine');
var drumMachine = DrumMachine(audioContext);

The instance can be connected like any other Web Audio node:

var gainNode = audioContext.createGain();
drumMachine.connect(gainNode);

Make sure to run ready() before you try to start it, otherwise the samples won't be ready to play and you won't be able to listen to anything:

drumMachine.ready().then(function(resolve) {
    drumMachine.start();
});