Use simple JavaScript Strings
and Arrays
to generate rhythms and musical patterns. Directly use the names of scales or chords in your code to get arrays which you can mash up using Array methods in ways you hadn't imagined before! Create clips of musical ideas and export MIDI files which you can import in Ableton Live, Reason, GarageBand or any music creation software that accepts MIDI files.
Install
npm install scribbletune
Use it to create a MIDI clip by running a JS file from your terminal using node.js
const scribble = require('scribbletune');
const clip = scribble.clip({
notes: scribble.scale('C4 major'),
pattern: 'x'.repeat(7) + '_'
});
scribble.midi(clip, 'c-major.mid');
You can use Scribbletune even in the browser with Tone.js!. There are a couple of ways to do this. A quick and dirty way is to make sure to pull in Tone.js followed by the latest browser version of Scribbletune.
<script src="https://cdnjs.cloudflare.com/ajax/libs/tone/<LATEST-VERSION-FROM-CDNJS>/Tone.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/scribbletune/<LATEST-VERSION-FROM-CDNJS>/scribbletune.js"></script>
This will expose a global object called scribble
which you can directly use to run the methods from Scribbletune in conjunction with Tone.js
The recommended way for the browser, however, is to import it like this
const scribble = require('scribbletune/browser');
This will provide the same API but augment it a bit to support browser based functionality.
Similarly, you can use the Scribbletune API for Max for Live development by doing
const scribble = require('scribbletune/max');
Just like the browser
version this too will enable the same API but with some added bells and whistles for Max for Live.
Visit scribbletune.com for documentation, tutorials and examples! Listen to music generated with Scribbletune on Soundcloud.