Academia.eduAcademia.edu

Phaseshaping Oscillator Algorithms For Musical Sound Synthesis

2010, Proceedings of the SMC Conferences

This paper focuses on phaseshaping techniques and their relation to classical abstract synthesis methods. Elementary polynomial and geometric phaseshapers, such as those based on the modulo operation and linear transformations, are investigated. They are then applied to the generation of classic and novel oscillator effects by using nested phaseshaping compositions. New oscillator algorithms introduced in this paper include single-oscillator hard sync, triangle modulation, efficient supersaw simulation, and sinusoidal waveshape modulation effects. The digital waveforms produced with phaseshaping techniques are generally discontinuous, which leads to aliasing artifacts. Aliasing can be effectively reduced by modifying samples around each discontinuity using the previously proposed polynomial bandlimited step function (polyBLEP) method.

PHASESHAPING OSCILLATOR ALGORITHMS FOR MUSICAL SOUND SYNTHESIS Jari Kleimola1, Victor Lazzarini2, Joseph Timoney2, and Vesa Välimäki1 1 2 Department of Signal Processing and Acoustics, Aalto University, Espoo, Finland Sound and Digital Music Technology Group, National University of Ireland, Maynooth, Ireland [email protected],[email protected],[email protected],[email protected] ABSTRACT This paper focuses on phaseshaping techniques and their relation to classical abstract synthesis methods. Elementary polynomial and geometric phaseshapers, such as those based on the modulo operation and linear transformations, are investigated. They are then applied to the generation of classic and novel oscillator effects by using nested phaseshaping compositions. New oscillator algorithms introduced in this paper include single-oscillator hard sync, triangle modulation, efficient supersaw simulation, and sinusoidal waveshape modulation effects. The digital waveforms produced with phaseshaping techniques are generally discontinuous, which leads to aliasing artifacts. Aliasing can be effectively reduced by modifying samples around each discontinuity using the previously proposed polynomial bandlimited step function (polyBLEP) method. 1. INTRODUCTION The generation of complex musical timbres has been approached from various angles in sound computing. One elegant solution, which has provided a wide scope for research and implementation, has been that of distortion techniques. Within this area, various techniques have been put forward, such as frequency modulation (FM) [3], phase distortion (PD) [5,9], nonlinear waveshaping [1,10,14,16], and discrete summation formulae (DSF) [11]. These are in many cases equivalent and can be used as alternative ways to describe and implement a given algorithm, as discussed in [7]. In particular, the waveshaping method provides a computationally simple means to produce potentially rich spectra. Its principle is quite straightforward, starting with a discrete-time sinusoidal signal, x (n) = sin(ωn) , (1) where ω is the angular frequency and n is the discrete sample index, a complex (i.e., non-sinusoidal) spectrum can be obtained via a mapping such as y (n) = f [x (n)], (2) Copyright: © 2010 Kleimola, Lazzarini, Timoney, and Välimäki. This is an open-access article distributed under the terms of the Creative Commons Attribution License 3.0 Unported, which permits unrestricted use, distribution, and reproduction in any medium, provided the original authors and source are credited. where f[.] is an arbitrary nonlinear function called a waveshaper. The well-known classic FM synthesis equation, for instance, can be rewritten as a waveshaping expression cos [ωc n + I x(n)] = cos(ωc n) cos [I x(n)] − sin(ωc n) sin [I x(n)] , (3) where ωc is the carrier frequency and the waveshapers cos(.) and sin(.) act on the sinusoidal modulation signal x(n) of Equation 1. Similarly, it is possible to describe PD as a form of waveshaping. This is demonstrated by starting with the following expression defining a sinusoidal oscillator: y (n) = cos[2πφ ( n) ]. (4) The function φ(n) is the normalized phase defined by φ (n) = [φ (n − 1) + f 0 / f s ] mod 1, (5) where f0 is the fundamental frequency, fs is the sampling rate, and x mod 1 = x – x, and x is the floor function denoting the largest integer that is not greater than x. To implement a PD oscillator, the phase is then applied to a nonlinear function g(x): y ( n) = cos{ 2π g [φ ( n )] }. (6) A linear g(x) would result in a sinusoid whose frequency is transposed. However, with nonlinear g(x), the shape of the output waveform is modified. From a waveshaping perspective, Equation 4 can be described as a sinusoidal waveshaper acting on a complex input waveform s(n) = 2πφ(n): y (n) = f [s(n)]. (7) This transforms the phase signal s(n) into the output signal y(n) by means of a waveshaper f(x) = cos(x). The waveshaper can be implemented as a function or as a lookup table that acts on the normalized value of the phase signal. The typical phase generator producing s(n) is the unipolar modulo counter φ(n) of Equation 5, which is also a unipolar geometric non-bandlimited sawtooth wave. In this vein, Equation 6 can be seen as based on a form of double waveshaping, where two functions, g(x) and cos(x), are applied to an input sawtooth wave φ(n). This is perfectly equivalent to the principle of distorting the phase function φ(n) of a sinusoidal oscillator. In this paper, the term ‘phaseshaping’ [7] is used to describe the generalization of the phase function distortion g[φ(n)]. The aim here is to investigate elementary polynomial and geometrical phaseshapers, and then discuss their application in classic and novel oscillator algorithms. 2. ELEMENTARY PHASESHAPERS The investigation is began by proposing two fundamental phaseshaping concepts, entitled nested phaseshaping and phaseshaper entities. Nested phaseshaping is related to function composition, in which the result of the inner function serves as the input to the outer function. Equation 8 shows an example of nesting at three levels, expressed in the basic form in Equation 8a and its equivalent shorthand notation in Equation 8b. y ( n ) = f {g [ h ( x ) ] }, y(n) = f g h ( x) . (8a) (8b) For the purposes of this paper, x is assumed to be a signal which flows from the inner function towards the outer ones, transforming at each step into the final shape given by the outmost function. The graphical representation of this composition is thus a signal block diagram, similar to the one shown in Figure 1. g lin [ x(n), a1, 0 ] = a1 x( n) + a 0 , (10) where a1 and a0 are the scaling and shifting factors, respectively. Assuming that x(n) is given by φ(n) – which is restricted to values between 0 and 1 – one notices that the output of glin is no longer constrained to the range [0,1], which is the expected normalized phase range of most waveshaper terminals of the shaper chain. The output of glin should therefore be normalized. One way of doing this is to apply the mod1 phaseshaper entity to obtain (11) y (n) = mod 1 glin x(n), a1, 0 . [ ] The effect of this normalization is seen in Figure 2, which plots the output of Equation 11 using parameter values a1 = 1.5 and a0 = 0. The sampling rate fs = 44.1 kHz is used in all examples of this paper. In this example, the modulo operation is activated first within the context of mod1 (producing the full-height phase cycle) and then within the context of glin (producing the fractional phase cycle)1. Parameter a1 thus controls the length of the phase period (when a1 > 1) or the slope of the phase signal (when a1 < 1). The shifting term a0 contributes to the DC offset of the produced phase signal. Figure 1. Graphical representation of Equation 8. It is further assumed that the source of the chain is the unipolar modulo counter φ(n) of Equation 5, and that the rightmost block is the waveshaper producing the final output signal. The blocks or functions between these two extremes are called phaseshapers, because they act on the phase signal φ(n) and because the input of the final waveshaper is essentially a phase signal as well. Having said this, note that in some cases the output of the chain is the phase signal itself instead of the product of the waveshaper. Phaseshaper entities are frequently used phaseshapers that have fixed predefined semantics. These include mod1 [x (n)] = x(n) mod 1 (9a) mod m [x(n), m] = x(n) mod m (9b) g b [x ( n ) ] = 2 x ( n ) − 1 (9c) g u [x(n)] = 0.5x(n) + 0.5 , (9d) where mod1 is the modulo-1 operation, modm is the realvalued modulo-m operation (m ∈ R), gb is the bipolar transformation converting a unipolar signal into its bipolar form, and gu its opposite unipolar transformation. 2.1 Ramp-like Fractional Period Phase Signals Phaseshaper entities gb and gu are linear transformations, whose general expression is given by the phaseshaper Figure 2. Ramp-like phase signal with a fractional phase period (a1 = 1.5 and a0 = 0). The fundamental frequency is f0 = 441 Hz, as in all plots of this section. 2.2 Triangular Fractional Period Phase Signals The unipolar modulo counter signal φ(n) can be transformed into a bipolar sawtooth waveform by applying the gb phaseshaper entity of Equation 9c. Then, by feeding this sawtooth waveform through the absolute value function, a unipolar triangular signal [20] is obtained, which can be further shaped by glin and mod1 to get phaseshaper (12) g tri [ x(n), a1,0 ] = mod1 g lin abs { g b [x(n)] } . Alternatively the abs{.} term of Equation 12 can be replaced with the piecewise linear triangular waveform definition when 0 ≤ x < 0.5,  2 x, s tri ( x) =  (13)  2 − 2 x, when 0.5 ≤ x ≤ 1. The fractional period phase signal produced by gtri is depicted in Figure 3, which shows that because the slope of the triangle wave is two times steeper than that of a 1 Here the term phase cycle is adapted to describe the segment that takes the phase value from 0 to 1, and the term phase period to describe the total period of the modulo counter signal φ(n). sawtooth, the frequency of the phase cycle is doubled. The phase period of gtri therefore contains two complete periods of Equation 11 and, as expected, the latter period is reversed in time. Because of this symmetry, gtri produces less dramatic effects on the output of the shaper chain. 2.4 Tilted Triangular Fractional Period Phase Signals Instead of subtracting two sawtooth waveforms from each other, subtracting two out-of-phase parabolic waveforms produces a variable-slope triangle wave [13]. Using phaseshaping techniques, this can be implemented as { } 2 2 svtri [ x(n), w ] = aT g b [x(n)] − g b [x(n − w)] + bT , (16) where w is the duty width, aT = 1/[8(w – w2)], and bT = 0.5. Although Equation 16 may be used as a standalone phase generator, it can be further generalized by shaping it with a glin and mod1 sequence. This results in the phaseshaper Figure 3. Triangular phase signal with a fractional phase period (a1 = 1.5 and a0 = 0). 2.3 Rectangular Signals The unipolar modulo counter signal φ(n) can also be shaped into a unipolar square wave by first replacing the abs{.} term of gtri with the signum function and then applying the unipolar transformation entity gu to the result. Unfortunately, this construction does not allow for variable-width duty cycles. Variable-width pulse signals can be generated by subtracting two out-of-phase ramp signals from each other [19], and then by offsetting the difference with the duty width, it is possible to obtain their unipolar representations. The generating phaseshaper is given by g pulse [ x(n), w ] = x(n) − x(n + wP) + w , s vtri [x(n)] . (17) Figure 5 plots a fractional period phase signal generated by gvtri. Comparing this with Figure 3, it is noted that the slopes of the up- and down-ramp cycles are weighted by the duty width w. As expected, with w = 0.5 the slopes become equal in magnitude, at which point gvtri and gtri produce identical results. Therefore, Equation 17 can be seen as a generalization of Equation 12. (14) where w defines the pulse width (0 ≤ w ≤ 1) and P = fs/f0 is the period of x(n). Since Equation 14 is linear and does not thus introduce aliasing, it is well suited for situations where x(n) is a bandlimited or an antialiased signal. However, if aliasing problems are not a concern, the trivial unipolar pulse waveform definition  1, when 0 ≤ x < w s pulse ( x) =   0, when w ≤ x ≤ 1 g vtri [ x(n), w, a1, 0 ] = mod 1 g lin (15) is able to produce similar results more efficiently. Although a rectangular signal is not a useful phase signal by itself, it may be combined with other phaseshapers for two-segment phase sequences. For instance, the expression for the variable-slope phase signal of Figure 4 is x(n){1 + gpulse[x(n) – 1, w]}. Another application for rectangular signals is the algebraic sawtooth shifter described in [4]. Figure 5. Variable-slope triangular phase signal with a fractional phase period (a1 = 1.5, a0 = 0, w = 0.75). 2.5 Phase Signals with Ripples The definition of the general modulo operation of Equation 9b is (18) x(n) mod m = x(n) − m x(n) / m , where m ∈ R is the real-valued wrapping modulus. For efficiency reasons, practical applications usually set m = 1, making Equation 18 equal to the fractional part of x(n). In some applications, however, it is desirable to generate a phaseshaper whose output is decorated with smallamplitude ripples. This can be achieved by utilizing the phaseshaper entity modm (with a low fractional m value), as in g ripple [x(n), m] = x(n) + modm [x(n), m] . (19) An example phase signal generated by this phaseshaper is shown in Figure 6. Figure 4. Variable-slope phase signal (w = 0.5). Figure 6. Phase signal with ripples (m = 0.05). 3. OSCILLATOR ALGORITHMS This section describes the application of the elementary phaseshapers in classic and novel oscillator algorithms. 3.1 Waveslices The waveforms produced by physical analog oscillators diverge from trivial piecewise linear sawtooth, pulse, and triangle waveshapes. Although these deviations are subtle in the spectral domain, they contribute to the characteristic sound of the synthesizer [15]. These nonlinear waveshapes may be approximated with higher order polynomial or sinusoidal waveshapers. For example, Figure 7a shows an approximation of the Minimoog Voyager sawtooth waveform, which was generated using y (n) = g b sin { 2π g lin [ φ (n), a1 = 0.25 ] } . (20) Parameter a1 is set to a value smaller than unity so that only a portion of the entire sine wave period is included in the output. The spectrum of the waveform produced by Equation 20 is shown in Figure 7b. As can be seen, the abrupt transition caused by the modulo operation of φ(n) introduces a questionable amount of aliasing. tion (polyBLEP) [18], which is a simplification of the minBLEP method originally proposed by Brandt [2]. PolyBLEP modifies the values of two samples that are located before and after the modulo transition by evaluating a second-order correction polynomial and adding the result to the values of the two original waveform samples. Figures 7c and 7d show the aliasing-suppressed waveform and spectrum of Equation 20 after applying the polyBLEP method. The aliasing is suppressed considerably at low and middle frequencies and, although the artifacts are still clearly visible in the spectrum plot, their effect is greatly diminished because of the properties of human hearing. The effect of transition smoothing is also visible in the time domain as the minima of the waveform do not reach the level of –1. Interestingly, the same effect is also observable in the original analog Minimoog Voyager waveform. This suggests yet another phaseshaper entity that applies the polyBLEP method to its input signal, thereby performing a soft modulo-1 operation. This antialiasing phaseshaper is denoted as mod s [x(n), Ts , h ] = polyBLEP [x(n), Ts , h ] , (21) where Ts = f0 / fs is the phase increment of signal x(n) and h is the maximum height of the discontinuity. The sign of h should be negative for falling transitions. A detailed explanation of the polyBLEP is out of the scope of this paper, but interested readers may consult Reference [18] and the source code published in the companion page of this paper2. 3.3 Oscillator Synchronization In classic oscillator hard synchronization (hardsync), the phase of the slave oscillator is reset each time the master oscillator finishes its cycle [2,17]. As shown in Figure 2, modulo-based phaseshaping is capable of producing similar effects by first utilizing the linear transformation phaseshaper glin and then processing the result with the modulo-1 phaseshaper entity mod1. The latter operation synthesizes the free-running cycles of the slave oscillator, while the former generates the hardsynced transition. A computationally efficient trivial single-oscillator hardsync implementation is therefore given by the phaseshaping composition y(n) = g b mod 1 g lin [x(n), a1 ] = 2 [a1 x(n) mod 1] − 1 . (22) Figure 7. Approximation of the Minimoog Voyager sawtooth waveform. (a,b) Trivial and (c,d) aliasingsuppressed implementation. The thin lines of (a) and (c) plot the phase signal, while the thick lines show the waveshaper output (f0 = 1245 Hz). 3.2 Antialiasing The amount of aliasing can be suppressed by smoothing the transition in the time domain. An efficient method to accomplish this is the polynomial bandlimited step func- The synchronization rate between the master and the slave oscillator is modeled by a1, which is given in terms of the classic hardsync implementation as a 1 = f slave / f master , (23) where fslave is the slave and fmaster is the master oscillator frequency, respectively. Figure 8 shows the waveform and spectrum produced by the aliasing-suppressed singleoscillator hardsync algorithm for a1 = 2.5. 2 http://www.acoustics.hut.fi/go/smc2010-phaseshaping where spulse,b is the bipolar transformation of Equation 15. Both forms produce classic PWM when 0 < a1 = w < 1. When a1 > 1, Equation 25b produces a trivial hardsynced square wave. 3.5 Triangle Modulation One of the first commercial virtual analog synthesizers, the Roland JP-8000, introduced three original oscillator effects [15]. One of these effects is triangle modulation (see Figure 10a), which can be implemented using a scaled bipolar triangular phase signal xT(n) with a ceiling function: xT (n) = aTM g tri [ x(n), 2, − 1 ] Figure 8. (top) Waveform and (bottom) spectrum of the single-oscillator hardsync algorithm in which the polyBLEP method is used to suppress aliasing (a1 = 2.5, f0 = 1245 Hz). Instead of resetting the phase of the slave, oscillator soft synchronization (softsync) inverts the phase increment of the slave oscillator at the points of synchronization. The trivial single-oscillator softsync implementation utilizes the output of the phaseshaper gtri of Equation 12 either directly or indirectly through a triangular waveshaper function stri{x}: y ( n) = g b g tri [x( n), a1 ] y ( n) = g b s tri { g tri [x( n), a1 ] }. where aTM is the modulation amount in the range [0.7, 1], and x denotes the ceiling function, which returns the smallest integer not less than x. Figure 10b shows both signals of Equation 26 with aTM = 0.82, corresponding to the Roland JP-8000 triangle modulation offset parameter value 64/127. (24b) Figure 9. Trivial single-oscillator softsync effect. The thin line plots the phase signal, while the thick line shows the result of the waveshaping acting on that phase, as in all waveform plots in the subsequent examples (a1 = 1.25 and f0 = 441 Hz). 3.4 Pulse-width Modulation Pulse-width modulation (PWM) changes the relative durations of the high and low state segments of a rectangular signal, while the frequency and the amplitude of the signal remain constant [17]. This can be achieved in two ways: y(n) = spulse,b {mod 1 g lin [ x(n), a1 ] }, (26) (24a) Figure 9 shows the phase signal gtri (thin line) on top of the resulting waveshaping operation of Equation 24b (thick line). The phase signal does not produce softsync in a strict sense, because the slopes of both ramps are inverted after the synchronization instant. However, this does not have a profound effect on the produced timbre. y(n) = g b g pulse [x(n), w ] y (n) = 2 (xT (n) − xT (n) − 0.5 ) , (25a) (25b) Figure 10. (a) Roland JP-8000 triangle modulation and (b) its simulation. The thin line plots the scaled phase signal xT(n), while the thick line shows the output signal y(n) (aTM = 0.82, f0 = 261.63 Hz, and JP-8000 offset parameter = 64/127). Higher amounts of modulation increase the slope of the ramp and the magnitude of the v-shaped segments. At the maximum modulation aTM = 1 the magnitude of the vshapes becomes 0.5. Figure 11 shows the effect of aTM to the lower half of the baseband spectrum. As can be seen, the spectrum consists of odd harmonics only, the 3rd partial being the most prominent throughout the entire parameter range. The relative strengths of other harmonics change dynamically with aTM, producing sweeping formant-like oscillator synchronization type effects. The timbre that is produced by the maximum modulation amount aTM = 1 can also be synthesized using the bitwise logical modulation [6]. This is not surprising, because the bitwise XOR operation is related to the staircase functions mod(.) and ceiling(.) employed here. The expression for the equivalent logical triangle modulation is Although Equation 28 is capable of synthesizing characteristic spectrally rich supersaw timbres, the sound is still not a convincing simulation of a multi-oscillator setup. This is due to a lack of timbral variations over time, which is a distinctive feature of a slightly detuned oscillator bank. To overcome this, a low frequency oscillator (LFO) may be connected to the m1 parameter of the algorithm, as shown in Figure 13. Figure 11. The effect of the modulation amount aTM to the Roland JP-8000 triangle modulation spectrum. y (n) = s tri { 2 g tri [x (n) ] } xor 0.5. (27) 3.6 Supersaw The most well-known Roland JP-8000 oscillator effect is supersaw, which emulates a bank of seven slightly detuned oscillators [15]. Previously, an algorithm for producing the supersaw signal using the bandlimited impulse-train method has been proposed in [12]. However, instead of utilizing seven oscillators, our supersaw simulation employs only one sinusoidal waveshaper that is driven by a slightly modified gripple phaseshaper: y ( n ) = g b sin { mod m [x ( n ), m1 ] + mod m [x ( n ), m 2 ] } , (28) where m1 and m2 are the ripple amounts, and x(n) = glin[φ(n),a1] = a1φ(n). The difference between the gripple phaseshaper of Equation 19 and that of Equation 28 is the added modulo operation of the first term. Figure 12 shows three waveforms produced by the supersaw simulation algorithm, using three different ripple amounts m1. Since a1 < 2π, only a portion of the entire sine wave cycle is used as a virtual analog sawtooth oscillator. However, because a1 > 1, the phase signal extends beyond a single phase cycle – thereby introducing an additional discontinuity to the ripple-edged waveform. Figure 12. Supersaw simulation. (a) m1 = 0.75, (b) m1 = 0.5, (c) m1 = 0.25 (a1 = 1.5, m2 = 0.88, and f0 = 441 Hz). Figure 13. Block diagram of the supersaw simulation algorithm. Figure 13 shows also that nested phaseshaping is a practical tool that provides a modular approach to sound synthesis and is therefore instantly applicable in systems such as Max, Pure Data, and Reaktor. However, some implementations might opt for minimizing the number of function calls in the code. An example of this is shown in Equation 22. 3.7 Phaseshaping for a Sinusoidal Waveshaper 3.7.1 Sinusoid with a Variable-slope Ramp Phase Figure 14a shows the output of a sinusoidal waveshaper acting on the variable-slope phase signal of Figure 4. The waveshape consists of concatenated half- and full-cycle sine wave segments alternating at a frequency ratio of 1:2. The spectrum contains all harmonics and decays Figure 14. Variable-slope phase signal applied to a sinusoidal waveshaper. (a) Duty width w = 0.50, (b) duty width w = 0.85 (f0 = 392 Hz). fairly rapidly because the waveform has discontinuities only in its derivatives. The phase signal of Figure 14a was generated by multiplying a ramp signal with a square waveform. By replacing the 50% duty-width square with a variable width pulse signal, it becomes possible to alter the relative widths of the half- and full-cycle sine segments, as shown in Figure 14b. As can be seen, the fundamental frequency component is reinforced as the width of the full-cycle segment is increased. The spectrum also shows modest formant regions that sweep across the baseband when the pulse width is modulated with an LFO. 3.7.2 Sinusoid with a Variable-slope Triangular Phase The variable-slope triangular phase generator gvtri of Equation 17 is closely related to the phase shape of the previous section. However, there are two major differences as can be seen in Figure 15. First, applying a sinusoidal waveshaper to the output of gvtri produces a more prominent formant region, whose position may be controlled using the a1 parameter. Second, outside this formant region, every fourth harmonic is missing from the spectrum. The aliasing artifacts are also more pronounced, because the symmetrical nature of the phaseshaper is reflected as the sharp peaks of the waveshaped output. Figure 15. Variable-slope triangular phase signal applied to a sinusoidal waveshaper (a1 = 1.5, w = 0.75, and f0 = 392 Hz). Decreasing the value of parameter a1 below 1 bends the phase signal from a perfect triangle (a1 = 0.5) towards a rising ramp shape (a1 = 0). At a1 = 0.5, the waveshaper output is a half-cycle sine wave, which gradually bends towards the extreme quarter-cycle segment shown in Figure 7. In between, the spectral tilt becomes less steep, thereby making it possible to control the amount of high end spectral content, as shown in Figure 16. Lower values of a1 produce more high end content, and at the same time, the amount of aliasing increases. By comparing Figure 16 to Figure 7, it is noted that polyBLEP provides better aliasing suppression than the sinusoidal waveshaping in effect here. Figure 16. Bent sinusoidal half-cycle (a1 = 0.25, w = 0.2, and f0 = 1245 Hz). 4. CONCLUSIONS This paper investigated elementary phaseshapers, which were based on low-level entities such as modulo operations and linear transformations. All elementary phaseshapers were derived from the unipolar modulo counter signal, which is a common building block of digital sound synthesis systems. The elementary phaseshapers were then arranged into nested higher-level topologies to form polynomial and geometrical phaseshaper compositions. These included fractional period, variable-width and variable-slope ramp, triangular, rectangular, and ripple-edged phaseshapers. The phaseshaper compositions were finally utilized in classic and novel oscillator effect algorithms. The novel algorithms comprised single-oscillator hardsync, triangle modulation, efficient supersaw simulation, and sinusoidal waveshape modulation effects. These synthesis algorithms produce evolving spectra, which can be manipulated with a continuous controller device or a control rate function generator, using a compact set of synthesis parameters. The algorithms are most useful in providing animation to the otherwise static timbres, and as such, respond well to secondary control streams that carry minute articulated expressions of the performer. Because of the modulo operation, the produced waveforms are generally discontinuous, leading to aliasing artifacts. However, it was found that a previously proposed polynomial bandlimited step function (polyBLEP) is an efficient method to reduce aliasing. The authors believe that nested phaseshaping is a flexible tool that has many practical uses in the design and implementation of modular sound synthesis applications. Furthermore, because the phase signal has a profound effect on the produced timbre, phaseshaping may also be used in sculpting yet-unheard sonic material. Online sound examples and software are available at http://www.acoustics.hut.fi/go/smc2010-phaseshaping. 5. ACKNOWLEDGMENTS This work has been supported by the European Union as part of the 7th Framework Programme (SAME project, ref. 215749) and by the Academy of Finland (project no. 122815). 6. REFERENCES [1] D. Arfib: “Digital Synthesis of Complex Spectra by Means of Multiplication of Nonlinear Distorted Sine Waves,” Journal of Audio Engineering Society, Vol. 27, No. 10, pp. 757–768, 1979. [2] E. Brandt: “Hard Sync Without Aliasing,” Proceedings of the International Computer Music Conference (ICMC 2001), Havana, Cuba, Sept. 1722, 2001. [3] J. Chowning: “The Synthesis of Complex Audio Spectra by Means of Frequency Modulation,” Journal of Audio Engineering Society, Vol. 21, No. 7, pp. 526–534, 1973. [4] B. Hutchins: “Analog Circuits for Sound Animation,” Journal of Audio Engineering Society, Vol. 29, No. 11, pp. 814–820, 1981. [5] M. Ishibashi: “Electronic Musical Instrument,” U.S. Patent 4,658,691, 1987. [6] J. Kleimola: “Audio Synthesis by Bitwise Logical Modulation,” Proceedings of the 11th International Conference on Digital Audio Effects (DAFx-08), pp. 67–70, 2008. [7] V. Lazzarini and J. Timoney: “New Perspectives on Distortion Synthesis for Virtual Analog Oscillators,” Computer Music Journal, Vol. 34, No. 1, pp. 28–40, 2010. [8] V. Lazzarini, J. Timoney, and T. Lysaght: “Nonlinear Distortion Synthesis Using the SplitSideband Method, with Applications to Adaptive Signal Processing,” Journal of Audio Engineering Society, Vol. 56, No. 9, pp. 684–695, 2008. [9] V. Lazzarini, J. Timoney, J. Pekonen, and V. Välimäki: “Adaptive Phase Distortion Synthesis,” Proceedings of the 12th International Conference on Digital Audio Effects (DAFx-09), 2009. [10] M. Le Brun: “Digital Waveshaping Synthesis,” Journal of Audio Engineering Society, Vol. 27, No. 4, pp. 250–266, 1979. [11] J.A. Moorer: “The Synthesis of Complex Audio Spectra by Means of Discrete Summation Formulae,” Journal of Audio Engineering Society, Vol. 24, No. 9, pp. 717–727, 1976. [12] J. Nam, V. Välimäki, J.S. Abel, and J.O. Smith: “Efficient Antialiasing Oscillator Algorithms Using Low-order Fractional Delay Filters,” IEEE Transactions on Audio, Speech, and Language Processing, Vol. 18, No. 4, pp. 773–785, 2010. [13] M. Puckette: The Theory and Technique of Electronic Music, World Scientific Press, 2007. [14] J.-C. Risset: “An Introductory Catalog of ComputerSynthesized Sounds,” Bell Laboratories, 1969. Published as part of The Historical CD of Digital Sound Synthesis, Computer Music Currents 13, Wergo WER 20332, 1995. [15] Roland: JP-8000 Synthesizer Owner’s Manual, Roland Corporation, 1996. [16] R.A. Schaefer: “Electronic Musical Tone Production by Nonlinear Waveshaping,” Journal of Audio Engineering Society, Vol. 18, No. 4, pp. 413–417, 1970. [17] A. Strange: Electronic Music: Systems, Techniques and Controls, William C Brown Pub., 1983. [18] V. Välimäki and A. Huovilainen: “Antialiasing Oscillators in Subtractive Synthesis,” IEEE Signal Processing Magazine, Vol. 24, No. 2, pp. 116–125, 2007. [19] V. Välimäki and A. Huovilainen: “Oscillator and Filter Algorithms for Virtual Analog Synthesis,” Computer Music Journal, Vol. 30, No. 2, pp. 19–31, 2006. [20] V. Välimäki, J. Nam, J.O. Smith, and J.S. Abel: “Alias-Suppressed Oscillators Based on Differentiated Polynomial Waveforms,” IEEE Transactions on Audio, Speech, and Language Processing, Vol. 18, No. 4, pp. 786–798, 2010.