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
Top of page Top of page