Page  446 ï~~The IRCAM Signal Processing Workstation and IRCAM Max User Groups: Future Developments and Platforms Cort Lippe, Miller Puckette, Zack Settel, Vincent Puig, & Jean-Pascal Jullien IRCAM, 31 rue St-Merri, Paris, 75004, France email: lippe@ircam.fr, msp@ircam.fr, settel@ircam.fr, puig@ircam.fr, jullien@ircam.fr 1 Introduction A user group has been formed for developers and users of the IRCAM Signal Processing Workstation (ISPW)[Lindemann, Starkier & Dechelle, 1990]. The first meeting of this group was held at the 1992 International Computer Music Conference in San Jose. The group's principal function is to provide information and services for users and developers of the ISPW. The ISPW system has been installed in approximately 30 computer music centers worldwide at this time. FTS and Max [Puckette, 1988, 1991], the principal programming language running on the ISPW, are both in major development stages, regularly offering users improvements, new features and documentation. This paper focuses on the future of the ISPW platform following NeXTs recent announcement concerning the discontinuation of NeXT hardware (the present ISPW host machine), and announces the creation of a new Max user group at IRCAM which will consolidate users of current and future Max platforms (NeXT, Macintosh, PC, Unix /X, etc.). 2 The Future After the NeXT Cube NeXT's announcement has particular import for IRCAM since the ISPW is based around the NeXT Cube and its operating system, NeXTStep. Although NeXT's withdrawal from the hardware market came as no surprise to the computer music world-and was probably a sensible business move on their part, nevertheless, we consumers cannot help but lament this demise. Presently, the entire IRCAM repertory of live computer music pieces has been ported to the ISPW. In addition, approximately 15 musical works are being produced each year at IRCAM to be performed using the ISPW. Finally, there are a total of about 20 ISPWs in use in IRCAM's ongoing scientific and artistic projects. Future scientific and artistic activities at IRCAM will continue to make use of the ISPW at least until 1996-the hardware investment was considerable; even more important, it also seems clear that the Max program running on the ISPW has become the "lingua franca" at IRCAM for real-time musical and scientific research. Continued FTS/Max development is taking place with the idea in mind that anyone using Max can expect that their patches will run on new platforms. IRCAM's current policy is threefold: (1) maintain a high level of support for musicians and composers working with the ISPW both at IRCAM and elsewhere, (2) design a new hardware platform using commercially available DSP processors, and (3) implement ISPW Max on various platforms, such as NeXTStep (using a PC board), Macintosh (in conjunction with Opcode), and Unix/X-Windows (DEC-Alpha, Silicon Graphics, etc). 2.1 Planned hardware development IRCAM has begun planning a new real-time system to replace the ISPW. NeXT's announcement has focused IRCAM's attention on some issues that are of general concern to the pro-audio world and of chief concern to those who have invested in the ISPW. Issues which are being discussed include portability, commitment to future development, compatibility, standardization, and most important: hardware dependence/independence. Hardware will come and go, while portable software offers continuity for the future. That is why, among our stated goals for the future, the development of a technology-independent system is important. In planning a new platform, our strategy is to separate the real-time processor from the host machine. With this scheme, the host processor can be linked to rapidly evolving commercial workstations, while the real-time processor can follow whatever evolution DSPs take in the future. With real time as a prerequisite, the major criteria in the development of a new platform are price, power and speed. A NeXT cube with three ISPW boards implements six Intel860 processors with 80 Mflops of computational power each. This adds up to a total of 480 Mflops. Presently, the most powerful Unix platforms are benchmarked between 60 and 200 Mflops. Focusing on the availability of powerful DSPs, we may use the TMS320C40 in the future. With four DSPs on a board we should be able to reach a maximum speed of 200 Mflops. (This should meet many of the current musical needs of ISPW users.) Taking into account financial considerations, a likely scenario would be to use lower entry-priced hardware made up of commercially available components such as an EISA bus with memory disks, and a SCSI (or Ethernet) link with the host computer. 2.2 Porting Max/FTS 2D.2 446 ICMC Proceedings 1993

