+@node Sound Output
+@section Sound Output
+@cindex sound
+
+ To play sound using Emacs, use the function @code{play-sound}. Only
+certain systems are supported; if you call @code{play-sound} on a system
+which cannot really do the job, it gives an error. Emacs version 20 and
+earlier did not support sound at all.
+
+ The sound must be stored as a file in RIFF-WAVE format (@samp{.wav})
+or Sun Audio format (@samp{.au}).
+
+@tindex play-sound
+@defun play-sound sound
+This function plays a specified sound. The argument, @var{sound}, has
+the form @code{(sound @var{properties}...)}, where the @var{properties}
+consist of alternating keywords (particular symbols recognized
+specially) and values corresponding to them.
+
+Here is a table of the keywords that are currently meaningful in
+@var{sound}, and their meanings:
+
+@table @code
+@item :file @var{file}
+This specifies the file containing the sound to play.
+If the file name is not absolute, it is expanded against
+the directory @code{data-directory}.
+
+@item :data @var{data}
+This specifies the sound to play without need to refer to a file. The
+value, @var{data}, should be a string containing the same bytes as a
+sound file. We recommend using a unibyte string.
+
+@item :volume @var{volume}
+This specifies how loud to play the sound. It should be a number in the
+range of 0 to 1. The default is to use whatever volume has been
+specified before.
+@end table
+
+Before actually playing the sound, @code{play-sound}
+calls the functions in the list @code{play-sound-functions}.
+Each function is called with one argument, @var{sound}.
+@end defun
+
+@tindex play-sound-functions
+@defvar play-sound-functions
+A list of functions to be called before playing a sound. Each function
+is called with one argument, a property list that describes the sound.
+@end defvar
+