A FIXED-POINT RECURSIVE DIGITAL OSCILLATOR FOR ADDITIVE SYNTHESIS OF AUDIO Todd Hodes, John Hauser, John Wawrzynek Computer Science Division University of California, Berkeley { hodes j hauser ,j ohnw } Qcs. berkeley.edu ABSTRACT This paper summarizes our work adapting a recursive digital resonator for use on sixteen-bit fixed-point hardware. Our modified oscillator is a two-pole filter that maintains frequency precision a t a cost of two additional operations per filter sample. The new filter’s error properties are ex- pressly matched to use in the range of frequencies relevant to additive synthesis of digital audio and sinusoidal mod- elling of speech in order to minimize the additional com- putational overhead. We present the algorithm, an error analysis, a performance analysis, and measurements of an implementation on a fixed-point vector microprocessor sys- tem. 1. INTRODUCTION There are many benefits to the use of additive synthesis for sound production in computer music applications, and anal- ogously, in sinusoidal modelling of speech. These include ex- pressive musical control over line timbral distinctions, per- ceptually relevant parameterizations, sample rate indepen- dence of timbre description, availability of many analysis techniques, high control bandwidth, and multiple dimen- sions for resource allocation/optimization [I]. Its use also leverages existing tools and structural manipulation tech- niques for the domain [2, 31. The challenge of the additive technique lies in its appetite for large numbers of separately controllable sinusoidal partials. Use of the sinusoidal additive technique requires two key decisions: which hardware architecture to use (general purpose, custom-designed ASIC, DSPs, etc.), and which sinusoid generation algorithm to use on that architecture. For the former, one promising avenue is the use of digi- tal signal processors or vector (or “multimedia”) processors as a natural fit to the data type and associated computa- tional demands. Unfortunately, such architectures do not always support full-range (i.e., floating-point) arithmetic; fixed-pint may be all that is provided. Assuming the de- cision is made to target such an architecture, the second question becomes that of determining which algorithm to use given this constraint. A number of sinusoidal partial production techniques have been reported in the literature. They all tend to fall into one of three classes: those that implement recursive filters, those using table-lookup, or those that work in the 0-7803-5041 -3/99 $10.00 0 1999 IEEE 993 Adrian Freed, David Wessel Center for New Music and Audio Technologies University of California, Berkeley { adrian,wessel}Qcnmat . berkeley.edu transform-domain using techniques such as the inverse fast fourier transform [4]. Recursive oscillators may be preferred over other approaches for one or more reasons: the inherent fine-grain exposure of data parallelism, the far more limited demand on the memory system compared to table-lookups, the lower induced latency than with a transform-domain ap- proach, the latency flexibility, and/or the attainable phase accuracy. This paper summarizes our developments for recursive oscillator generation on reduced-precision arithmetic hard- ware. We adapt a recursive digital resonator for use on fixed-point hardware, modifying the oscillating filter to main- tain greatly enhanced frequency precision at the cost of two additional operations per filter sample. The new filter’s er- ror properties are expressly tailored for use in the range of frequencies relevant to digital audio, as opposed to general- purpose applications, in order to minimize computational overhead required to obtain the additional accuracy. We present the algorithm, an error analysis, a performance analysis, and measurements of an implementation of the algorithm on a fixed-point vector microprocessor system. 2. METHOD DESCRIPTION The particular recursive form we use is a constant-gain dig- ital resonator [5, 61. Requiring only a single multiply, it is computationally less expensive than the waveguide oscilla- tor [7] or the modified coupled form [SI. The challenge of using moderate-precision arithmetic units and numeric representations for recursive oscillators lies in addressing the error accumulation inherent in recur- sive methods (i.e., quantization-induced noise effects), and providing sufficient frequency coefficient resolution. Our approach to these challenges is two-fold: keep individ- ual oscillators short-lived via an “overlap-add” approach to exploit short-term fidelity [9], and modify the recursion cal- culation to increase frequency accuracy. For this paper we focus on the latter technique. The general form of the digital resonator, with no damp- ing or initialization impulse function, is: