

                        AF Version 3, Release 1

                                README

Introduction
------------

The AF System is a device-independent network-transparent system including 
client applications and audio servers. With AF, multiple audio applications 
can run simultaneously, sharing access to the actual audio hardware.

Network transparency means that application programs can run on machines 
scattered throughout the network.  Because AF permits applications to be 
device-independent, applications need not be rewritten to work with new 
audio hardware. AF does for sound what the X Window System does for text 
and graphics.

Development of AF began in 1989 at Digital Equipment Corporation's 
Cambridge Research Laboratory, but it builds on ideas from earlier work. We 
originally envisioned AF as a server to support all the capabilities of the 
CRL "LoFi" audio hardware running on the DECstation 5000 workstation, but 
we soon began adding support for a variety of other platforms and audio 
hardware.

This distribution of AF includes device drivers for several audio devices, 
server code for a number of platforms, a programming API and library, 
out-of-the-box core applications, and a number of "contributed" 
applications.  The key difference between the core and contributed 
applications is that the many of the contrib clients also depend on the 
TCL/Tk graphics toolkits distributed by the University of California.  (The 
AF distribution does not include TCL/Tk, but we tell you where to get it.)

With AF, it is easy to incorporate audio into applications. Simple "play" 
and "record" applications are included, or you can write your own using the 
AF API and client library.  AF allows applications to generate and process 
audio in real-time but it also permits more leisurely applications.  AF is 
quite resistant to the vagaries of scheduling and operating systems that 
can make handling audio difficult. We have successfully used AF for both 
trivial applications (audio BIFF) and complex applications (real-time 
teleconferencing, speech synthesis and recognition.) AF may not be 
appropriate for all purposes, but we have found it to be a versatile and 
effective tool.

We believe that AF is highly portable, and that it should be 
straightforward to add additional support for other systems equipped with 
audio hardware.

AF is distributed in source form, with a copyright similar to the X Window 
System on the server, client library, and most clients (see the COPYRIGHTS 
file and the source code.)

We would like to encourage other organizations to add support to AF for 
additional platforms, operating systems, and devices, and to contribute 
additional applications.

We have set up a mailing list for discussions of AF:

	af@crl.dec.com

send mail to af-request@crl.dec.com to be added to this list.

What is new in this Release?
---------------------------

  *** To build this release of AF, you must use a compiler that supports 
  function prototypes.  AF3R1 no longer includes the NeedFunctionPrototypes 
  macro to conditionally remove prototypes during compilation. ***

  Includes all known bug fixes (thanks to all of you who reported problems) 
  including several that were not provided as patches to AF2R2.

  Uses our official AF TCP port number.

  New protocol revision.

  Includes a few new clients, including tkPlay, a Tk based simple GUI to 
  aplay which is a good candidate for your XMosaic showaudio command.

  Includes automatic datatype conversion via an encoding type attribute on 
  a per AC basis.  Supports most simple datatypes as well as some 
  compressed formats (IMA, GSM, etc.)  See the aplay source as an example 
  of a client using this feature.

  Includes a conversion client and library code.  See aconvert in the 
  contrib hierarchy.

  Hypertext documentation, suitable for viewing with Mosaic, include int 
  the kit.  Also, watch for an announcement of an AF URL.

  Server support for the Microsoft Sound Board on the Alpha PC and the J300
  on Alpha TURBOchannel workstations.

  Server support for SGI Indigo courtesy of Guido van Rossum, CWI.

  Includes extension code courtesy of Wes Whitnah, Tektronix.

  A Sparc 10 AF dda should be available soon. Watch the mailing list.

  No doubt I have left things off this list...

AF Server
---------

This distribution of AF includes server support for Digital RISC systems 
running Ultrix, Digital Alpha AXP systems running OSF/1, SGI Indigo running 
IRIX 4.0.5, and Sun Microsystems SPARCstations running SunOS 4.1.3.  The 
servers support audio hardware ranging from the built-in CODEC audio on 
SPARCstations and Personal DECstations to 48 KHz stereo audio using the 
DECaudio TURBOchannel module.  In addition, server support is present for 
telephone access devices such as DECaudio.

AF API
------

