Scribbletune is a free and open source Node.js module that helps you construct musical ideas with JavaScript and export them as MIDI files. You can also use Scribbletune in the browser and directly in Ableton Live with Max for Live!

npm install scribbletune

Let's put something together. Create a file called chords.js and paste the following in it,

const scribble = require('scribbletune');
  const clips = ['1032', '2032', '4021', '3052'].map(order =>
      pattern: '[xx][xR]'.repeat(4),
      notes: scribble.arp({
        chords: 'Dm BbM Am FM BbM FM CM Gm',
        count: 8,
      accent: 'x-xx--xx',
  scribble.midi([].concat(...clips), 'chords.mid');

Now execute that file in the terminal at the same location as you saved it,

node chords.js

This will generate a MIDI file called chords.mid in the same location as you executed this script. You can import this file into any music production software like Ableton Live or even Garage Band! Here's how it sounded when I did that and rendered it with a couple of synths and the same chords on a pad sound:

Use Scribbletune in Ableton Live!

If you use Ableton Live, then you can download the Max for Live devices created with Scribbletune! Click here to learn more about using Scribbletune in Ableton Live through Max for Live.

Read the documentation or show your ❤️ on Github