FTS: A Real-Time Monitor for Multiprocessor Music Synthesis
Miller Puckette · Computer Music Journal · 1991
This paper describes FTS and how it interacts with application software running on the host. The i860 is the first inexpensive general-purpose processor powerful enough that we could consider basing a real-time computer music system on it. Before now, one had to resort to special DSP architectures, as was done for the 4X, IRCAM 's previous adventure in real-time music synthesis (Favreau 1986). The 4X combines a general-purpose "control processor" with special synthesis hardware. A 4X application thus consists of two programs which must intercommunicate in real time: the "patch," which defines the heavy numerical calculations involved in computing sounds, and the "control program," which provides parameters for the patch, usually as a function of real-time control inputs. This separation was made out of necessity, not by choice. Forcing the user to maintain two programs, in different languages, whose state must nonetheless be kept coherent, greatly increases the effort required to develop a new application or to merge two existing ones. Because of the IMW's homogeneous hardware design, a single distributed program running on the CPs, such as FTS, can do almost all of the real-time processing required (the exception is that a host computer is needed as a server to provide certain I/O). A great part of the difficulty of making music on the 4X and similar machines drops away instantly in using the the IMW. The problems of synchronization between a "smart" control processor and a "dumb" sound processor disappear entirely, leaving only the easier and more interesting problem of coordinating several, equal, high-level processors. It is in the merging of pre-existing applications that this unification between control and synthesis makes the biggest difference. Users of the 4X...