Bitrhythm is a live coding environment built using the awesome tone.js, nexus-ui and codemirror editor. It is also inspired by renoise tracker and the endless acid banger project. The code is available here


  1. Each pattern can be specified using binary, hexadecimal, decimal and patterns like “x000 x000 x000 x000”. isHit and sample_no can be used to identify the layer.
  2. You can add samples using the file upload. All samples are available as an array – samples – and the current one is called sample.
  3. Initialise samples, global variables and synthesisers using the once function and change the sample parameters using the tweak function. This function is executed only once when you select the Execute once / Execute tweak checkboxes otherwise the code is executed every tick.
  4. Use the edit checkbox to enable the edit mode which allows you to perform long edits and apply all of them in one go. If there is any syntax error, previous working code is evaled.


  1. Opening developer tools might slow down the execution a bit
  2. Using excessive delays and reverbs seems to cause some glitches
  3. Firefox doesn’t seem to work well with tone.js

Support Bitrhythm

I will be adding more features to like saving songs, midi, a synth, presets and samples in the future. I will also be adding more tutorials on tone.js, webaudio and live coding. My goal is to make bitrhythm easy for both professionals and music learners. Support my work to get regular updates. Supporters will also get free accounts when I add pro features!

You can also follow updates from my microblog or by entering your email below. Checkout my other apps, essays and music.


(c) 2021, Xyzzy Apps

compose new post
go to top
go to the next post or comment
go to the previous post or comment
toggle comment visibility
cancel edit post or comment