Previous: Performance Up: Kiwi : A Parallel System for Software Sound Synthesis Next: Kiwi User's Manual

Conclusion

Kiwi has changed dramatically since work began in the summer of 1988, and it will continue to serve as a platform for testing new ideas about scheduling and sound synthesis. Several improvements are planned for the Scheduler. The Scheduler should process requests for new Tasks in parallel. Anderson[5] used parallel run queues to speed up thread management. The Scheduler could use a similar technique. It should also ensure that large Tasks are scheduled before small Tasks, since the large Tasks can dominate the speed of computation. Improvements are planned for the Sound class hierarchy. It should be expanded, and tools should be provided to design Kiwi orchestras automatically, freeing the composer from the need to write C++ code in most cases.

The design objective of this project was to build a software sound synthesizer that was both elegant and efficient. Kiwi takes advantage of two innovations; object-oriented programming and parallel processing. The C++ programming language provides a clear framework for constructing Kiwi's components, while simultaneously providing an intuitive user interface. Multiprocessors allow near linear speedup for synthesizing most musical textures and linear speedup for reverberating any musical texture. These two new technologies allowed Kiwi to achieve its design goal, which in turn gives the composer a better tool for making music.


[Bill's Home Page] Comments to walker@shout.net