MIDI sequencer for your browser
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
css
dist
examples
instruments
js
src
stuff
.eslintrc
.gitignore
.gitmodules
.htaccess
.npmignore
README.md
gulpfile.js
index.html
package.json
yarn.lock

README.md

qambi

Qambi is a rebuild of heartbeat in es2016. It is still work in progress and not all functionality has been ported yet. If you need a well-tested sequencer for your project you'd better use heartbeat.

Installation

Recommended is to install qambi via npm:

$ npm install qambi

But you can also add qambi as an AMD module:

requirejs.config({
  paths: {
    qambi: 'https://abumarkub.org/qambi/dist/qambi-umd.min'
  }
})

Or as a global variable:

  <script src="https://abumarkub.org/qambi/dist/qambi-umd.min.js"></script>
  <script src="https://abumarkub.org/qambi/dist/globals.js"></script>

The last script file creates global variables for all qambi modules. This is not mandatory: if you add it you can for instance create a new song with new Song(), if you omit it you have to type new qambi.Song().

Examples

A simple example that plays back an existing MIDI file:

import qambi from 'qambi'

qambi.init({
    song: {
      type: 'Song',
      url: './midi/minute_waltz.mid'
    },
    piano: {
      type: 'Instrument',
      url: './instruments/heartbeat/city-piano-light.json'
    }
  })
  .then(data => {

    let {song, piano} = data

    song.getTracks().forEach(track => {
      track.setInstrument(piano)
    })

    song.play()
  })

Some live examples can be found here, more examples in the examples folder of the repository. Like qambi itself, all examples are written in es2016 so they need to be compiled to es5 before you can run them in a browser. In the repository I have included the compiled build.js files for all examples so you can run them right away. However, if you want to experiment with the examples you need to compile them before you see your changes. The simplest way to do this is:

  • cd into the examples folder and run npm install (only needed the first time)
  • cd into the folder of the example that you want to experiment with and run npm run watch

Now the main.js file will be compiled immediately after every edit of the file.

Playgrounds

You can try qambi without installation by using the qambi templates on jsbin or codepen

Documentation

Documentation is work in progress, see the wiki.