How does WorldBeat work, and how does it use Opcode stuff?

WorldBeat runs on a PowerMacintosh 8500/150 with 32Megs of RAM and a 2GB hard disk. It is implemented as a huge hierarchy of MAX patches. Most of them are taken from the MAX library, but several critical patches had to be implemented by ourselves, using Metrowerk's Codewarrior as C development environment to extend MAX where necessary.

Opcode's MAX multimedia development environment proved invaluable for this project - without it, we could have implemented only a fraction of WorldBeat's features in the 12 months available. Most programming was done "graphically", building patch networks from the MAX library. Understanding other developers' code was much easier in this graphical representation, compared to reading other people's C code.

The interactive nature of the development process helped to significantly cut development time, and to quickly evaluate alternative user interface decisions - and this is very helpful when developing computer-based exhibits, as well as any other highly interactive system for public use. Still, the ability to create hierarchical patches kept the overall system architecture clear and easily maintainable, even with several developers concurrently working on the system. Each WorldBeat component, for example, is implemented as a separate entity in the top-level patch hierarchy.

Finally, MAX's easy extensibility was a crucial feature - it allowed us to turn all our ideas into reality, even where the existing library patches did not cover all the features we wanted. The graphical user interface "engine", for example, was implemented as a new patch type. It displays and manages three-state buttons, custom menu lists, hyperlinks, and triggers other patches when required.

Studio Vision Pro was the natural choice for a sequencer to complete the exhibit. Visitors and school groups can register with the AEC to enter the NetMusic component, and then start exchanging MIDI compositions with others around the world. Vision has got the "interface balance" right: It can quickly be understood in its basic functions - this is important for public use with inexperienced users. Still, it is powerful enough to offer advanced users virtually any feature you would want from a sequencer.

Opcode's Open Music System (OMS), and its inter-application communication standard (IAC) helped us make all parts of WorldBeat talk to each other, and to create a universal AppleScript interface to other applications.

We are working on real-time MIDI exchange to jam together via the Internet, and are eager to see what MAX 3.5 offers with its new wc patch in this respect.

The system uses an Opcode Translator Pro 32-channel MIDI interface to allow for simultaneous connection of the Buchla Lightning II baton system, the Roland voice-to-MIDI converter (for the Query By Humming component), and an optional Doepfer master keyboard for special projects like NetMusic.

Last modified: Thu Jul 23 17:26:53 CEST 2003