Page  00000044 Shifty Looping: meter-aware, non-repeating rhythmic loops Matthew Wright CCRMA (Stanford) and CNMAT (UC Berkeley), matt@ {ccrma.Stanford,cnmat.Berkeley}.edu Abstract Shifty looping, like traditional looping, can generate metric material of arbitrary durations matching the timbres, expressive timings and other parameters of an input sample. Unlike traditional looping, it avoids exact repetition by continuously changing the loop points in real time. A simple analysis procedure semi-automatically marks large numbers of potential metrically correct loops. Shifty Looping Looping, i.e., continuously repeating audio segments in the time domain, is a popular electronic music technique dating back at least to Harry Chamberlin's tape loops of the 1940s.1 Advantages of looping include the ability to stretch out a small amount of material (e.g., a few bars of recorded drumming) to arbitrary duration while retaining the microtiming, timbres, and other expressiveness of the original performance. The major disadvantage (besides the fact that contemporary Western art music tends to eschew any sensation of meter or pulse) is that the incessant exact repetition quickly becomes noticeable and then monotonous. Shifty Looping is an attempt to retain the benefits of traditional looping while avoiding monotony by constantly shifting the loop points, hence the name. In particular, shifty looping is designed for musical material with a clear sense of both rhythm and meter (though there are no restrictions on particular meters or musical styles); the output of the algorithm retains the same rhythm and meter of the input but can go on indefinitely. Traditional looping requires the prior marking of the beginning and ending points of a single loop; these define the segment of audio that will be repeated in synthesis. The duration of the loop determines the meter of the looped result, but the beginning and end of the loop do not need to be at perceived downbeats. Shifty looping requires the prior identification of multiple overlapping loops. As with traditional looping, each loop must contain an integer number of metric units and therefore must begin and end in the same metrical position. The analysis tool uses Nao Tokui's slice- MSP external to find the times of percussive onsets, then looks for pairs of onsets separated by approximately an integer multiple of the user-supplied duration of a single bar; each such pair is a potential loop point. In synthesis, shifty looping continuously adjusts the loop points on every repetition. The net result is that the Ihttp://egrefin.free.fr/eng/mellotron/chamberlinE.html playback position in the original sound continuously moves forward except when it sporadically jumps backwards by an integer number of bars. A key point is that the change from old to new loop points must occur during the segment of time in which the two loops overlap. The current implementation simply uses a random walk among the possible loop points, with the goal of maintaining variety. More sophisticated systems are envisioned in which high-level user controls (e.g., "density") indirectly control the selection of the next loop points. Additional features include the output of a "metrical sync" signal, a sawtooth wave varying continuously from 0 (downbeat) to 1 (the next downbeat); because loops can start at any point in the metrical cycle this is not the same as the position within the loop points. For input material with large amounts of per-note timing deviation, the durations of each loop might differ considerably, so there is an optional feature to normalize the duration of all loops to maintain a perfectly steady tempo (without changing relative timing within any loop). To alleviate some of the effect of the spectral shifts caused by the resulting changes in playback rate, another optional feature plays the shifty looped audio output through resonant filters with unchanging frequency responses. Future work includes improved automation of the analysis step, especially finding loop points without audible discontinuities. The notion of multiple individual loops could be generalized to a "wormhole matrix" showing all allowable jump destinations for each given jump origin. p u .i4 ii i iii f iiiit i Figure 1: Magnitude spectrum of three minutes of shifty looping (blue, upper curve) versus traditional looping (red, lower curve). Note the unnaturally sharp peaks in the lower curve near 0.5 and 1 Hertz 44