^{1,a)}, Jussi Pekonen

^{1}and Juhan Nam

^{2}

### Abstract

Digital subtractive synthesis is a popular music synthesis method, which requires oscillators that are aliasing-free in a perceptual sense. It is a research challenge to find computationally efficient waveform generation algorithms that produce similar-sounding signals to analog music synthesizers but which are free from audible aliasing. A technique for approximately bandlimited waveform generation is considered that is based on a polynomial correction function, which is defined as the difference of a non-bandlimited step function and a polynomial approximation of the ideal bandlimited step function. It is shown that the ideal bandlimited step function is equivalent to the sine integral, and that integrated polynomialinterpolation methods can successfully approximate it. Integrated Lagrange interpolation and B-spline basis functions are considered for polynomial approximation. The polynomial correction function can be added onto samples around each discontinuity in a non-bandlimited waveform to suppress aliasing. Comparison against previously known methods shows that the proposed technique yields the best tradeoff between computational cost and sound quality. The superior method amongst those considered in this study is the integrated third-order B-spline correction function, which offers perceptually aliasing-free sawtooth emulation up to the fundamental frequency of 7.8 kHz at the sample rate of 44.1 kHz.

The authors would like to thank Professor Marina Bosi, Andreas Franck, and Dr. Tim Stilson for helpful discussions, and Luis Costa and Julian Parker for proofreading this paper. This work has been partly financed by the Academy of Finland (Project Nos. 122815 and 126310).

I. INTRODUCTION

II. BANDLIMITED STEP FUNCTIONS

III. CORRECTION BASED ON POLYNOMIALINTERPOLATION

A. Integrated Lagrange interpolation

B. Integrated B-spline interpolation

IV. EVALUATION OF THE PROPOSED ALGORITHMS

A. The highest aliasing-free fundamental frequency

B. Computational analysis on the level of aliasing

C. Estimation of the computational load

V. CONCLUSION

### Key Topics

- Polynomials
- 76.0
- Interpolation
- 51.0
- Nuclear magnetic resonance
- 14.0
- Hearing
- 12.0
- Pianos
- 10.0

## Figures

