April 15, 2008


It is impractical for musicians, particularly pianists and guitarists, to activate the different functions of sequencing software by moving one of their hands to a computer keyboard (or a MIDI controller) in the middle of a live performance. This is the case when you decide to end the improvisation after a number of choruses have been played in a repeat cycle.

MIDI pedals could solve the problem, but they are too complex and expensive when commisurated to the very simple task required.

GarageBand, for instance, needs a <space> and a <c> to be pressed on the computer keyboard to switch the start/stop and activate/deactivate the repeat_cycle functions, respectively. When playing live, or during training sessions, musicians would like to concentrate on the tunes rather than worrying about the challenge of precisely press the right button on the computer keyboard at a very accurate time.

For this reason, and after having realized that no such a controller exists in the market, we developed and engineered PEDALASCII, a simple switch pedal (similar to a sustain pedal) capable to transmit the ‘cycle_repeat’ command along a USB interface to the Mac.


a cycle repeat pedal for garageband™

interested in this product? enquire about

No MIDI interface, connection and programming is necessary. Only a laptop with GarageBand and PEDALASCII are enough to build a music training/performing station allowing to play along previously recorded sequences where a chorus section is meant to be repeated for, say, improvisation purposes.

The demo video below shows how PEDALASCII turns the cycle_repeat (or loop) function ON and OFF in a GarageBand sequence of a jazz tune. In that sequence, the piano track is normally muted to practice both the theme and the improvisation.

PEDALASCII is available as:

  1. -a single pedal turning the CYCLE_REPEAT function ON and OFF, and

  2. -a double pedal performing both sequencing START/STOP and the CYCLE_REPEAT functions

  3. -a triple pedal for sequencing START/STOP, the CYCLE_REPEAT and the TRACK_MUTE functions