Skip to content
Browser-based MIDI and audio sequencer
JavaScript CSS HTML
Branch: master
Clone or download

Latest commit

haszari Merge pull request #93 from haszari/try/electron-app
Package as electron app & with drag-drop deck loading
Latest commit 30e4a70 Jan 19, 2020


Type Name Latest commit message Commit time
Failed to load latest commit information.

Kytaime Throwdown

Browser-based MIDI and audio jamming sequencer.

action shot

How does this work?

  • Section: a chunk of song, e.g. chorus, verse, bridge, intro, ambient build, etc.
  • Part: an instrument line or voice within a song, e.g. drums, bass, sub, vocal sample, synth, arp, chords, pad.
  • Pattern: an individual loop for a part, e.g. bassline 1, main melody, alt verse chords, synth stab.

A song is loaded up horizontally in a coloured deck row. Each section is a cell (column) within the row, with the section name in the top left.

Within a section, the part names are listed as columns, with patterns underneath each part.

Only one section within a row can be played at a time. Within a part, only one pattern can be played at a time.

To toggle trigger for a section or pattern, click the name. Playing sections/patterns are bold, triggered sections/patterns are italics. When something is toggled, it will trigger at the next valid point. In json you can configure start/end beats for patterns, so that they can start and at beats other than default zero (beginning/end of the loop).

Where is the music data?

All pattern data is hard-coded in hjson.

Audio loops are loaded from local iTunes Media library. MIDI / note patterns are hard-coded in hjson song data.

If you want to experiment with this, you'll need to hack the hjson data, set up your own audio loops etc, and edit index.js to load your songs into decks at launch.


I wanted to experiment with a more fluid style of sequencing. Similar to Ableton Live and other pattern-grid based approaches, but encode more musically-relevant info into the pattern data so it's easy to experiment with different arrangements live.


  • Make it easy to experiment and jam with loop-based musical material without it sounding stale and repetitive.
  • Free the performer from having to toggle patterns at the exact right moment (or always quantised to loop boundaries).
  • Allow for more experimentation with synthesis, effects, mix and arrangement live.

How to build

You can’t perform that action at this time.