AF Frequently Asked Questions

# AF Frequently Asked Questions List

See Also the Release Notes and Man Pages for further information.

# Table of Contents

1. General Topics
2. New Features in AF3
3. Servers
4. Building AF3
5. Related Topics

# General Topics

1. Which platforms have AF server support?
   Currently, AF3 servers exist for the following systems:
   OSF/1 for Alpha, TURBOchannel-based Workstations
     - Aaxp manages the base-board audio hardware on Alpha workstations.
     - Aj300 manages the J300 Sound and Motion TURBOchannel audio hardware.
     - Alofi manages the LoFi/DECaudio TURBOchannel audio hardware.
     - Ajv manages the J-Video prototype TURBOchannel audio hardware.
   OSF/1 for Alpha, Alpha PC 150
     - Amsb manages the Microsoft Sound Board audio hardware on an Alpha PC.
   Ultrix/RISC
     - Alofi manages the LoFi/DECaudio TURBOchannel audio hardware.
     - Amaxine manages the base-board audio hardware on Personal DECstations.
     - Ajv manages the J-Video prototype TURBOchannel audio hardware.
   SGI Irix
     - Asgi manages the audio hardware on Indigo.
   SunOS
     - Asparc manages the base-board audio hardware on Sparcstations.
     - SparcStation 10 dda support coming soon?
2. Can I use the AUDIOFILE environment variable to indicate which audio device I want to use?
   No. The AUDIOFILE variable is used to specify the default audio server to connect with and cannot be used to select the audio device within an audio server.

   See the Connection Name section in one of the server man pages for more details about the format of this environment variable (e.g., Aj300).

3. How do I select an audio device?
   A server will support one or more audio devices numbered [0...N). The simplest way to probe the list of audio devices is to use the aset client application,

       		aset q

   and examine the result. The output is formatted as a table with each row describing an audio device's attributes, and current state.

   The mapping of an audio device to a connector on the audio hardware is server specific.

4. Is there a GUI front-end for aplay that I can use with Mosaic?
   There is a simple Tk-based application called tkPlay in the contrib/clients tree within AF3. tkPlay allows you to control the output audio device, output gain, as well as other aplay command line switches. This app depends on having Tcl/Tk installed before use.

# New Features in AF3

1. Some server's audio devices export linear PCM-16 datatypes and others export mu-law. Will the server do datatype conversion for me?
   Yes. Clients can set the encoding type for playing or recording samples through an Audio Context. Clients can select among all popular scalar datatypes and several compressed datatypes; the audio server will automatically perform the datatype conversion for the client application.

2. Do the servers also support compressed datatypes?
   Yes. For example, IMA, GSM, a computationally simple ADPCM algorithm (2,3, and 4 bit quanitization), etc.
3. Does AF understand structured audio file formats?
   With AF3, we now include a customized version of the SOX library (Wes Whitnah, Tektronix). However, while this permits you to more easily write client apps that read and write structured audio file formats, the common apps in AF3 (aplay and arecord) do not yet have knowledge of file formats. This will be corrected soon.

# Servers

1. Why is the performance of the Amaxine server so poor (on the Personal DECstation)?
   The performance woes on the Personal DECstation are mostly due to the device driver. We no longer have Personal DECstations at CRL and will not try to improve the performance. We would welcome contributions if you choose to make source code changes that significantly improve the performance.
2. Why do I get bba: ISDN_DMA_ERROR error messages on the console of my Personal DECstation? Can I safely ignore these messages?
   These are error messages from the bba driver on the Personal DECstation (these messsage do not occur on other systems). You cannot make it stop other than by not running applications that use the /dev/bba device, (e.g. the Amaxine server). Although a few audio samples are lost when this occurs, you can otherwise safely ignore these messages.

# Building AF3 and AF3 Clients

1. How do I create a client AF Makefile from an Imakefile?
   Use the amkmf utility (not xmkmf) which is typically installed in /usr/local/bin/AF/amkmf.
2. I am having trouble building AF3 on 4.3a/4.4 of Ultrix, am I doing something wrong?
   I do not understand the exact cause of the problem, but it is related to the new compiler provided with Ultrix 4.3a. The compiler includes a backwards compatibility switch (see the cc man page). Add the -oldc switch to your default ccflags def in ultrix.cf (DefaultCCOptions) and try rebuilding the World. I believe this will "fix" your problems.

3. I try to build AF3 from source and I get complaints about dependencies on files that do not exist. What am I doing wrong?
   One of the more common problems with people building from an original source kit is not following the make World instructions. AF3 uses many of the same tools and configuration utilities as does X11, including the program imake. One of the first steps that occurs when rebuilding World is to make your local imake which is subsequently used to rebuild all Makefiles in the hierarchy. Later, dependencies are created in the new Makefiles.

   The problem alluded to by the question is typically caused by attempting to short-cut the process and build specific binary targets using the Makefiles included in the original source kit.

4. Can I build AF3 on Solaris (V2.3, the AF documentation only refers to SunOS 4.1.3)?
   Shortly after the release of AF3R1, there should be a patch kit available that will enable you to build and use AF3 under Solaris (Wes Whitnah, Tektronix).

# Related Topics

1. What features are being planned for the future?
   The most significant change under consideration is to include a general sampling rate conversion utility within the server (similar to encoding datatype conversion) to allow client applications to view an audio device as having their own preferred sampling-rate (with AF3 clients can select the datatype.)
2. Is AF "supported"?
   AF is not officially supported. AF is distributed in source code form with an fairly unrestrictive copyright. We use AF for audio and speech research here at CRL and support it on a best effort basis. Since it is distributed in source code, we welcome bug fixes (preferably in the form of patches to the last released source code kit.)
3. How do I make contributions?
   We welcome contributed clients or libraries as long as they carry a similar copyright notice as the core AF kit. Should you wish to make a contribution to the AF kit, send mail to the af-bugs@crl.dec.com to ask for specific information.
4. How does AF3 relate to NETaudio?
   Both are relatively popular distributed audio systems. While they both have some features in common, AF uniquely provides the device-time feature. We are working together with NCD towards developing a common audio system that incorporates the better features of both Netaudio and AF.

5. Where can I get the Ak kit?
   crl.dec.com:/pub/misc/ak-0.7.tar.Z
6. What are the current mailing lists/newsgroups for AF3?

       af@crl.dec.com		General af mailing list topics
       af-bugs@crl.dec.com	Send problem reports to this list
       af-request@crl.dec.com	For (un)subscribing to the af list

See this file for Copyright information.