computers and SY99s and limited the range of techniques
that could be taught to those available on the SY99. The
user interface provided controls and diagrams on screen but
there was no possibility of displaying the signal or spectrum
live. SYnthia was fixed and not easily extensible. It was
more difficult with SYnthia for us to make direct
connections between theoretical study using the software
and the students' creative work developing from what had
been learnt.
Technology has advanced greatly in the intervening
years. Sybil requires no additional hardware, the sound is
generated by the computer. It can also generate 'live'
graphic displays, it is portable and easily extensible.
3 MSP
The choice of MSP as the language in which to code
Sybil was an obvious one for us. There was no point reinventing the wheel, and MSP provided a sophisticated and
flexible aural and visual context in which we could work. It
was a program we were already using as staff in our own
research and creative work, and one that we were teaching
to students. As a widely used program, available on
different platforms, its use made for easy accessibility of our
software and increased its potential for extensibility. As our
students were learning to program in MSP anyway it offered
the opportunity for students to see 'behind the scenes', not
simply using the front end of the software but going further
to find out how different processes worked.
The fact that we could make our modules into
collectives or standalone applications added another
advantage in availability and flexibility of use. For
example, our students would be able to take copies of the
software home, without the need to purchase additional
software, and work on their own computers.
MSP's own extensibility is an additional advantage.
Although the standard software covers most of the
techniques we might want to teach, there is always the
possibility, if necessary, of coding new external objects in
C. The module 'FOF synthesis: an introduction' is an
example of this. The external fofb- object used in this
module was coded by one of the authors in collaboration
with Xavier Rodet of IRCAM (Clarke and Rodet 2003).
The choice of MSP also aids portability. Currently MSP
is available for MacOS9 and OSX and for Windows XP.
The original development of Sybil was done under 0S9.
The current modules have now been ported to OSX. This
seems to have been very straightforward with few
difficulties although, at the time of writing, this version is
still to be fully tested. In general, however, it seems if
anything to run better under OSX, some aspects of the
display seeming smoother. Initial tests have been carried
out with XP and again the transfer seems to work relatively
easily. Further work on this is planned shortly. Currently it
is not possible to build MSP standalone applications for XP,
but there is no problem with making Sybil as collectives.
4 Sybil
MSP therefore provided the means necessary to generate
sound and to create good user interfaces and display sound
transformations visually. What was not immediately
available in MSP was a means of organizing patchers and
permitting users to navigate through them easily in a
structured way. Our solution was to create a main 'browser'
patch that then calls up the specific patchers for different
topics in a bpatcher. So, in creating a module, the developer
creates a sequence of patchers which are then ordered into
sections, a sequence of sections forming a module. We
have decided to make each module a separate standalone
since they are used at different times and on different
machines on our courses.
The browser then provides navigation tools which
include left/right arrows for moving between adjacent
pages, a menu for selecting different sections within the
module, an option for going to a page directly by selecting
its number and controls for the audio. All someone wishing
to create additional modules has to do is to create a
sequence of patchers and then use our browser to organize
them. The patchers must naturally follow certain
conventions but existing Sybil patchers can easily be used
as templates. Clearly the size of the display has to be
standardized. Audio is also routed through a central 'Audio
Control' in the browser patch, so sound must be sent
(send-) to the correct location. Otherwise there are no
restrictions beyond what is normal in programming in MSP.
The browser requires two types of 'coll' files in order to
structure the patchers into a module. The first, a single coll
file entitled 'section-list', gives the number of sections in
the module, the module title, and a list of the section titles in
order. Secondly, a coll file is required for each section.
This contains the number of pages in the section and a list,
in order, of the names of the patchers for each page in the
section.
It is therefore easy for an MSP programmer to adapt
modules or add new modules to Sybil. Given the variety of
courses and the tendency for rapid change such flexibility
was a major design factor in creating Sybil.
Having created a module it can simply be used as it
stands on machines that have MSP installed. We have,
however, found it useful to make modules into collectives or
applications. It makes it easier to transport them from
Proceedings ICMC 2004
0