Page  412 ï~~A GEOMETRIC CONCORDANCE DEVICE FOR SOUND SYNTHESIS MARCIO C. P. BRANDAO RICARDO S. R NASCIMENTO Spectral Processing Laboratory Computer Science Department University of Brasilia Brasilia, DF 70910, BRAZIL e-mail: unb@brfapesp.bitnet ABSTRACT We describe a computer environment for sound generation and centered on an interactive graphic editor used to create smooth curves by means of geometric concordance of primitive shapes available in a library. These curves can be used inside a software synthesis system as patial envelopes and inside a hardware system as waveshapes and amplitude envelopes. Performances can be accomplished in real time by the hardware or through score interpretation by the software system. INTRODUCTION In the course of sound tool development for the Spectral Processing Laboratory the requirement of a graphic editor of curves comes into view. The adopted approach has consisted in creating an interactive graphic editor able to generate truly smooth curves. The selection of primitive geometric shapes and the allowance of concordance with the previously edited shape are the main feature concerning to such an editor [3,6]. In this graphic editor curves are generated by means of geometric concordance of shapes from a library, in which primitive definitions of adjustable arcs clipped from circumferential, ellipsoidal, hyperbolical, parabolical, sinusoidal, exponential and linear curves are disposed. Under interactive mode of operation, we can easily edit curves step by step by joining concordant segments of shapes through a proper selection of the desired arc and its final ordinates and abscissas on the screen drawing area. These sets of joined arcs form a curve that can be stored in files under two modes of storage. Under compact mode of storage, only essential parameters defining the edited curve must be stored as a list representing the component arcs and its concordance relations. Almost all editor operations deal with these list-structured data so that an accurate, economical and fast use of external memory is achieved. For synthesis purposes we must work under normal mode of storage, wherein the edited curve point coordinates are stored according to user-defined length for ordinates and abscissas. The generated curves originally were used as partial envelopes by an additive synthesis system capable of generating ortho-stereophonic sounds [2] in such a way that partials can be distributed among the audio channels. Later these curves were also used as instrument waveshapes as well as amplitude envelopes on a hardware system capable of real time operation. ICMC 412

