A few years ago I build a small javascript drum and bass machine. This was mainly build upon the <audio>-tag. While attending a MeetUp in Utrecht, Peter Peerdeman told in his pitch about DDP. After the pitch I was thinking about some possibilities where and how I could use this protocol. After about 5 minutes, pretty quick I think, my good ‘ol Beatmachine came to my mind. I thought about how cool it would be to make music with multiple persons at once.

Because of the speed of DDP and the easy implementation of the protocol I started of thinking how to get this all working. The solution would be a fully rewritten Beatmachine which uses the Web Audio API. This post is the first in a serie of ‘I’m not quite sure how many’ posts about the Beatmachine, the used techniques and probably more.

The beat machine is build around a couple of modules. The next couple of posts will explain more about the:

  • sounds-module: The main part which contains the buffering, manipulating and playing of the drum samples
  • channel-module: Controlling the sounds
  • sequencer: The part where the beats are created
  • bass synth: A monophonic, simple bass generator
  • connectivity: The DDP connection
  • and maybe more

The first part of the serie will be published in about one or two weeks. Hope to see you then again.