Page  499 ï~~Graphical Control of Unit Generator Processes on the MIDAS System: A Digital VCS-3 Demonstrator Ross Kirk, Paul Whittington, Andy Hunt, Richard Orton Music Technology Group, University of York, YO1 5DD, UK Email: ross@ohm.york.ac.uk ABSTRACT: The system described in this paper extends the unit generator concept to incorporate graphical unit generators which can be freely integrated into networks of audio unit generators. These new elements can therefore associate graphical operations with electroacoustic processing, for image output or user input, extending composition and performance into the multimedia domain. Based on the MIDAS system, the networks of unit generators can be partitioned across heterogeneous multiprocessor networks, some nodes specialised for image generation, some for audio processing. A screen based emulation of the VCS-3 analogue synthesiser, forming a demonstrator of the concept is also described. Introduction The MIDAS system (Musical Instrument Digital Array Signal processor) is based on the unit generator paradigm familiar from the Music 'N' languages. MIDAS extends this concept into a real-time performance medium by providing facilities to distribute a network of unit generators (known in MIDAS as ugps -unit generator processes) across the nodes of a multiprocessor network (Kirk, Orton, 1990). These nodes provide the computational power needed to support the data throughput necessary for real-time operation. Mechanisms are provided to synchronise the ugps so that samples are processed across the network in a coherent manner. Nodes intercommunicate by means of standardisedprotocols. These are network messages which allow ugp structures to be built, modified, controlled and to exchange data at run time. Musical applications (in the form of ugp networks) can be defined at run time, entirely through the use of the protocols. Applications are not compiled before being run, as in other systems. MIDAS is a heterogeneous system: Processor nodes can be of different types, perhaps specialised for particular tasks (eg graphics), as long as they can support the ugp types allocated to them, and as long as they can interact correctly with the protocols. The current implementation of MIDAS exists firstly as a prototyping environment running as an application under UNIX on Silicon Graphics (SGI) machines. The intention is that this would normally be used to develop musical applications (ie protocol structures) before they are loaded onto a multiprocessor system for performance, although limited real-time operation is available on the SGIs. A multiprocessor environment based on the use of transputers has been produced, and work is in hand to provide a DSP multiprocessor hosted on PCs. This paper describes work which extends the unit generator process concept to include graphical functions, and illustrates they way in which these may be used to provide screen-based control panels for audio applications. An accompanying paper (Kirk et al 1995) describes the use of graphical unit generators to provide visual output within multimedia compositions. Implementation of Graphical Unit Generator Processes The graphical ugps are based on a portable graphics Library which has itself been used for graphical applications running on a number of machines, including PCs, Atari Falcons and Silicon Graphics workstations. The library provides common graphical objects (lines, rectangles, mouse click buttons, mouse co-ordinate functions etc) which are defined in terms of a minimal set of pixel based primitives. To move the graphical environment to another plaform, it is only necessary to rewrite the primitive functions; the higher order graphical objects will then transfer directdy to the new machine. We have encapsulated some of the higher order graphical objects within the standard ugp data structure format, so that these objects can be created and integrated within a ugp network, just like any other unit generator. Ugp ICMC PROCEEDINGS 199549 499

Page  500 ï~~networks can thus provide sonic and visual output, forming aspects of dynamically variable electroacoustic instruments. The 'slider' unit generator is a simple example of a graphical ugp created in this way. Its ugp inputs control the X and Y position of the slider and the maximum and minimum output values. The output of the ugp is the numeric value obtained by controlling the slider position with the mouse. Because the ugp adopts the standard ugp format, the output can be connected into other ugp inputs (eg oscillators) by the use of appropriate protocols, to control various associated parameters (eg amplitude). Protocols can be used to create a bank of such sliders by instantiating multiple copies of the slider ugp, each with a unique X and Y position. Like any other ugp network, this network of graphic ugps is dynamic. A slider can be moved around the screen using the mouse, and the overall appearance could be changed by (dynamically) deleting some slider ugps, and creating new ones. A hierarchical set of control panels could be selectively displayed in this way, controlled by mouse clicks on graphical control buttons. A number of these ugps is used in the VCS-3 sample application described below. These graphical ugps presently run on the SGI prototyping environment. We plan to integrate SGIs as specialised graphics nodes into the multiprocessor network, so that SGI based graphics applications can interact with sound synthesis and transformation ugp networks running on DSP nodes. A MIDAS Digital VCS-3: a Demonstrator for Graphical UGPs The intention of this demonstrator is to emulate the operation of the VCS-3 analogue synthesiser, and thus prove the concept of the integration of graphical and sound generation ugps. A set of graphical ugps has been produced which provide the major elements of the elements of the VCS-3 front panel on the graphics screen. In addition to the slider ugp described above, we have produced a patch-bay ugp which allows a mouse click to place a 'connection' at the intersection of a row and column on the patch bay to connect a signal source to an output channel (for instance). There is also a joystick pad ugp and various switch and button ugps. A screen-dump of the panel is shown below. Rplittude Sliders Osc 1: O sine o Oas lo' 0 Sr 10 Osc 2: 0 Tri 10,ad [1110K Osc 1:Sine Sa F1 Cutoff Osc 2: Sqr 111 Slider Tri Lu Osc 3: Sqr 1 0 Noise 11OK [10D Filter Output I I I Ring lod Out I ing Mod Pod 1F2 i Rtt.nution Pod V I I Slider F1 L I1 Slider F 1 /1 Slider F3 500 [ sCutoff Slider ii lilt Slider 01 N3 oii is,,ue Slider 02 F3Contrals! I i " Output Ch. 0 O Ring od Input R tn ax Ring tod Input 8 01 02 Filter Input 100 100Input freg asc 1 Input f req asc 2 Input frq OSc 3 Filter Cutoff Input U U Output level, Output level 2 In keeping with the wish to emulate the VCS-3, we have used sine/square/triangle waveform sound synthesis ugps and ring modulator and filter sound transformation ugps. It would be a straight-forward matter to extend the functionality of the VCS-3 to extend any aspect of the panel (bigger patch bay, more sliders etc), to redefine the oscillators so that they consist of complex networks of unit generators, implementing AM/FM based voices for instance, and to construct more s op hs ti cate d transformation algorithms. We also have a MIDI ugp which would allow any parameter on any ugp to be mapped to MIDI control. Conclusion The MIDAS system has provided a robust and flexible framework for integrating graphics and sonic applications on multiprocessor systems. The demonstrator has successfully emulated the operation of the VCS-3, and thus proved concepts which could be applied to other functionally comparable systems. For instance, a screen-based mixing desk whose graphical and signal processing configuration could be defined dynamically at run-time. References: Kirk, P R; Orton R (1990). MIDAS: A Musical Instrument Digital Array Signal processor. Proceedings of ICMC, Glasgow. Kirk, Hunt, Orton (1995). Audio-Visual Instruments in Live Performance. Proceedings of ICMC, Banff 500 0ICMC PROCEEDINGS 1995