Skip to content

Latest commit

 

History

History
57 lines (48 loc) · 2.97 KB

.README.md

File metadata and controls

57 lines (48 loc) · 2.97 KB

Travis CI w/ Logo CodeCov codebeat badge Generic badge js-standard-style Known Vulnerabilities License: MIT

{"gitdown": "contents"}

MUSTEMI - MUSic ThEory for MIdi applications

This package provides the means to produce Midi note numbers from either numeric degrees relative to a given scale, note names (eg 'C', 'Eb'), chord names (eg 'Cm7b5'), or Nashville numbers. There are examples for each of these given below, as well as a couple of examples of using this package with a midi controller and a DAW. This package can be used both in a node application and in the browser.

Installation

npm install mustemi

Basic Examples

These demonstrate how to use the package to produce MIDI note numbers from scale degrees.

{"gitdown": "include", "file": "./examples/basic-examples.js"}

Chord Examples

In these examples, you'll see how to do the same for named chords.

{"gitdown": "include", "file": "./examples/chord-examples.js"}

Nashville Number System

These examples show how to produce MIDI note numbers from Nashville notation.

{"gitdown": "include", "file": "./examples/nashville-examples.js"}

MIDI examples

Here's a simple example of using the package to output MIDI for consumption by a DAW or some other MIDI-aware sound engine such as Kontakt Player. This uses a few basic midi utilities in the examples directory of this package. If you check out this repo so that you can run these MIDI examples, you'll need to install the 'midi' package. It's not listed as a devDependency in package.json, because travis-ci can't handle it (it requires a C code-build step). Also, your OS will need to have a way to open a virtual MIDI device. On the platform I'm using, Windows 10, this is made possible by using a 3rd-party tool such as the one I use: LoopMIDI

{"gitdown": "include", "file": "./examples/midi-examples.js"}

Simple MIDI chord arpeggiator

In this example, we take input from a MIDI keyboard, and output arpeggios rooted at the notes received from the keyboard.

{"gitdown": "include", "file": "./examples/midi-play-example.js"}