Closing Comments |
The computational expense of Tao's synthesis engine |
New Devices |
Deficiencies in Tao's synthesis languageTao's synthesis language was developed primarily as a test-bed for the synthesis engine. It has evolved into a usable language but lacks several features for larger scale compositional work including:
What is meant by `encapsulation of events' is the ability to describe a complex algorithm for producing some kind of high-level event and then place this algorithm inside a black box with input parameters. The algorithm would then be invoked whenever it was needed (much like a C or C++ function) using just its name and arguments. The addition of this feature would make it a much simpler matter to produce complex multi-layered textures of sound. Encapsulation as applied to instruments refers to the ability to create compound instruments where the components of the instrument are arranged hierarchically with parent-child relationships. For example an instrument named `guitar' might have child components named `string1', `string2' etc. In order to achieve this the syntax of Tao's synthesis language would need to be modified to allow components to be created within the scope of other components, much as local variables may be declared within C or C++ functions. It would also be possible to describe template instruments which would act as templates for whole families of instruments with similar characteristics. For example the description of a `guitar' template instrument would allow the construction of multiple instances each having their own body sizes and string tunings, but with aspects of the physical structure common to each instance. Table reading functions are an essential part of any synthesis program
and the only way they can be implemented at the moment is by setting
up arrays of values by hand and accessing (and interpolating them)
yourself with parameters declared in the script. Of course all the
math library functions are available in the synthesis language so it
is feasible to write table initialisation code in the Init part of
the score, but it is still cumbersome compared with
| ||
Closing Comments |
The computational expense of Tao's synthesis engine |
New Devices |
©1999,2000 Mark Pearson
m.pearson@ukonline.co.uk April 30, 2000 |