Let’s make a simple drum machine and learn how to generate a drum pattern, add swing, reuse knobs to control different parameters and use classes to organize the code.
Case study: a simple drum machine
…with bass drum, snare and hihats! We’ll be able to change pattern for every drum, speed and swing.
We will look at a simple yet efficient algorithm for generating euclidean-like rhythms and explore the famous LM-1’s shuffle aka swing.
Even with a limited number of knobs it’s possible to build a fully functional instrument. We will look at how to route a knob output to different parameters.
Organizing the program code into modules/classes and communicating between them.
As the complexity of an instrument grows we need to organize the code in a way that helps us design and reason about our software. And the classes are perfect vehicle for doing this. We will look at how we can structure a drum machine.
Will go further into C/C++ programming topics
We will touch on simple templates, arrays and other topics.
Vlad is software engineer with over 15 years of experience. Designing software for mobile devices by day and quirky sound machines by night. Vlad is the engineer behind the Spotykach generative looper we have released at Superbooth 2023.