Page  413 ï~~THE GRAPHIC EDITOR In the process of constructing a curve we must proceed by first selecting one of the primitive geometric functions and then setting the end coordinates for each desired arc 16]. The editor calculates and draws on the screen the selected arc which is concordant with the previous edited arc [5] and which stops at the end point If there is no solution for the current situation an appropriate message appears warning us to change in some way the request (((AJUSTA ARCi Xi Yi) (REPETE ARC,)) ((AJUSTA ARC2 X2 Y2) (REPETE ARC2)) ((AJUSTA ARCi X1 Yi) (REPETE ARCi)) ((AJUSTA ARCn Xn Yn) (REPETE ARCn))) where AJUSTA is the concordance function, ARCi is the arc generator function, Xi and Yi are the I I Parabo 1a __ ~. 1 f 1 1 f { 1 1 1 1 1 1 1 1 f " Â~ 11 1 ", 1 t 1 1 1 '.,";,, 1 t t t 1. 1 1 1 1 f.....1.' 1 1 1 f 1 1 1 f 1 1 1 1 1 f 1 1 1 1 1 f 1 1 1 1 1 1 \ 1 " 1 / 1 1 1.1.1.1 /.1 1. 1 1. 1 1 L " / / 1. 1 1 1" " / 1 1 / 1 1 / / ' 1 1 1 / / / 1 1 1 ' / / / / / 1 / 1 / 1 1 1 1 / / { 1 1 1 1 1 1 1 1 1 / 1 1 1 1 " f / / 1 1 1 NA: 512 ESC: 32768 RAN CIR ELI t EXP Cursor End 4 T-Traca PgUpt 5111 11 PgDnJ Discoda -83.809 EM. Desfaz Tpechos Info Fin. Prancheta Figure 1 A sample screen after editing. Figure 1 shows the editor screen after the construction of a curve composed of joined arcs clipped from parabolical and hyperbolical functions. We can note on the drawing area that each arc is bounded by dashed lines for ease in curve reconstruction. The used draw scale appears on the top right corner as NA (abscissa) and ESC (ordinate). Simultaneously to the construction of a curve, a list-structured data representing the arcs and its relations is kept up-to-date. Henceforth a curve composed of n arcs corresponds to a list with n sublists, each of them having concordance, arc generator and list constructor function names along with the end point coordinates, which is shown as follows: abscissa and ordinate of the end point and REPETE is the list constructor function. When executed, the list-structured data can be interpreted as computable functions that completely reconstructs the original curve simultaneously with the reconstruction of the list itself. Therefore, the LISP language was chosen because its outstanding property in representing in the same way data and functions and also because most of the synthesis software developed at the Spectral Processing Laboratory is LISP coded. In case of selecting an ellipsoidal or sinusoidal arc, we must provide values for eccentricity and amplitude/period respectively, so that the associated sublists will include appropriate additional references. Such is also the case for the first ICMC 413

Page  414 ï~~arc of a curve, when the initial angle value must be user-provided. The remaining selectable arcs (circumference, hyperbola, exponential or the rigth line) need no additional parameters but the coordinates of the end point. All concordant arcs, if they exist, stop at the end point except for the right line and sinusoidal arcs, in which only the end abscissa is taken into account because such solution could not exist, thus freeing the editor to find the suitable final ordinate. Under the editor discretization mode it is possible to arbitrarily define the total range of abscissas and ordinates at the transformation of a list representation file into a curve file with all coordinates. Henceforth, we can define the overall length and the amplitude range used in these curve files so that compability is assured between the graphic editor and the synthesis systems. For quick visualization of the curve library a graphic directory has been implemented so we can view in a reduced scale several curves simultaneously on screen as shown in figure 2. The selection of one of these curves for reconstruction or discretization purposes can also be easily done. SYNTHESIS APPLICATIONS Curves generated by graphic edition can be used as waveshapes as well as envelopes through table look-up techniques implemented in a hardware synthesis system [4]. Hardware and software table look-up are used to implement digital oscillators and envelope generators respectively. The waveshapes are generated on a 8-way multiplexed digital oscillator built up around a 16-bit D/A converter and 2048-word tables. The waveshapes are applied to individual spectral and amplitude shapers. Amplitude envelopes are generated using software table look-up technique based on memory-resident curves which are previously edited. Music performances can be done using a musical keyboard which sends data to the system. Ortho-stereophonic synthesis, wherein partials can be distributed among the audio channels, can be obtained by a software synthesis system consisting of a score interpreter [7] and a sample-to-audio Figure 2 The graphic directory showing curves from the curve library ICMC 414

Page  415 ï~~conversion unit. That interpreter searches for special parameters in the specifications of musical instruments which by its turn define the spatial position of each partial of related spectral events. It is based on a modified additive synthesis techmique and the curves created by the graphic editor can be used for ortho-stereophonic instrument definitions having appropriate envelopes. The scores to be interpreted can be created through direct edition or through a special algorithmic composition tool based on the theory of the timetrees [1]. REFERENCES [1] Arcela, A., "As Arvores de Tempos e a Configuraao Genetica dos Intervalos Musicais", Doctoral Thesis, Pontifical Catholic University, Rio de Janeiro, 1984. [2] Arcela, A., "Timbres Ortoestereof6nicos", 10 Simposio Internacional de Musica e Informatica, Festival Musica Nova, S&o Paulo, 1988. [3] Barbalho, D., "Sistema de Sintese Espectral por Programacio em Caracteres Geometricos", MSc Dissertation, Pontifical Catholic University, Rio de Janeiro, 1979. [4] Brandao, M., "Sintetizador Polif6nico Controlado por Microcomputador", MSc Dissertation, Pontifical Catholic University, Rio de Janeiro, 1983. [5] Comessati, A., Lezioni di Geometria Analitica e Proiettiva, Casa Editrice Dott. A., Milani, 1947. [6] Nascimento, R., "Editor Graifico de Envolt6rias Espectrais Baseado em Concordancia Geometrica de Curvas", MSc Dissertation, University of Brasilia, 1990. [7] Nogueira, V., "Sintese Aditiva Modular - Uma MAquina Espectral Programavel", MSc Dissertation, University of Brasilia, 1988. ICMC 415