Page  436 ï~~Csound Tutorial Linda Irwin, Centre for Music Technology, University of Glasgow, G12 8QQ, Scotland email: <l.irwin> Michael Alcorn, The Queen's University of Belfast, BT7 INN, Northern Ireland email: <alcom@> Abstract The Interactive Csound Tutorial, running on the NeXT computer, has been developed as a tool to help new users get to grips with the fundamental issues relating to the software synthesis and sound processing software package Csound. Introduction Csound is arguably the most widely used computer synthesis program in the world. Once a tool used only by educational and research establishments equipped with specialist technology, it is now running on numerous platforms and is central to many university and college courses in Music Technology. Despite its widespread use there is still insufficient material to support the teaching of Csound, especially within the context of a traditional music department where users are less likely to have the technical experience necessary to grasp an understanding of how the programme works. There is clearly a need for more comprehensive teaching aids and, in particular, a hands-on, step-by-step guide to the operation of Csound. It was for these reasons that the Csound Tutorial was developed. Principle Objectives of the Tutorial " To design a musician-friendly interface. Many musicians still have limited experience of computers and are often deterred by features such as the Unix terminal window and the syntax of the language used in writing Csound code. The data required to create a sound and the method of controlling the hardware is far removed from the procedures familiar to most musicians and composers. It is for this reason that the information presented in the Tutorial is discussed primarily from a musician's point of view, leading the user from familiar musical or acoustic terminology to terminology specifically related to Csound. " To provide a dual function. The design of the software enables it to be used either as a step-by-step tutorial or as a quick-reference guide for more experienced users. " To provide comprehensive on-line help. A system of on-line help windows is included which enables the user to access information related to any of the topics. These include detailed explanations of terminology and answers to any of the projects which the user may choose to tackle. The Csound manual is also available on-line for reference. " To provide sound examples embedded within the tutorial. One of the unique features of the Tutorial is that it provides numerous examples of sounds, processes and procedures to illustrate the topics discussed. This is particularly important in that it enables the user to appreciate immediately the process being discussed or to compare their own work with stored examples within the Tutorial. Foremost in the design requirements for the Tutorial was the need to create a simple graphic user interface which provides methods of navigating from topic to topic, allows soundfiles to be monitored with ease, and for associated sub-windows to be linked to hypertext in the main body of the topic. (Figure 1 shows a sample topic within the Tutorial.) 436 I 6CMC PROCEEDINGS 1995

Page  437 ï~~The order in which the topics are presented was also a prime consideration. The model the Tutorial follows is based on the Computer Music course as it is taught at Queen's University. It progresses from simple examples in additive synthesis through more complex examples which have controls for envelope, amplitude and frequency, to instruments and score procedures which are the most advanced available in Csound. Projects throughout the Tutorial allow students to test their knowledge and understanding of the work covered as they go along. A sound can be positioned within the sound field using functions. One method is to define pan posttions within the score using p-flelds. For example 0Owould OUtputate sOUnd from 0 -* Â~.6 the let speaker andI would ouput te sound from the right speaker. The value.i would produce equal amplitudes from each speaker. Score 11 8 512 18:io aet dr a pitch pe ii 0.5 32088 8.08 0:: i 18.87.7 11 1.5 9.8 1 i 2 8.87.7 2.5 8.84.3 11 3 8.88 8 This is implemented in the instrument as follows: Orchestra k instr 1 3 When p6takes the value.3 the left channel 8Â~ oscseÂ~ po ch9t. muliplests sgnal by (l-.3)-=.7 andate ii oeaL i~-ap Cplc nl 41Irghtchannel multiplies its signal by.3. i p aTherefore the output Is divided In the ratio endin 7:3 between the two channels. fIwe wantto move a sound wthlin the duratlon ofta note we can define a llnellnseg or expon/expseg stalemenltwithin the instrument For example if we wanted the sound to movefrom one speaker to the other within a duration of 6 seconds it could be carried out as follows: Orchestra ken lne e, p3. 1 Ocetal o ecii p4,cpspch(pf). 1 eutsael(1-le).e*kipw................................................:....:..........::.:...:......:::::::..:::::........................:............ Figure 1 Sample Tutorial page It is intended that the Tutorial should be used in conjunction with or as a supplement to a taught course and since its completion in September 1992 it has been in use at The Queen's University of Belfast and at the University of Glasgow. Feedback from student questionaires has shown the value of the Tutorial: 30% of the students questioned made very frequent reference to the tutorial, and 50% used it some of the time to assist their course work; 70% found the Tutorial the most useful resource available to them and 100% of the students questioned found that the Tutorial was easy to use and pitched at the right level. Future Developments Given the broad range of platforms on which Csound now runs it seems desirable to design versions of the program for other machines. Queen's University is now running Csound on Silicon Graphics Computers (as are an increasing number of institutions) and plans a move to a lab of SGI computers in the near future. A plan to rewrite the Tutorial is currently being considered along with a project to implement the Tutorial on the WWW pages of the School of Music at Queen's. Acknowledgments The Csound Tutorial was developed from a student project funded by The Enterprise Unit at The Queen's University of Belfast. I C MC PR O C EE D I N G S 199543 437