When the continuous-time sinc pulse in (a) is integrated, the ideal bandlimited step function, the sine integral, shown in (b) (solid line) is obtained. The unit step function is also shown in (b) (dashed line). The BLEP residual, the difference between the bandlimited step function and the unit step function, is plotted in (c). *T* is the sampling interval used, i.e., *T* = 1/*f* _{s}.

When the continuous-time sinc pulse in (a) is integrated, the ideal bandlimited step function, the sine integral, shown in (b) (solid line) is obtained. The unit step function is also shown in (b) (dashed line). The BLEP residual, the difference between the bandlimited step function and the unit step function, is plotted in (c). *T* is the sampling interval used, i.e., *T* = 1/*f* _{s}.

(a) Continuous-time (solid line) and trivially sampled (dots) rectangular signal, (b) truncated BLEP residual functions of length 6*T* (solid line) centered at each discontinuity and inverted for downward steps, and (c) an approximately bandlimited signal that is obtained by adding sampled signals (a) and (b). The fractional delay associated with each discontinuity is given in (b).

(a) Continuous-time (solid line) and trivially sampled (dots) rectangular signal, (b) truncated BLEP residual functions of length 6*T* (solid line) centered at each discontinuity and inverted for downward steps, and (c) an approximately bandlimited signal that is obtained by adding sampled signals (a) and (b). The fractional delay associated with each discontinuity is given in (b).

Principle for computing the fractional delay *d* for the localization of the BLEP residual (a) at the start of a new fundamental period and (b) at the downward shift of the rectangular pulse wave with duty cycle *P*. The step size *f* _{0} *T* and the sampling interval *T* form the sides of a right triangle which is similar to the right triangles from which fractional delay *d* can be solved for (c) a sawtooth wave or (d) a rectangular pulse wave.

Principle for computing the fractional delay *d* for the localization of the BLEP residual (a) at the start of a new fundamental period and (b) at the downward shift of the rectangular pulse wave with duty cycle *P*. The step size *f* _{0} *T* and the sampling interval *T* form the sides of a right triangle which is similar to the right triangles from which fractional delay *d* can be solved for (c) a sawtooth wave or (d) a rectangular pulse wave.

Continuous-time impulse responses of the (a) first-order, (d) second-order, and (g) third-order Lagrange interpolation, their corresponding integrated impulse responses (solid line) together with the unit step function (dashed line) in (b), (e), and (h), and their differences, i.e., polynomial approximations of the BLEP residual function, in (c), (f), and (i), respectively.

Continuous-time impulse responses of the (a) first-order, (d) second-order, and (g) third-order Lagrange interpolation, their corresponding integrated impulse responses (solid line) together with the unit step function (dashed line) in (b), (e), and (h), and their differences, i.e., polynomial approximations of the BLEP residual function, in (c), (f), and (i), respectively.

Sawtooth waveforms produced by the (a) second-order, (c) third-order, and (e) fourth-order Lagrange PolyBLEP approaches and their respective magnitude spectra (b), (d), and (f). The crosses indicate the nominal levels of harmonics of the sawtooth wave. The dashed lines show the spectral envelope of the synthetic harmonics and the first generation of aliased spectral components in each case.

Sawtooth waveforms produced by the (a) second-order, (c) third-order, and (e) fourth-order Lagrange PolyBLEP approaches and their respective magnitude spectra (b), (d), and (f). The crosses indicate the nominal levels of harmonics of the sawtooth wave. The dashed lines show the spectral envelope of the synthetic harmonics and the first generation of aliased spectral components in each case.

Signal-processing structure that implements the polynomial correction of a trivial waveform, such as a rectangular signal. The polynomial BLEP method based on the integrated first-order Lagrange interpolation (see Table I) is shown.

Signal-processing structure that implements the polynomial correction of a trivial waveform, such as a rectangular signal. The polynomial BLEP method based on the integrated first-order Lagrange interpolation (see Table I) is shown.

Continuous-time impulse responses of the (a) second-order and (d) third-order B-spline interpolation, the corresponding integrated impulse responses (solid line) together with the unit step function (dashed line) in (b) and (e), and the corresponding BLEP residuals in (c) and (f).

Continuous-time impulse responses of the (a) second-order and (d) third-order B-spline interpolation, the corresponding integrated impulse responses (solid line) together with the unit step function (dashed line) in (b) and (e), and the corresponding BLEP residuals in (c) and (f).

Sawtooth waveforms produced by the (a) third-order and (c) fourth-order B-spline PolyBLEP methods and their respective magnitude spectra (b) and (d).

Sawtooth waveforms produced by the (a) third-order and (c) fourth-order B-spline PolyBLEP methods and their respective magnitude spectra (b) and (d).

Spectrum of a sawtooth wave with fundamental frequency of 6645 Hz using the sample rate of 44.1 kHz corrected with the (a) second-order, (b) third-order, and (c) fourth-order Lagrange PolyBLEP approach. The desired magnitudes of the non-aliased components are marked with crosses. The dashed line represents the maximum of the hearing threshold and the masking threshold of the non-aliased components, assuming that the sawtooth wave is played back at 96 dB SPL. The aliased components above the perceptual threshold are indicated with circles.

Spectrum of a sawtooth wave with fundamental frequency of 6645 Hz using the sample rate of 44.1 kHz corrected with the (a) second-order, (b) third-order, and (c) fourth-order Lagrange PolyBLEP approach. The desired magnitudes of the non-aliased components are marked with crosses. The dashed line represents the maximum of the hearing threshold and the masking threshold of the non-aliased components, assuming that the sawtooth wave is played back at 96 dB SPL. The aliased components above the perceptual threshold are indicated with circles.

Spectrum of a sawtooth wave with fundamental frequency of 6645 Hz corrected with the (a) third-order and (b) fourth-order B-spline PolyBLEP methods.

Spectrum of a sawtooth wave with fundamental frequency of 6645 Hz corrected with the (a) third-order and (b) fourth-order B-spline PolyBLEP methods.

Noise-to-mask ratio (NMR) figures for sawtooth waveforms obtained by trivial sampling (plus signs), four- (dots) and 32-point (squares) look-up table BLEP method (LUT-BLEP), and the second-order Lagrange PolyBLEP method (diamonds) as a function of the fundamental frequency. The NMR of the second-order DPW algorithm is plotted with dashed line for comparison.

Noise-to-mask ratio (NMR) figures for sawtooth waveforms obtained by trivial sampling (plus signs), four- (dots) and 32-point (squares) look-up table BLEP method (LUT-BLEP), and the second-order Lagrange PolyBLEP method (diamonds) as a function of the fundamental frequency. The NMR of the second-order DPW algorithm is plotted with dashed line for comparison.

NMR figures for sawtooth waveforms obtained by (a) the third-order Lagrange (triangles), the fourth-order Lagrange (crosses), (b) the third-order B-spline (circles), and the fourth-order B-spline PolyBLEP methods (stars).

NMR figures for sawtooth waveforms obtained by (a) the third-order Lagrange (triangles), the fourth-order Lagrange (crosses), (b) the third-order B-spline (circles), and the fourth-order B-spline PolyBLEP methods (stars).

## Tables

First-order (*N* = 1) Lagrange polynomials, their integrated forms, and the corresponding BLEP residual polynomials, which correspond to the shifted integrated Lagrange polynomials from which a unit step function has been subtracted. Span refers to the time interval on which each polynomial is applied. Time 0 refers to the mid-point of the correction function and *T* is the sampling interval.

First-order (*N* = 1) Lagrange polynomials, their integrated forms, and the corresponding BLEP residual polynomials, which correspond to the shifted integrated Lagrange polynomials from which a unit step function has been subtracted. Span refers to the time interval on which each polynomial is applied. Time 0 refers to the mid-point of the correction function and *T* is the sampling interval.

Second-order (*N* = 2) Lagrange polynomials, their integrated forms, and the corresponding BLEP residuals.

Second-order (*N* = 2) Lagrange polynomials, their integrated forms, and the corresponding BLEP residuals.

Third-order (*N* = 3) Lagrange polynomials, their integrated forms, and the corresponding BLEP residual polynomials.

Third-order (*N* = 3) Lagrange polynomials, their integrated forms, and the corresponding BLEP residual polynomials.

Coefficients *b* _{0} and *b* _{1} of the second-order post-processing equalizing FIR filter [see Eq. (16)] for the proposed algorithms.

Coefficients *b* _{0} and *b* _{1} of the second-order post-processing equalizing FIR filter [see Eq. (16)] for the proposed algorithms.

Spectral envelopes of second-, third-, and fourth-order Lagrange PolyBLEP functions.

Spectral envelopes of second-, third-, and fourth-order Lagrange PolyBLEP functions.

Second-order (*N* = 2) B-spline polynomials, their integrated forms, and the corresponding BLEP residuals.

Second-order (*N* = 2) B-spline polynomials, their integrated forms, and the corresponding BLEP residuals.

Third-order (*N* = 3) B-spline polynomials, their integrated forms, and the corresponding BLEP residual polynomials.

Third-order (*N* = 3) B-spline polynomials, their integrated forms, and the corresponding BLEP residual polynomials.

Highest fundamental frequency that is perceptually aliasing-free for a sawtooth signal corrected with a polynomial (Lagrange and B-spline) or a look-up table BLEP (LUT-BLEP) method. In the LUT-BLEP residuals, the cut-off frequency scaling factor of *α* = 1, an oversampling factor of 64, and a Blackman function were used, and *K* indicates the number of samples to be corrected.

Highest fundamental frequency that is perceptually aliasing-free for a sawtooth signal corrected with a polynomial (Lagrange and B-spline) or a look-up table BLEP (LUT-BLEP) method. In the LUT-BLEP residuals, the cut-off frequency scaling factor of *α* = 1, an oversampling factor of 64, and a Blackman function were used, and *K* indicates the number of samples to be corrected.

Additional operations required in even-order PolyBLEP approaches with respect to the trivial signal generation in one period of oscillation.

Additional operations required in even-order PolyBLEP approaches with respect to the trivial signal generation in one period of oscillation.

Article metrics loading...

Full text loading...

Commenting has been disabled for this content