motive
v1.0.1
Published
JavaScript music theory library
Downloads
5
Readme
motive
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.