DIEM Multi DSP Box for Live PerformanceSkip other details (including permanent urls, DOI, citation information)
This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 3.0 License. Please contact email@example.com to use this work in a way not covered by the license. :
For more information, read Michigan Publishing's access and usage policy.
Page 409 ï~~DIEM Multi DSP box for live performance The "FELIX" project by Kim Steffensen, Bjarne Slipsager, Mads Folmer, Steffen Brandorff Danish Institute of Electroacoustic Music (DIEM) Musikhuset Aarhus Thomas Jensens Alle DK-8000 Aarhus, Denmark e-mail: firstname.lastname@example.org (Steffen Brandorff) Introduction Impressive real time DSP systems are developing all over the computer music scene at this moment. NeXT was the initiator of a wave of development efforts by introducing their late, wonderful UNIX machine with excellent developers' tools. The Ariel/IRCAM Signal Processing Workstation board [Lindemann et al., 1991] for the NeXT Cube has been a major step forward in real time audio processing. Another important development has been the KymaCapybara workstation with a user friendly software interface [Scaletti, 1991]. There is the IRIS MARS and the FROX! Now Apple Computer has announced their upcoming family of personal computers hosting a floating-point DSP chip for multimedia work. So, why bother to develop yet another system? Inspirations Actually, it was the needs of a Danish composer, Lars Graugaard, that made us decide to start our own development. He wants to be able to work mainly in the frequency domain, alternately on a linear and a logarithmic frequency scale (e.g. quarter-tone scales). We liked the idea, but wanted to make the solution more generally useful. The idea of making a "all-purpose" effect machine is not new, and Oivind Hammer of Norway presented a nice concept at the NEMO festival in Aarhus, August '93, which became another inspiration. The name of his device "The Chameleon Box" is very descriptive of the kind of hardware we want to build. Scenarios To generalize we put op a number of different scenarios of potential uses of such a machine.This can help us direct our deveopment efforts - in user interface building as well as hardware design. One important scenario, of course, is the usual Studio Production situation. This however is very well covered by existing systems, making possible experiments with quite complicated algorithms. The second scenario was more interesting to us; Music Live Performance: After she has finished experimenting in the studio the composer will leave the program on a floppy disk and travel to a concert hall, unpack, load the DSP code from the floppy disk, and play after plugging a microphone into the little box. Her flute solo is being processed by the algorithms in the box, and the parameters of the DSP algorithm can still be tampered with by some remote MIDI controller. And she would make beautiful music with the thing! Power & Portability The key issues of our efforts have been to provide a reasonably priced, rugged, self-contained device, that was easy for a performer to take on the road and on the stage. Accordingly it could not be another board for a personal computer, and we find no space for expanding e.g. a PowerBook computer to accommodate enough processors to make it a really powerful real time DSP engine. The task to respond in "real" time, after having made a return trip into the frequency domain, can be really demanding for any computer, depending on what transformation algorithms are needed. Choosing a hardware environment Developing a card for a Macintosh or a PClone would be an obvious choice. We prefer, however, to maintain some independence of host computer, which leaves us with very few alternatives. We can adhere to some LAN, or serial port specification, but we have preferred to use the SCSI standard as a means of communication between the box and its host computer. SCSI is quite fast, very widespread and has a fairly simple protocol. So, hopefully our box will communicate with several brands of computers via SCSI. TC Electronics' M5000 One crucial problem for this kind of development is to find the right "home" for our DSP boards. The ideal platform would be an effects box with a completely open architechture, that would allow us to concentrate on building the DSP boards. In fact, Aarhus is the base of a smallcompany, TC Electronics, producing a variety of specialized high quality (analog and digital) sound processing equipment for studios and PA systems. Their equalizers and sampler-delay units are sold worldwide. Recently they have introduced their ICMC Proceedings 1993 409 7P.02
Page 410 ï~~"Audio MainFrame M5000", a 19" rack mount box, 2 units high, containing all the standard hardware required to work in the digital domain. M 5000 main features The M 5000 (figs. 1 & 2) already has high quality ADC and DAC boards (18 bit), and has a state of the art room simulation board with digital ins/outs. Other boards are under construction (e.g. MADI - a multi channel AES/EBU digital interface board). The M 5000 works an internal AudioBus with 64 channels of 24 bit audio, accessible from all boards. It features connections to MIDI, SCSI, and a LAN, and, importantly, it hosts a floppy disk drive, that auto-loads into the flash PROMs, making it possible to program the device on the road without using an external computer. Having all this work at our hands "for free", we did not hesitate to choose the TC Electronics M 5000 as a host for our boards. The FELIX project Fig. 3 illustrates the architechture of our project, titled "FELIX". It interfaces to the AudioBus via a host CPU (Motorola 56002) with some additional buffering hardware. It features a local bus, 32 bits wide, connecting several DSP chips that do the actual number crunching. We have chosen the 32 bit floating-point DSP-chip family from Analog Devices, the ADSP21020, offering up to 100 MFLOPs performance per chip. FELIX is a very simple architechture, allowing us to use an operating system supporting massive parallel processing. All DSPs have their own local RAM, but can communicate with each other and a block of global RAM, that has yet to be constructed. FELIX hardware layout The hardware implementation has been laid out on three different boards. The "mothercard" contains the bus-interfacing Motorola 56002 and one ADSP21020. The daughtercards contain pairs of ADSP21020, that connect directly to the motherboard by "piggyback" stacking. Thus up to five boards can be stacked on top of each other, allowing for a maximum of ten boards in one M 5000. The third board will be a global RAM card. In theory the top limit of our layout thus is 2 motherboards and 8 daughterboards, allowing 1800 MFLOPs performance! At present performance will be lower, as we wait for the top performance ADSP2 1020 to reach the market in a plastic SMD package, and allowing for the use of some of the slots of the M5000 for A/D & D/A. Software design The attitude reflected in the choice of hardware platform is also controlling our choice of software. Currently an operating system for FELIX is in the works. A computer science graduate is examining various time-to-frequency transformation algorithms (STFT, Wavelet, Constant Q, Goerzel et al.) to implement the ones most relevant to us. We still have to choose what end user software to use, though. There seems to be only two contenders: MAX from OpCode and Labview from National Instruments, both of which may be chosen for actual implementation. Last year a Danish computer scientist implemented a simple synthesizer inside MAX for Macintosh, directly using the Digidesign Sound Accelerator board for synthesis [Mikkelsen 1991]. This work could be expanded greatly in this new, more powerful environment. Max seems to be the tool of choice of many musicians and composers. Lab view, on the other hand, makes the technician feel at home in its virtual laboratory, and might become a very productive environment for DSP engineering. A work in progress The work described in this report is obviously a work a progress. Now the first stage is actually working. Connections to the M5000 bus work with no glitches and at the time of writing we are wiring up the first of the ADSP21020 chips. A few simple algorithms have been run on the machine (e.g. stereo expander) and optimism prevails. Summary Our efforts concentrate on constructing a sound processing unit with lots of floating-point number crunching power. We develop plug-in boards for a small rack device, the TC Electronics M5000 general purpose digital sound processing "mainframe". The aim is to make it possible for composers e.g. to manipulate sound in real time in the frequncy domain, which seems an intuitively superior representation for many musical purposes. References [Lindemann et al., 1991] Eric Lindemann,, Francois Dechelle, Bennett Smith, Michel Starkier: The Architechture of the IRCAM Musical Workstation. Computer Music Journal, 15(3): pp 41-49, 1991. [Mikkelsen, 1991] Jens Mikkelsen: SORTS - a Small Object-based Real Time Synthesizer, Project Report, Computer Science Department, Aarhus University, 1991 [Scaletti, 1991] Carla Scaletti: The Kyma Language for Sound Specification. Symbolic Sound Corporation, 1991 7 P,02 41.0 4CMC Proceedings 1993
Page 411 ï~~Figure 1: General overview MIDI SCSI A/D-- M 5000 + FELIX / 4, Floppy Drive Local Area Network Figure 2: Architechture in principle TC Electronics M 5000 AudioBus zII It I Admin. F lo p p y S M ID IE I I Network Figure 3: DSP architechture FELIX AudioBus tional boards) local bus ICMC Proceedings 1993 411 7P.02