Sign Up for Free

RunKit +

Try any Node.js package right in your browser

This is a playground to test code. It runs a full Node.js environment and already has all of npm’s 400,000 packages pre-installed, including musicjson-toolbox with all npm packages installed. Try it out:

var musicjsonToolbox = require("musicjson-toolbox")

This service is provided by RunKit and is not affiliated with npm, Inc or the package authors.

musicjson-toolbox v1.2.4

A toolbox for comparing musicjson objects

musicjson-toolbox

Build Status Test Coverage Code Climate

The project is still under construction.

The plan is to create a node toolbox for comparing musicJSON objects.

Installation

The module is preferably installed as node package via npm:

$ npm install --save musicjson-toolbox

Or install via bower:

$ bower install --save musicjson-toolbox

Example

For usage in browser, have a look at tools demo page or similarity demo page.

For use as node module refer to the following:

var MusicJsonToolbox = require('musicjson-toolbox');

var musicjson = {
  "attributes": {
    "divisions": 4,
    "clef": {"line": 2, "sign": "G"},
    "key": {"fifths": -1},
    "time": {"beats": "3", "beat-type": "4"}
  },
  measures: [
    {
      "attributes": {
        "repeat": {"left": false, "right": false}
      },
      "notes": [
        {
          "pitch": {
            "step": "C",
            "accidental": "flat",
            "octave": 4,
            "alter": -1
          },
          "rest": false,
          "duration": 2,
          "type": "eighth"
        },
        {
          "pitch": {
            "step": "F",
            "octave": 4,
            "alter": 0
          },
          "rest": false,
          "duration": 2,
          "type": "eighth"
        }
      ]
    }
  ]
}

var notes = MusicJsonToolbox.notes(musicjson, false, true); // outputs array of notes (cleared measure "lines")
var intervals = MusicJsonToolbox.intervals(notes); // outputs array of intervals
var parsons = MusicJsonToolbox.parsons(notes); // outputs array of parsons code
var ngrams = MusicJsonToolbox.ngrams(notes, 4); // generates ngrams of defined length from an array

API Documentation

For full API documentation have a look at API.md.

License

Licensed under the MIT License. See LICENSE for further information.

Metadata

RunKit is a free, in-browser JavaScript dev environment for prototyping Node.js code, with every npm package installed. Sign up to share your code.
Sign Up for Free