APHASIA: GLITCH EFFECT PLUG-IN

Craig Hanson Stanford University Center for Computer Research in Music and Acoustics

ABSTRACT experimenting with repetitive electronic music by scratching the surface of compact discs to induce skipping In this paper, the author provides a brief historical context and create some of the first “glitched” musical material [1]. of the “glitch” effect and a musical perspective on the At this time, it took artists such as Oval great amounts of traditional uses of this effect in contemporary electronic effort to use glitch in a musical manner. It was difficult to music. This historical perspective is used as motivation for control the skips of a compact disc and the material had to the development of the forthcoming VST plug-in, Aphasia, be played back, re-recorded and played back again several which addresses issues of expressiveness in the effect. times to attain the desired result. Nevertheless, the effect Following is a discussion of the plug-in design in Matlab was captivating. and its real-time implementation in VST format. Overall project results are then presented. While the glitch effect found its home in experimental electronic music, it soon proliferated to commonplace in 1. INTRODUCTION such genres as techno, trip-hop, drum and bass, and dance music. This was facilitated by the use of digital audio in The glitch effect has become a standard audio effect in computers. Computer programs were devised to provide today’s music industry. The effect can be used as a the same kinds of glitched sound generated by skipping a startling, haunting and sometimes beautiful addition to cd directly in digital audio workstations. Granular both pre-composed and live musical material. Indeed, this synthesizers were also developed which could produce effect has launched an entire genre of music. However, as similar effects. These initial developments were based it is used in most applications, glitch lacks expressive mainly on randomized re-triggering of input sounds. quality. Many glitch plug-ins use randomized stuttering or re-triggering algorithms that disregard musical articulation. As VST plug-ins and other general-purpose DAW effects The plug-in presented here attempts to apply programmed processors became commonplace, individuals began musical gesture to the glitch effect. exploring the glitch effect plug-in. Nick Collins developed the BBCut library in SuperCollider [2]. This library was 2. THE ARTFORM OF GLITCH the basis for the LiveCut plug-in. LiveCut offers many parameters for glitch effect manipulation, but little control 2.1. Origins over musical articulation of the effect. Kieran Foster developed one of the first controlled glitch effect plug-ins, The artistic use of stuttered sound for musical fulfilment “Glitch” [3]. This plug-in offered a tempo-synced glitch can be traced back to the origins of rhythm in music itself. with a myriad of control parameters for the artist. It was a One may even go so far as to say the effect has its roots in great first step towards a more musical use of glitch. the earliest drummers of the world who beat upon drumheads made of animal hide to create repetitive In 2006, the popular dance music artist BT released an rhythmic articulations for musical enjoyment. The use of entitled “This Binary Universe”. In the author’s minute rhythmic alterations and repetition of sound have opinion, this album presented the first use of glitch as a always been a staple of the musical mind. truly musical aesthetic. The album features dream-like soundscapes and the micro-manipulation of both acoustic 2.2. Computerized Musical Control and electronic sounds. Manipulations were achieved With the advent of computer technology, it became through the use of the “Beat Stutter” plug-in, a program possible to have complete control over musical developed by BT in CSound to sculpt the sound of the articulations below the threshold of perception. This fact album. The sounds on this album have become a standard was exploited by computer programmers and artists who by which I will measure the effectiveness of the plug-in developed applications that manipulated the micro-timing presented here. of musical material. Artists, such as Oval, began 3. GLITCH EFFECT DEMYSTIFIED

There are many ways to achieve an effective glitch effect. The use of glitch as an artform may sometimes call for smooth transitions between glitched segments or it may call for jarring irregularities. This glitch effect most often uses windowing of the glitched waveform segments to eliminate harsh artifacts that are created when a waveform is simply chopped off. However, sometimes it is desirable to eliminate windowing in the effect and cause that kind of disruption. The following sub-sections provide descriptions of popular methods for achieving the glitch 4.2. Implementation effect. The initial Matlab implementation makes use simple matrix manipulation for silence insertion effect and a 3.1. Retriggering single delay line for the retriggering effect (note: the VST Retriggering is the process by which a sound is stored in plug-in will use a delay line to achieve silence insertion, an audio buffer and played back, usually in a rapid fashion retriggering and stuttering effects). The delay line is a that is quantized to a host tempo. Retriggering can be used circular buffer manipulated by read and write pointers. to generate granulated soundscapes or harsh, repetitive The write pointer moves on a sample by sample basis, musical statements. writing audio into the buffer. The read pointer moves algorithmically through the buffer, pulling out audio and 3.2. Stuttering developing a final audio matrix, that is played via the “play” button. This Matlab implementation is compatible Stuttering is similar to re-triggering, except that a stutter with a standard stereo wave file, therefore two delay lines effect does not necessarily use the same sample material are used (left and right). for every glitch. A stutter may be more appropriate when attempting to glitch a live audio input of melodic material. 4.2.1. Silence Insertion The melodic material can be sampled and short segments of it may be stuttered while keeping the melodic phrasing Silence insertion is achieved by “chopping” out evenly relatively in tact. spaced segments of silence throughout the input wave file. . The spacing slider controls how long audio will play in 3.3. Silence Insertion between the silent segments. The glitch length slider controls how long the silence lasts in each silent segment. Silence may be inserted at quantized (or non-quantized) The silence is inserted through the use of an inverse hann time intervals throughout a live or pre-recorded audio window of the length called for by the length slider. By stream to achieve a glitch effect. When using silence multiplying the inverse hann window with the incoming insertion, it is typically desirable to window the audio just audio, a smooth segment of silence is introduced without before the silence is presented. any unwanted artifacts.

4.2.2. Retriggering 4. MATLAB IMPLEMENTATION Retriggering is achieved through a circular buffer. A 4.1. Overview segment of incoming audio (length determined by slider) is added to the delay line in evenly spaced intervals. The The initial prototype of the glitch effect was done in read pointer pulls out these evenly spaced segments of Matlab. This application, entitled Aphasia, was designed audio, multiplies them by a hann window and places them to glitch a waveform using retriggering or silence into a matrix for playback. Through this method, the same insertion. The user can choose the method of glitch along segment of audio may be triggered over and over again, with the length of the glitch and spacing in between resulting in the desired effect. glitches by simply manipulating sliders in the GUI shown below. 4.2.3. Articulation The Matlab GUI does not contain any control over musical articulations within the effects. It was necessary to begin work on the VST implementation prior to finalizing this portion of the Matlab prototype due to time constraints. Methods of articulation are covered in the next section. 5. VST PLUG-IN

5.1. Overview The VST Plug-In is the real-time implementation of the glitch effect that can be used with any VST host. The author has used Steinberg’s VST SDK 2.4 to develop the plug-in in the C++ programming language.

5.2. Development The VST plug-in is currently in development. I have implemented the matlab algorithms already presented in VST. Over the coming weeks, I will be implementing musical articulations in the plug-in along with controls for manipulating these articulations.

6. RESULTS

Results pending.

7. REFERENCES

[1] Cascone, K. “The Aestetics of Failure: ‘Post-Digital’ Tendencies in Contemporary Computer Music,” in The Computer Music Journal 24:4 MIT Press. Winter 2002. [2] Collins, N. “The BBCut Library,” Proceedings of the International Computer Music Conference. 2002. [3] http://illformed.org/plugins/glitch/.