Giter VIP home page Giter VIP logo

autodrums's Introduction

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

autodrums's People

Contributors

xyproto avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

autodrums's Issues

Could you provide an installer

To make this tool more accessible would you consider creating an AppImage or a DEB package?

Personally I had no problem compiling the code but your typical musician my not be inclined or have the skill set to compile source code. Do it for them.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.