beepbox

1.0.0 • Public • Published

Beepbox

A simple library for playing beepbox songs. This library is a more polished version of what I made for my 2018 JS13kGames entry!

This is an open source project under the MIT license, see LICENSE.md for additional information.

Usage

Create an audio context and load a song

import Audio from 'beepbox';
import song from './song.json';
const player = new Audio(song);

Play a beepbox song (once)

/**
 * Play the loaded clip once.
 *
 * @returns {Object} 
 *   The generic node from Audio.generateNode() for this sequence.
 */
player.play();

Loop a beepbox song (infinitely)

/**
 * Play the loaded clip infinitely.
 *
 * @returns {Object} 
 *   The generic node from Audio.generateNode() for this sequence.
 */
player.loop();

Play a single note

/**
 * Play a single note with the given params.
 *
 * @param {Number} freq 
 *   The note frequency to play.
 * @param {Number} len 
 *   The duration to play the note (seconds).
 * @param {Number} off 
 *   The time offset to play the note (seconds).
 * @param {String} type 
 *   The OscillatorNode type to use; https://developer.mozilla.org/en-US/docs/Web/API/OscillatorNode/type
 * @param {Number} gain 
 *   The gain (volume) to play the note at (0.0 - 1.0).
 *
 * @returns {Object} 
 *   The generic node from Audio.generateNode() for this sequence.
 */
player.note(freq, len, off, type, gain);

Example

'use strict';
 
import Audio from 'beepbox';
import song from './song.json';
 
const player = new Audio(song);
player.play();

Contact

Readme

Keywords

none

Package Sidebar

Install

npm i beepbox

Weekly Downloads

0

Version

1.0.0

License

MIT

Unpacked Size

57.9 kB

Total Files

15

Last publish

Collaborators

  • zackurben