Date of Original Version
Abstract or Table of Contents
Adding sound output to interfaces is a very difficult task with today’s toolkits, even though there are many situations in which it would be useful and effective. We have designed an architecture that makes it very easy to add sound output to an interface. Any interaction behavior, animation, or command can be augmented with sounds to occur at the beginning or end, or for the duration. Parameters of the sound, such as the speed or volume can be easily tied to properties of the data using constraints. Two different sound objects are currently supplied: one for playing recorded sounds, and the other for text-to-speech. The text-to-speech sound object can be used to quickly build various kinds of screen readers. Easy-to-use mechanisms give the programmer complete control over interrupting and pre-empting when multiple sounds are played at the same time. Because sound output can be added to an existing application with as little as a single extra line of code, we expect that this new mechanism will make it easy for researchers and developers to investigate the use of sound in a wide variety of applications.