Page  447 ï~~In the meantime, an attractive solution is to port Max to real-time-capable platforms. A "C" language port of Max/FTS is now running on the DEC-Alpha Workstation using X-Windows for graphics support. We plan to benchmark this version against a version running on an SGI machine (which offers integrated audio) later this year. At this time these machines are still prohibitively expensive for the individual computer musician, but in the next five years they should become a viable platform. 3 FTS/Max Development and Support Our focus regarding the long term evolution of Max/FT'S is fourfold, and includes: - Establishing true independence between the user interface of Max and the real-time platform running FTS. - Using FTS as a unified real-time system for the bulk of applications developed at IRCAM, namely Max, SVP, Chant, Mosaic, etc. - Collaborating with Opcode in order to use the Max user interface developed on the Macintosh to drive the DSP. - and, porting Max/TS to NeXTStep (for PCs), and Unix/X-Window environments. 3.1 Software Updates Updates to Max are now being put on ftp sites at IRCAM, Stanford, and ZKM on a regular basis and will be maintained for NeXT users. (Since new platforms will be available in the future, users may join the IRCAM Max user group described below.) This year there have been five major releases of Max. The following list highlights some of the important improvements and additions made to Max during the past year: the audio convertor board (the Piggy Board) is now entirely supported and directly marketed by IRCAM. It features 8 I/O channels in AES-EBU. The declare class allows a patch to specify its own search path, sample rate, scheduler advances, and throttle (see the next item.) The throttle variable was added to keep the NeXT host from dominating the NeXTBUS and/or the ISPW local bus. (This variable is especially useful for reading and writing sound files.) The objects readsfr~ and writesfr take an optional server number argument to allow for several NeXT tasks to move sound at once. (In principle, this should increase the number of channels possible; their priorities can be increased to reduce the likelihood of their running late.) The max print function now prints out a value indicating available memory. Two new directories have been added: lusrllocallispwlAppsllib, for library patches and externs, and lusr/locallispwlAppsltools. These will grow with future releases. You can now copy the selection from Max to PostScript. Patchers, explodes, and tables, now have scroll bars. Dialog windows have been introduced to set hardware configurations and preferences. There is afind dialog, and tables have settable domain and range. 3.2 Software Development in Progress During the next year, the following new additions and features are planned for MAX: - A real-time FFT tutorial and library including examples and tools for:. de-noiseing, spatialization by frequency, hi-resolution filtering (graphic EQ), cross synthesis, and phase vocoding. - A library of examples useful for timbral parameter extraction. - Communication between Max and other machines will be extended. An interface allowing the Patchwork program(described below), running on the Macintosh, and the Max program, running either on a Macintosh or ISPW platform, will allow users to send messages between the two environments. In addition, a mechanism for sending Max messages between copies of the Max program (running on different platforms) will allow Max users to control objects in other Max environments. - A certain number of objects similar to those existing in the Opcode version of Max will be implemented on the ISPW. These will include user interface objects resembling the umenu and pict objects, as well as other objects such as: if, seq, explode, coil, and list handling objects. - In addition, a filename chooser object and other new objects that provide NeXTStep support will also be included. - Finally, the libraries provided with Max will continue to expand. Better soundfile support (formats, etc.) is planned. MIDI file importing/exporting will be implemented. For Max developers, support and examples of user interface external object code will be provided, allowing access to NextStep. 3.3 Software Support We are continuing to contribute to and maintain a library of patches, tutorials, demonstrations, sigual processing modules, and Max external objects. With the relatively new possibility of writing external objects, we are starting to see development work at ISPW sites other than IRCAM. Also, the ICMC Proceedings 1993 447 2D.2

Page  448 ï~~first edition of the IRCAM Max manuals has been released, and additional human resources are being directed towards development of Max at IRCAM. 3.4 A new Max user group at IRCAM The Max user group [Puig, 1993] will welcome users working on NeXT, Macintosh, and future platforms. This group will have access to software updates, libraries, documentation and to various services dedicated to: - Maintaining a catalog of compositions which make use of the ISPW system. - Providing information services through mailings, ftp information, and through an IRCAM Software electronic bulletin board for users and developers covering subjects such as: bug reports and fixes, official software release information, technical information for developers (compilers, external objects, etc.), news on user and developer activities, related products (converters, piggy cards, 10 devices, etc.), ISPW concerts, workshops, demonstrations, and software exchange information (external objects, library modules, patches, etc.). We will also host discussions on topical issues such as code portability across machine platforms and generations, and attempt to facilitate communication between developers, users and vendors. - Granting privileged access to scientific and musical IRCAM publications. - Offering training sessions and seminars (the next one is November 27-28, 1993 at IRCAM), and open software workshops (the next one is April 28-29, 1994). The aim of these workshops is to address new applications and development issues, and stimulate cross-platforms exchanges. Similar support is offered for three other software packages: SVP (Super Phase Vocoder) which allows for filtering, time-stretching, compression, mixing, cross-synthesis, etc.; PatchWork, a computer-aided musical composition package with MIDI output, and display/editing music notation functions; and Chant, which offers filtering and formant synthesis of vocal and instrumental models. 4 Condlusion Hopefully, future advances in hardware independent software for real-time computer music will eventually minimize the implications of announcemenits such as NeXTs for the computer music community. We hope that this paper makes clear that IRCAM is seriously committed to continued support of the ISPW and Max Users and to the development of real time applications on multiple platforms. References [Lindemann, Starkier & Dechelle, 1990] E. Lindemann, M. Starkier, and F. Dechelle. "The IRCAM Musical Workstation: Hardware Overview and Signal Processing Features." In S. Arnold and G. Hair, eds. Proceedings of the 1990 International Computer Music Conference. San Francisco: International Computer Music Association, 1990. [Puckette, 1988] M. Puckette. "The Patcher." In C. Lischka and J. Fritsch, eds. Proceedings of the 1988 International Computer Music Conference. San Francisco: International Computer Music Association, 1988. [Puckette, 1991] M. Puckette. "Combining Event and Signal Processing in the Max Graphical Programming Environment." Computer Music Journal15(3):68 - 77, 1991. [Puig, 1993] V. Puig. "IRCAM Forum brochure". 2D.2 448 ICMC Proceedings 1993