The Strummer
Making a keyboard sound like a (strummed) guitar by using:
- A MIDI keyboard to determine the chord
- An Arduino to determine which string is being played
- A piece of software to remap the keyboard chord to a guitar chord, and play only the notes that the Arduino says to.
The Circuit
In principle, the circuit is very simple - the Arduino contains six switches made from copper wire. Each digital input is a pull-down resister giving a 0 input on D3-D8. When the plectrum/pick makes contact with the string/wire, this completes a circuit to pull the input to 1.
The Arduino needs only the standard Firmata code to be loaded into it.
The Software
The Arduino needs only the standard Firmata code to be loaded into it.
The Processing code needs the dependancies:
- The Minibus
- Arduino (Firmata)
You can grab the code from https://github.com/MarquisdeGeek/Strummer
The LEGO Mount
This is nothing more complex that 6 wires threaded through the holes in a cuboid block of LEGO.
Some points to note, however:
The wires are wound tight around the LEGO, but inevitably become slack. Maybe solid core, or strips of metal would be better?
The tape on the coin is in the centre so it can make an electrical connection when strummed in either direction
Use a smooth sided coin, to stop the sound triggering repeated if/when the string hits the serrated edge. Brian May always used a sixpence as his pick, so I'm in good company ;) It's just a shame I don't have a sixpence!
Tape the unit to the desk.. it _will_ move.
Play It!
Et voila!
There are actually two modes of operation, if you look into the code.
By default the code runs in 'auto-strum' mode. This means that whenever a chord is recognized by the MIDI input, it is played through MIDI with a short (random) time interval between each string. This is set by:
``` bModeAutoStrum = true; ```
If you switch this to:
``` bModeAutoStrum = false; ```
you can use a suitably rigged Arduino to trigger the notes/strings individual, giving much more flexibility to the sound.
The software simply remaps the keyboard chord to a guitar chord, and plays only the notes that the Arduino says to.