The distribution includes C language bindings to the protocol that make it 
easy to write distributed audio applications.

AF Clients
----------

This distribution includes a number of core applications for recording, 
playback, telephone control, device control, and access control.

AF "Contrib" Clients
--------------------

The distribution includes a number of contributed applications including an 
audio file browser, an FFT spectrogram display, and multicast network audio 
service.

Kit Location
------------

The kit is located at ftp site crl.dec.com (Internet 192.58.206.2) in 
/pub/DEC/AF.  The following are the kit names that will be used for AF3.

	AF3R1.tar.Z		# Released version of AF3R1
	AF3R1-patches.tar.Z	# Collected set of all known patches to AF3R1
				# See ./patchlevel.h to find your current
				# patch revision.
	AF2R2-other.tar		# Example sounds bites.
	AF3100.alpha.tar	# Alpha OSF setld kit
	AF3100.mips.tar		# Ultrix/RISC setld kit

Use anonymous ftp to retrieve the file,

	% ftp crl.dec.com
	...
	ftp> cd /pub/DEC/AF
	ftp> binary
	ftp> get <kit_name>

The kit is shipped as a compressed tar file.  To unpack the kit,

	% cd <audio_root>
	% zcat <kit_name> | tar xpBf -

We also provide a sample kit of Hi-Fi sound bites for use with DECaudio. 
If you have a DECaudio, you might considering retrieving AF2R2-other.tar
and unpack this kit in the same manner as described above.

Other files available in this same directory are the release notes, 
copyright notice, and this README file.

Attention Mosaic Users! AF Related URLs
---------------------------------------

Papers and technical reports,

	ftp://crl.dec.com/pub/DEC/CRL/tech-reports/93.8.ps.Z
	ftp://crl.dec.com/pub/DEC/AF/af-usenix93.ps

Kit location,

	ftp://crl.dec.com/pub/DEC/AF

Documentation (once the kit is unpacked, substitute for <audio_root>)

        file://localhost/<audio_root>/AF.html

To start Mosaic with the AF hypertext documents, 

	% Mosaic <audio_root>/AF.html &

Roadmap
-------

Several directories will be created in your local audio root directory. The 
"AF" sub-tree contains the source code for the AF server, the AF client 
library, and several AF client programs.  The "devices" sub-tree contain 
device drivers for several audio devices. Finally, "sound_files" contains 
several sound bites you can use while verifying the kit installation.

The kit requires approximately 6 Megabytes and an additional 8 Megabytes 
for building and installing the release.  The HiFi sound files require 
another 4 Megabytes approximately.

Documents
---------

You should read the following documents prior to installing this software.

o  AF Release Notes - <audio_root>/docs/RELNOTES.{txt,PS}

o  Copyrights information - <audio_root>/COPYRIGHTS

Suggested Sequence
------------------

o  Retrieve the software package and create a local audio hierarchy.

o  Read the documents mentioned above.

o  Build the AF release by following the directions in the release 
   notes, RELNOTES.{PS,txt} in,

	% cd <audio_root>/AF

   You might want to save the output of the build and install session in 
   order to identify problems should any occur.

o  If you are using LoFi/DECaudio or the native audio on DECstations or 
   Alpha AXP workstations for the first time, see the instructions in one 
   of these directories for information about the hardware and device 
   drivers.

   For the native DECstation audio device,
		 <audio_root>/devices/maxine/driver/mips.src/bba.4 man page

   For the native Alpha AXP workstation audio device,
		 <audio_root>/devices/axp/driver/README

   For LoFi/DECaudio,

	On Ultrix/RISC (MIPS):
		 <audio_root>/devices/lofi/driver/mips.src/lofi.4 man page

	On DEC OSF/1 Alpha:
		 <audio_root>/devices/lofi/driver/alpha.src/lofi.7 man page
		 <audio_root>/devices/lofi/driver/alpha.src/README

   For the Microsoft Sound Board on OSF/1
		<audio_root>/devices/axp150/msb/driver/README

o  Test the AF server and clients.

o  Have fun!

Copyrights
----------

See the file <audio_root>/COPYRIGHTS for the full copyright and permission 
notice.
