Page  61 ï~~SynthBuilder Demonstration - A Graphical Real-Time Synthesis, Processing and Performance System Nick Porcaro ( Pat Scandalis ( Julius Smith ( David Jaffe ( Tim Stilson ( CCRMA Stanford University SynthBuilder is a user-extensible, object-oriented, NEXTSTEP Music Kit application for interactive real-time design and performance of synthesizer patches. Patches are represented by graphical networks consisting of digital signal processing elements called "unit generators" and MIDI event elements called "note filters" and "note generators." This demonstration will present the Beta version of SynthBuilder, which is much more powerful and mature than the Alpha version shown at the 1994 ICMC. The MIDI control mechanism has been completely revamped. Mapper note filters have been eliminated in favor of direct graphical connections between note filters and unit generators. To support this change, all unit generator inspectors were modified to allow selection of MIDI control parameters for each unit generator parameter. This has resulted in a reduction of the number of note filters needed for controlling unit generators, significantly streamlining the patch diagram. A new note generator paradigm has also been developed. Sliders, buttons, switches and other controls can now be dragged and dropped into a patch, in a manner similar to the NeXT Interface Builder, and wired up to note filters or unit generators. Everything in the patch can be hidden except for these controls. This allows users to create "virtual control panels" giving each patch the feel of a custom graphical application. Subpatches are now supported. A region of a patch can be selected and-turned into a subpatch, or a subpatch can be created ahead of time by connecting external pins to various note filter/unit generator inputs and outputs. Generalized hierarchical allocation on the DSP is supported, using an efficient recursive depth-first search algorithm. Individual unit generators or subpatches can be assigned to run on separate DSP on Pentium systems with multiple DSP cards. A new voicing mechanism has been developed. Subpatches can now be defined as a voice, eliminating the need for the prior scheme which used aliases. Phrasing is now handled more accurately. Voices are allocated on the DSP and assigned to incoming notes. Routing of connectors has also been improved; cosmetic pins can now be added to assist the routing algorithm, and line width/color can be modified. Other improvements include: an expanded help system, better tracing, display of DSP resource usage, reading and writing of MusicKit score files. Finally, many new physical models have been developed. These include pipes, reeds, strings, percussion, and electric instruments. In the spring/summer of 1995, SynthBuilder was used to teach synthesis techniques, resulting in more examples, and wider use of SynthBuilder at CCRMA. SynthBuilder was also used by CCRMA composers as a dynamically-controlled effects processor in live concerts at Stanford in 1995. ICMC PROCEEDINGS 1995 6 61

Page  62 ï~~Plucked String Implemented in SynthBuilder 0 z....... Waveguide Loop