Skip to content
A musical note that can be played in a browser. Plays for however long it has been defined to.
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
doc/noteplayer/1.2.1
lib
src
test
.gitignore
LICENSE.md
README.md
gulpfile.js
package.json

README.md

NOTEPLAYER.JS

Installation:

You may import the code into an existing node.js project or import it directly into your HTML code

  • Node module import
# local install to your project
npm install --save-dev noteplayer
// import module into your js code
var np = require('noteplayer') 
  • plain JS import
<!-- minified version, not human friendly, 55kb-->
<script type="text/javascript" src="notePlayer.min.js"></script>
<!-- uncompressed version, human friendly, 416kb -->
<script type="text/javascript" src="notePlayer.js"></script>

The module is instanciated in the object np, which you can use right away

np.buildFromName("C4").play()

Constructors

There are several ways to instanciate the class:

  • buildFromFrequency(freq,[audioContext])

Builds a notePlayer from a specific frequence. audioContext is created if not provided.

n = np.buildFromFrequency(440);     //will return a A4
n = np.buildFromFrequency(439);     //will return a A4
n = np.buildFromFrequency(460);     //will return a A#4
  • buildFromKeyNb(noteKeyNb, [audioContext])

Builds a notePlayer from a specific piano key number audioContext is created if not provided

n = np.buildFromKeyNb(49);     //will return a A4
  • buildFromName(noteName, [audioContext])

    Builds a notePlayer from a specific musical note name audioContext is created if not provided

n = np.buildFromName("A4")     //will return a A4

Methods

  • play([callback])

    Plays the note

n = np.buildFromName("A4")
o = n.play(function(){
  console.log("end play")
})

The note will be played for a given duration (random by default, or using setDuration() ). The function however returns the oscillator itself, which you can use to call for stop() should you want to stop the sound at an earlier time (courtesy of Jag)

  • Setters:
    • setAudioContext(audioContext)
    • setDestinationNode(node)
    • setDuration(duration)
    • setVolume(volume)
    • setVerbose(bool)
    • setAttack(duration)
    • setRelease(duration)
You can’t perform that action at this time.