Skip to content

xyproto/autodrums

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

29 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

autodrums logo

A randomized drum machine.

Play non-repeating drum beats.

This can be used for:

  • Creating a drum track for twelve tone music intended to be used for modern dance.
  • Generating audio that can be sampled and sliced.
  • Listening to experimental jazz drums for hours and hours on end.

Requirements

  • SDL2 (including sdl2_image and sdl2_mixer)
  • Download and extract the drum samples, either manually or by using make run.
  • g++ that supports C++20.
  • pkg-config
  • make

Build

Tested on Arch Linux and macOS.

  • Build with make.

Keybindings

  • Press r to randomize the samples.

  • Press p to pause toggle (try holding it down for an interesting effect).

  • Press space to toggle pause, with a 200ms fade-out.

  • Press esc to quit.

  • Press a to play a kick drum sound.

  • Press w or f to play a snare sound.

  • Press d to play a crash sound.

  • Press s to play a closed hi-hat sound.

  • Press q to play a tom sound.

  • Press e to play a ride sound.

  • Press x to play an open hi-hat sound.

  • Press return to play a snare sound with a tiny bit of delay added.

  • Press m to increase the tempo.

  • Press n to decrease the tempo.

  • Press y to use the current settings, don't change the samples.

  • Press i to toggle "random beat skip".

  • Press j to toggle "use random beat silence".

  • Press o to output the current sample indices.

Note that playing too many sounds at the same time does not always work.

  • keydrums is an alternative if the goal is just to play drums with the keyboard.

General info