This project was undertaken during an internship at HARC with Principle Investigator Alex Warth and his group. The goal was to realise some of the ideas I'd been thinking about that were influenced by the principles of the lab (such as directness, liveness, short feedback loops) to the field of music tools.

These parameters often go by other names, delay time might be 'repeat rate' or 'delay', level is often 'mix', 'level' or intensity', and repeat if often called 'feedback'.

Classic delay effects were neat engineering tricks to emulate a natural phenomena: a sound repeating and fading out as it bounces around an environment. They were implemented in analogue hardware and had few parameters, usually just delay time (the amount of time between each repetition), level (the volume relative to the original signal) and repeat (how long it should go on repeating for).

These parameters often go by other names, delay time might be 'repeat rate' or 'delay', level is often 'mix', 'level' or intensity', and repeat if often called 'feedback'.

This essay is not primarily concerned with this “classic” type of delay, although some of the interface criticism can be applied to them, the focus is instead on digital and particularly “multi-tap” delays.

Like most music / audio software, delays often suffer from skeuomorphic design. The main issue with this use of skeuomorphic design is not aesthetic, but functional: it forces an interface that is based on an old medium (electronics hardware) onto one which it does not suit (software, often with a screen based interface). The result of this is not only an unsuitable interface, but also a failure to take advantage of the benefits of the new medium.

One of the drawbacks of the classic delay effect was the need to a physical control (usually a potentiometer) to set the delay time. Often the musician would have an idea of the tempo they wanted (or their drummer would!) but would have to navigate this vague interface to approximate the desired tempo, alternatively the musicians would have to adapt to the technology and match the tempo of the effect.

Boss DM-2 Delay Pedal

This problem was solved by the addition of “tap tempo”, where the desired tempo could be played in by tapping a button, this is definitely a more musical and humane interface and adheres to my principle of designing the interface as if communicating with another musician. Aside from cost, there is no reason that any delay effect should not have this feature, it very well fulfils one of the roles of an interface: to realise an existing idea as fluently as possible. While solving the problem of setting the tempo, the other two parameters (level and repeat) are usually still set with a “vintage” interface.

The difficulties of programming a desired delay are compounded when going beyond a single delay time, and instead having a delay pattern.

An example of a delay pattern

There are two main ways of achieving this: combining multiple single delay units, or using a “multi-tap” delay. A single delay unit will repeat a signal after a fixed amount of time, e.g. 0.5 seconds, but a multi-tap delay could repeat the signal at multiple times, e.g. 0.5 seconds and 0.75 seconds. When played in the right way, the pattern of delays can create a rich rhythmic texture.

Setting up two delay units to achieve this compounds the difficulties of getting the right settings and / or having to serve the equipment. In software the programming can be made easier by having a graphical editor.

Logic Pro X's Delay Designer

Logic Pro X's Delay Designer

*There is an off-putting delay when first pressed, and the only way to stop it is with the separate "Last Tap" button, which either requires moving the mouse which interferes with timing, or setting up a controller and assigning each button to a separate control

This interface also has a button for tapping in a desired delay pattern, which aside from being quite flawed*, only allows the timing of each tap to be performed, while the volume of each tap has to then be adjusted by hand.

*There is an off-putting delay when first pressed, and the only way to stop it is with the separate "Last Tap" button, which either requires moving the mouse which interferes with timing, or setting up a controller and assigning each button to a separate control

There must be a better way

An alternative to both the single delay interface, and this multi-tap delay interface is to just perform the delay as you would want it to sound and be done with it.

Programming a delay by example

This interface uses machine listening on the audio signal itself to determine the delay time and amplitude of each tap.

This interface really comes into its own when programming multi-tap delay patterns, as rather than having to combine multiple delay units, or program an on screen interface, we can just perform the pattern as we would like it sound.

Programming a delay pattern

This approach could also be incorporated into an effects pedal, so that delay patterns can be programmed in a device that doesn’t have space for a screen interface (or without linking to one).

A classic delay

Although, one advantage of having tap tempo as a foot control instead of using the audio signal is that it allows the tempo to be changed on the fly during a performance.

The same principle can be used for the classic type of delay, instead of the delay control or tap tempo, just ‘perform tempo’. Here the input sets just the delay parameter of a comb filter to get a classic echo effect.

Although, one advantage of having tap tempo as a foot control instead of using the audio signal is that it allows the tempo to be changed on the fly during a performance.

A classic echo effect

Dynamics

Because this interface is listening to both the timing and the dynamics of the input, rhythmic patterns with accents can be quickly created and used to build rich textures.

Programming a rhythm with dynamics

Controllers

As an alternative to audio input, delay patterns could also be performed/programmed using a controller.

Performing a delay with a controller

Exploration

Having a new way to program delays brings new creative possibilities for exploration, which is one of the key roles of any interface. Controllers, guitar signals and the voice all have different affordances to a traditional interface, so can lead to new delay ideas that wouldn’t have been possible (or likely to have been thought of).

Taking advantages of one of the affordances of keyboard controllers

Playing with dynamics on a keyboard controller

Beatbox to delay

Combined video

Further work

This is part of an ongoing project, if you find these ideas interesting you may enjoy those. The goal is to re-think many of the ways in which audio software is designed.

Get in touch

Are you a musician / pro audio company / producer / software developer / DJ / interaction designer / other? Do you find this work interesting? Have you own ideas that you want help realising? If this work interests you, or gives you strong feelings (for or against…) get in touch: arthur@arthurcarabott.com