ï~~Proceedings of the International Computer Music Conference 2011, University of Huddersfield, UK, 31 July - 5 August 2011 discontinuous and is only sampled at the beginning of each beat clock (length sampled = voices/stretch x beat length). Each input segment is enveloped with a stretched raised cosine function to minimize glitches. With this method, even large time stretch values can be used, and the characteristic sound of the phase vocoder time stretch can be applied to live input signals. The +spiralstretch plugin also implements a granular time stretch algorithm, which can be used as an alternate to the phase vocoder method, but this is not within the scope of this article. 5. PHASE MODULATION TRICKS Figure 3. +phasemash user interface. The plugin +phasemash is a collection of simple transformations to phase difference and band assignment. Most of these filters in this plugin have been developed over the years as class demonstrations on the effect of phase modulation in the phase vocoder. None would be difficult to recreate in Max or PD. The number of bands has a dramatic difference on all of the +phasemash processes. Large number of bands narrow the bandwidth and also increase the number of samples processed in each block, which increases the possible effect on phase. single sideband ring modulation frequency shifting. Phase nulling decreases the phase change between blocks, and when at 100% completely removes all phase change information, locking all harmonics to the lowest band of the phase vocoder(N x bands/Nyquist rate). This results in a typically harmonized or severely comb filtered sound. The phase noise control adds a random number to the phase change, in effect treating the entire sound as a residual signal. This effect is very effective at either removing pitch from a sound at a low band setting, or adding a scrambled ambiance when the number of bands is large. As phase is cumulative, a phase reset button is provided to reset the phase to the source signal. All of these transformations are mathematically simple, and have little to do with natural acoustics, but together in one interface give a wide variety of frequency and phase distortion effects. 6. FUTURE DIRECTIONS The plugins in the Pvoc Kit contain some novel and musically useful applications of the phase vocoder algorithm. However, there are obvious directions for further development of other new processes. In pitch shifting more could be done with other types of pitch sieves. Also, a compositional algorithm could intelligently control the sifting process. Finally, a cross-synthesis technique could be developed which analyzes two live signals and uses one sound's harmonics as a pitch sieve for the other. In time stretching, as mentioned earlier, having new notes initiate new layers or some other performer control of the layer initiation (as simple as a pedal or switch) could be very useful. In addition, as one of the main uses of this layered time stretching will probably be to create large masses of ambiance, a feedback or regeneration path would add greatly to this [9]. Finally, as this work was focused on developing new applications of the phase vocoder, not as much attention was given to the underlying phase vocoder engine. Enhancements such as phase-locking [4][8] and multiresolution peak-picking [3] would make obvious improvements to the overall quality of sound. 7. REFERENCES [1] Bogaards, N., R6bel, A. and Rodet, X. "Sound Analysis and Processing with AudioSculpt 2." Proceedings of the International Computer Music Conference, Miami, USA. 2004. amplitude phase - - - - - -. - sig2spect Ziff phase shift phase null phase noise band shift Figure 3. +phasemash block diagram. Band shifting is the simple reassignment of phase and amplitude from one band to another. An increment is added to each band number with bands wrapping aroundit the top and bottom. This provides a positive or negative frequency shift that is somewhat complicated by the wrapped bands. Phase shifting adds a static offsetfrom -t to m to the phase change between blocks. This also gives a linear frequency shift, but with phase cancellation resulting when adding phase offsets near to m or -in. Both of these methods are nice alternatives to the typical 145
Top of page Top of page