motive

1.0.1 • Public • Published

motive NPM version

JavaScript music theory library

Install and Use

node:

npm install motive
# OR
yarn add motive
var motive = require('motive');

browser:

There is a UMD build of the library available in the dist directory.

<script src="path/to/motive.umd.js"></script>

This will expose motive in the global namespace.

alternatively, you can require motive.umd.js as an AMD module.

If you still use Bower, you can also install motive this way:

bower install motive

Examples

update 0.2.1 you now have direct access to the Note, Interval and Chord classes so they can be extended. These can be found under motive.constructors.

create a note:

var myNote = motive.note('Bb');
// you now have some info about your note
myNote.type;               // 'note'
myNote.pitchClass;         // 10
myNote.isEnharmonic('A#'); // true
myNote.intervalFrom('Eb'); // 'P5'
myNote.intervalTo('C');    // 'M2'

set the note's octave to make it an exact pitch:

myNote.setOctave(3);
// now that it's a pitch you have some additional info
myNote.type;           // 'pitch'
myNote.midi;           // 58
myNote.frequency;      // 233.0818....

make a new note by transposing:

var otherNote = myNote.up('P5');
// this creates a new note up a perfect fifth from your first note
otherNote.name;        // 'F'
otherNote.octave;      // 4

create a chord:

var myChord = motive.chord('Dm7');
// the root is a motive.Note object
myChord.root;     // '[note D]'
myChord.intervals;     // [ 'R', 'm3', 'P5', 'm7' ]
// this is an array of motive.Note objects representing the members
myChord.notes;   // [ '[note D]', '[note F]', '[note A]', '[note C]' ]

Contributing

See the notes in the README for the src directory.

License

Copyright (c) 2014 John Shanley.

Licensed under the MIT license.

Project created by John Shanley.

/motive/

    Package Sidebar

    Install

    npm i motive

    Weekly Downloads

    3

    Version

    1.0.1

    License

    none

    Unpacked Size

    400 kB

    Total Files

    59

    Last publish

    Collaborators

    • jshanley