UCM 2003 3 rd Conference “Understanding and Creating Music”, Caserta, December 2003, 11-15 A VISUAL PROGRAMMING LANGUAGE FOR SOUND SYNTHESIS AND ANALYSIS Eleonora Bilotta Centro Interdipartimentale della Comunicazione, Università della Calabria Elvira Di Bianco Centro Interdipartimentale della Comunicazione, Università della Calabria Pietro Pantano Centro Interdipartimentale della Comunicazione, Università della Calabria Stefano Vena Centro Interdipartimentale della Comunicazione, Università della Calabria bilotta/e.dibianco/piepa@unical.it wetfire@inwind.it ABSTRACT One of the main problems of Computer music is the availability of easy-to-use software systems in order to produce sound analysis and synthesis and rarely users are capable to utilize these systems without being expert programmers. In this paper, a visual programming language (VPL) software (Chang 1987, Shu 1986, Burnett and Baker 1994) of sound synthesis and analysis, named WFSound is presented. Such environment is characterized by visual techniques throughout the programming process. The user manipulates icons or other graphical representations to create a program that is subsequently executed in the same visual environment. In particular, the user can operate at different levels of the sound analysis and synthesis processes. The software integrates a structure of scripting, based on the Microsoft VBScript language, which allows the user to create personalized inputs and outputs. These data can be analyzed and many functions can be used. WFSound allows the spatial arrangement of icons in the workspace that constitutes a visual sentence in conventional (textual) programming languages. While in those languages, a program is expressed as a string in which terminal tokens are concatenated to form a sentence and the construction rule is implicit in the language, conversely, in WFSound environment it is possible to arrange icons by horizontal and vertically concatenations. Arrows can link these icons in order to follow the flow of sound signal from the input to the output. The main functions of these icons are the following: Input: Pitched Oscillator, Buzzer Oscillator, Noiser, Scripted Input. The Pitched Oscillator icon contains three kind of built-in wave shapes: sinusoidal, square and triangular; besides, it allows to build in external sound waves that can be imported as raw files. The Buzzer Oscillator icon performs additive synthesis, choosing the number of even and/or odd overtones. The Noiser icon produces a noise from a random numerical sequence. The Scripted Input icon is based on the Microsoft VBScript language and offers other tools for realizing personalized input. Operators: Frequency Modulator, Amplitude Modulator, Enveloper, Volume, Mixer. The Frequency Modulator icon realizes a sound wave, modulated in frequency by an input signal. The Amplitude Modulator icon adapts the amplitude of an input signal by another input signal. The Enveloper icon is an editor which allows the realization of curves of envelope to be applied to the input data. The Volume icon modifies the amplitude of the input signal. The Mixer icon adds all the inputs and returns their sum.