Giter Club home page Giter Club logo

arduino-midi-drum's Introduction

Arduino MIDI drum

Simple DIY drum based on a Guitar hero Drum set.

Recognized as an USB MIDI controller, working in any MIDI capable device (Computers, Phones, etc...).

Resources needed

  • Arduino compatible micro-controller
    • With USB capabilities (e.g. atmega32u4)
  • Piezo sensors (As much as needed)
  • 1M Ω resistors (One for each piezo sensor)
  • Soldering iron and solder wire
  • (Optional but recommended) Guitar hero drum set

Example of circuit

Sensor configuration

On Sensor.h file you will find available configurations and definitions for each sensor out-of-the-box. Sensors should be reflected in MIDIDrum.ino at sensors array variable.

Note: I've found that some pads on my Guitar Hero Drum set work better with quadratic distribution of force instead of linearly mapping the analogRead to the MIDI velocity value. If you found that this does not work for you, simply change the sensibility property in your sensors for 1.

MIDI notes table

Please find below a table containing MIDI notes in decimal, these numbers shall be used when emitting notes.

Octave C C# D D# E F F# G G# A A# B
0 0 1 2 3 4 5 6 7 8 9 10 11
1 12 13 14 15 16 17 18 19 20 21 22 23
2 24 25 26 27 28 29 30 31 32 33 34 35
3 36 37 38 39 40 41 42 43 44 45 46 47
4 48 49 50 51 52 53 54 55 56 57 58 59
5 60 61 62 63 64 65 66 67 68 69 70 71
6 72 73 74 75 76 77 78 79 80 81 82 83
7 84 85 86 87 88 89 90 91 92 93 94 95

If further notes required check this generator script, used for generating the above table

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.