Skip to content

Instantly share code, notes, and snippets.

@EvanBurnette
Last active August 5, 2020 04:49
Show Gist options
  • Save EvanBurnette/3abe03ab83efe7c9419443392b7da604 to your computer and use it in GitHub Desktop.
Save EvanBurnette/3abe03ab83efe7c9419443392b7da604 to your computer and use it in GitHub Desktop.
Description of a setup intended to control multiple instruments by myself in a live performance without pressing spacebar on a laptop
Hardware:
Box:
Every piece of the system fits into a standard carry-on size box which clamshells together
The top contains the drum machine, mixer, reverb, and synthesizer
The bottom contains a guitar pedal board and an integrated midi controller
The box has legs that elevate and offset the top above the bottom
The box has a single power input (110V AC) and most power adapters are safely hidden inside the box
The box has ventilation holes for the power adapters
The box has wheels and a handle to move it easily
Integrated Midi Controller
User input:
5 Footswitches built into the base of the pedalboard
1. Prev pattern button
2. Play/Stop button
3. Next pattern button
4. Undo button (for guitar looper pedal)
5. Tap tempo button
2 External footswitches to control mic looper
1. Switch to sync mic looper with downbeat of approaching measure
2. Switch to create harmony pyramids automatically (not yet implemented)
Expression pedal control via modded wah pedal
When the Wah effect is not active, the user can control the energy of the drums via the wah pedal
3 energy levels of drums are available:
Pedal fully back: Just bass and snare are audible
Pedal in the middle: Bass, snare, closed high-hat, and synth part 4, are audible
Pedal fully forward: All instruments on the drum machine are audible
The wah effect functions normally when engaged
Microcontroller: Arduino
Outputs:
Midi out to drum machine
Midi out to Infinity Looper
Mic looper switch control (connected to loop and stop buttons inside mic looper)
5V output to potentiometer of wah pedal (when effect is not engaged)
Drum Machine: KORG ER-1 Electribe
Inputs:
Midi in from midi controller
Control panel with many buttons and knobs
Outputs:
Audio out to mixer
Midi thru to volca keys
Synth: Volca Keys
Inputs:
Midi in from drum machine
Control panel with touch strip and many parameter knobs
Guitar: HSS Stratocaster with bass pickup
Inputs:
Single tone knob (reduced from 2 in stock version)
3 way toggle switch to control bass pickup output
Up: Bass off
Middle: E string active
Down: E and A string active
Normal electric guitar
Outputs:
TRS (Tip, Ring, Sleeve) connector:
Bass out on Ring
Guitar out on Tip (so guitar still works with TS/Normal Instrument Cable)
Microphone: Audix OM6
Input:
User voice
Outputs:
Out to mic looper
Mixer: Mackie 8 channel mixer
Inputs:
Pigtronics Infinity Looper (guitar and bass)
Ditto Mic Looper (vocals)
Electribe Drum Machine
Volca Keys synth
EHX Holy Grail Neo (reverb return)
Knobs for Preamp level, main level, eq, aux (reverb) level, for each input channel
Outputs:
House out
Aux out (to EHX Holy Grail Neo)
Guitar pedals:
Modified Dunlop Crybaby Wah Pedal
Inputs:
TRS (Tip, Ring, Sleeve) from guitar (bass is on Ring, guitar is on Tip, sleeve is grounded)
Pedal to control expression or wah effect
Switch to toggle between expression and wah effect
5V in from microcontroller
Outputs:
Isolated guitar signal (no bass)
Isolated bass signal (no guitar)
Expression output to microcontroller (grounded when wah effect is active)
Ibanez Tubescreamer - guitar in from wah pedal, guitar out
Boss DD-3 Digital Delay Pedal- guitar in, guitar out
Behringer UT100 Tremelo pedal- guitar in, guitar out
Mixing cable:
Inputs:
Guitar signal from tremelo pedal
Bass signal from DS-1 pedal
Outputs:
Pigtronix infinity looper
EHX Programmable Octave Generator (POG) - bass in from wah pedal, bass out
Boss DS-1 Distortion Pedal - bass in from POG, bass out to mixer cable
Pigtronix Infinity Looper -
Inputs:
Combined bass and guitar signal from mixer cable
Midi from midi controller
1 stop button
2 loop buttons for different loops
Buttons and knobs to control other settings and parameters
Outputs: Guitar and Bass to mixer
Other pedals:
Reverb: EHX Holy Grail Neo - in/out (aux) to mixer
TC Helicon Ditto Mic Looper
Inputs:
Mic
Midi controller has direct access to internal pins of loop and stop footswitches
Existing loop and stop switches are still accessible by user
Output: To mixer
Twin momentary stomp pedal
Inputs:
Two momentary footswitches
Outputs:
Two channel TRS (Tip, Ring, Sleeve) to midi controller
Midi Controller Software:
User controls 7 footswitches and 1 expression pedal on the midi controller hardware
The user will commonly navigate to a prepared pattern with the next pattern and previous pattern buttons before beginning a song
The user will stomp the tap tempo button in time to set the tempo on the midi controller
The user will stomp the play button to start the drum machine
While playing, the software will send 24 realtime midi sync messages per beat
The user can trigger the onboard loop footswitches on the Infinity Looper to start a synced loop and can depress the undo button on the midi controller to start overdubbing that loop.
After the user has overdubbed on the Ifinity looper, the user can press the undo button on the midi controller to undo and redo the last recorded overdub.
The midi controller software only needs to send the undo command to the Infinity Looper which will change its behavior based on it's own state.
To record a synced loop on the mic looper, the user presses the first external footswitch and the software will automatically time a trigger of the mic looper on the first beat of the upcoming measure
The mic looper does not stop on global stop(but it could be programmed to do so)
The user can rock the wah pedal (without activating the wah effect) back and forth to access 3 different mute states on the drum machine to achieve different energy levels for the drum beats during playback.
One digital pin on the Arduino of the midi controller sends 5V out to the potentiometer of the wah pedal (when the effect is not active)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment