home *** CD-ROM | disk | FTP | other *** search
/ CD Actual 13 / CDA13.ISO / DOC / HOWTO / SOUND_HO.GZ / SOUND_HO
Encoding:
Text File  |  1996-06-23  |  66.7 KB  |  1,674 lines

  1.   The Linux Sound HOWTO
  2.   Jeff Tranter, jeff_tranter@mitel.com
  3.   v1.14, 10 June 1996
  4.  
  5.   This document describes sound support for Linux. It lists the sup¡
  6.   ported sound hardware, describes how to configure the kernel drivers,
  7.   and answers frequently asked questions. The intent is to bring new
  8.   users up to speed more quickly and reduce the amount of traffic in the
  9.   Usenet news groups.
  10.  
  11.   1.  Introduction
  12.  
  13.   This is the Linux Sound HOWTO document. It is intended as a quick
  14.   reference covering everything you need to know to install and
  15.   configure sound support under Linux. Frequently asked questions about
  16.   sound under Linux are answered, and references are given to some other
  17.   sources of information on a variety of topics related to computer
  18.   generated sound and music.
  19.  
  20.   The scope is limited to the aspects of sound cards pertaining to
  21.   Linux. See the other documents listed in the References section for
  22.   more general information on sound cards and computer sound and music
  23.   generation.
  24.  
  25.   1.1.  Acknowledgments
  26.  
  27.   Much of this information came from the README files provided with the
  28.   sound driver source code, by Hannu Savolainen (hannu@voxware.pp.fi).
  29.   Thanks go to Hannu and the many other people who developed the Linux
  30.   kernel sound drivers and utilities.
  31.  
  32.   Thanks to the Linuxdoc-SGML package, this HOWTO is available in
  33.   several formats, all generated from a common source file.
  34.  
  35.   1.2.  Revision History
  36.  
  37.      Version 1.1
  38.         first version; posted to SOUND channel of Linux activists
  39.         mailing list only
  40.  
  41.      Version 1.2
  42.         minor updates; first version available on archive sites
  43.  
  44.      Version 1.3
  45.         converted to SGML; now available in several formats using Matt
  46.         Welsh's Linuxdoc-SGML tools; appearance changed due to new
  47.         format, only minor changes to content
  48.  
  49.      Version 1.4
  50.         minor tweaking of SGML; added answer on PAS16 and Adaptec1542A
  51.         SCSI adaptor incompatibilities
  52.  
  53.      Version 1.5
  54.         2.5a sound driver is now in 1.1 kernel distribution; note on
  55.         GUS-MAX support; other minor updates
  56.      Version 1.6
  57.         added info on "no space on device" error; added note that
  58.         Hacker's Guide is in a "hidden" directory; added question on
  59.         bidirectional mode; info on "device busy" errors; other minor
  60.         changes
  61.  
  62.      Version 1.7
  63.         added info on ASP and AWE32; VoxWare 2.9 is available; answer to
  64.         question on using IRQ2; references to Sound and SCSI HOWTOs
  65.  
  66.      Version 1.8
  67.         added question on errors under DOS; many minor things updated to
  68.         match the version 2.90 sound driver; info on DOOM; answer on
  69.         reducing noise
  70.  
  71.      Version 1.9
  72.         questions on recording and clone cards
  73.  
  74.      Version 1.10
  75.         mentioned that HOWTO is available on WWW, as printed copies, and
  76.         translations; info on DMA conflict with QIC tape driver; info on
  77.         Sound Galaxy NX Pro and Logitech BusMouse
  78.  
  79.      Version 1.11
  80.         A long overdue update (I've been busy); document placed under
  81.         GPL; brought up to date with version 3.0 sound driver; info on
  82.         many new supported sound card drivers; more info on
  83.         configuration and troubleshooting; lots of HTML links added;
  84.         brought in line with format of CD-ROM HOWTO
  85.  
  86.      Version 1.12
  87.         new sound drivers in 1.3.34 kernel; new sound device names; 1542
  88.         address is 334 not 333; clarify status of Creative Labs Emu and
  89.         ASP; pointer to Creative Labs and MediaTrix Web sites
  90.  
  91.      Version 1.13
  92.         note on the name VoxWare; updated to reflect latest supported
  93.         sound cards and configuration options; question on Plug and Play
  94.         support; question on block size problem; new xconfig and
  95.         menuconfig options; modutils has sound device support; vger
  96.         mailing list going away; emphasize author's Web site; other
  97.         miscellaneous minor changes
  98.  
  99.      Version 1.14
  100.         Audio Excell DSP16 is not currently supported (should be working
  101.         again in a few months); changes to configure program; Italian
  102.         version of HOWTO available; trick for setting mixer gains when
  103.         loading sound module; latest stable kernel is now 2.0; new name
  104.         for sound driver; question on root permissions on sound device
  105.         files
  106.  
  107.   1.3.  New versions of this document
  108.  
  109.   New versions of this document will be periodically posted to the
  110.   comp.os.linux.answers newsgroup. They will also be uploaded to various
  111.   anonymous ftp sites that archive such information including
  112.   <ftp://sunsite.unc.edu/pub/Linux/docs/HOWTO/>.
  113.  
  114.   Hypertext versions of this and other Linux HOWTOs are available on
  115.   many World-Wide-Web sites, including
  116.   <http://sunsite.unc.edu/mdw/mdw.html>. Most Linux CD-ROM distributions
  117.   include the HOWTOs, often under the  </usr/doc/> directory, and you
  118.   can also buy printed copies from several vendors.
  119.  
  120.   A French translation of this document is available at
  121.   <ftp://ftp.ibp.fr/pub2/linux/french/docs/HOWTO/>.
  122.  
  123.   A Japanese translation is available is available from
  124.   <http://yebisu.ics.es.osaka-u.ac.jp/linux/>.
  125.  
  126.   An Italian translation is available is available from
  127.   <http://www.psico.unipd.it/ildp/docs/HOWTO/Sound-HOWTO.html>.
  128.  
  129.   If you make a translation of this document into another language, let
  130.   me know and I'll include a reference to it here.
  131.  
  132.   1.4.  Feedback
  133.  
  134.   I rely on you, the users, to make this HOWTO useful. If you have any
  135.   suggestions, corrections, or comments, please send them to me,
  136.   jeff_tranter@mitel.com, and I will try to incorporate them in the next
  137.   revision.
  138.  
  139.   I am also willing to answer general questions on sound cards and
  140.   Linux, as best I can. Before doing so, please read all of the
  141.   information in this HOWTO, and send me detailed information about the
  142.   problem.
  143.  
  144.   If you publish this document on a CD-ROM or in hardcopy form, a
  145.   complimentary copy would be appreciated. Mail me for my postal
  146.   address. Also consider making a donation to the Linux Documentation
  147.   Project to help support free documentation for Linux. Contact the
  148.   Linux HOWTO coordinator, Greg Hankins  <mailto:gregh@sunsite.unc.edu>,
  149.   for more information.
  150.  
  151.   1.5.  Distribution Policy
  152.  
  153.   Copyright (C) 1996 Jeff Tranter.
  154.  
  155.   This HOWTO is free documentation; you can redistribute it and/or
  156.   modify it under the terms of the GNU General Public License as
  157.   published by the Free Software Foundation; either version 2 of the
  158.   License, or (at your option) any later version.
  159.  
  160.   This document is distributed in the hope that it will be useful, but
  161.   without any warranty; without even the implied warranty of
  162.   merchantability or fitness for a particular purpose.  See the GNU
  163.   General Public License for more details.
  164.  
  165.   You can obtain a copy of the GNU General Public License by writing to
  166.   the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139,
  167.   USA.
  168.  
  169.   2.  Sound Card Technology
  170.  
  171.   This section gives a very cursory overview of computer audio
  172.   technology, in order to help you understand the concepts used later in
  173.   the document. You should consult a book on digital audio or digital
  174.   signal processing in order to learn more.
  175.  
  176.   Sound is an analog property; it can take on any value over a
  177.   continuous range. Computers are digital; they like to work with
  178.   discrete values. Sound cards use a device known as an Analog to
  179.   Digital Converter (A/D or ADC) to convert voltages corresponding to
  180.   analog sound waves into digital or numeric values which can be stored
  181.   in memory. Similarly, a Digital to Analog Converter (D/A or DAC)
  182.   converts numeric values back to an analog voltage which can in turn
  183.   drive a loudspeaker, producing sound.
  184.  
  185.   The process of analog to digital conversion, known as sampling,
  186.   introduces some error. Two factors are key in determining how well the
  187.   sampled signal represents the original. Sampling rate is the number of
  188.   samples made per unit of time (usually expresses as samples per second
  189.   or Hertz). A low sampling rate will provide a less accurate
  190.   representation of the analog signal. Sample size is the range of
  191.   values used to represent each sample, usually expressed in bits. The
  192.   larger the sample size, the more accurate the digitized signal will
  193.   be.
  194.  
  195.   Sound cards commonly use 8 or 16 bit samples at sampling rates from
  196.   about 4000 to 44,000 samples per second. The samples may also be
  197.   contain one channel (mono) or two (stereo).
  198.  
  199.   FM Synthesis is an older technique for producing sound. It is based on
  200.   combining different waveforms (e.g. sine, triangle, square).  FM
  201.   synthesis is simpler to implement in hardware that D/A conversion, but
  202.   is more difficult to program and less flexible. Many sound cards
  203.   provide FM synthesis for backward compatibility with older cards and
  204.   software. Several independent sound generators or voices are usually
  205.   provided.
  206.  
  207.   Wavetable Synthesis combines the flexibility of D/A conversion with
  208.   the multiple channel capability of FM synthesis. With this scheme
  209.   digitized voices can be downloaded into dedicated memory, and then
  210.   played, combined, and modified with little CPU overhead. State of the
  211.   art sound cards all support wavetable synthesis.
  212.  
  213.   Most sound cards provide the capability of mixing, combining signals
  214.   from different input sources and controlling gain levels.
  215.  
  216.   MIDI stands for Musical Instrument Digital Interface, and is a
  217.   standard hardware and software protocol for allowing musical
  218.   instruments to communicate with each other. The events sent over a
  219.   MIDI bus can also be stored as MIDI files for later editing and
  220.   playback. Many sound cards provide a MIDI interface. Those that do not
  221.   can still play MIDI files using the on-board capabilities of the sound
  222.   card.
  223.  
  224.   MOD files are a common format for computer generated songs.  As well
  225.   as information about the musical notes to be played, the files contain
  226.   digitized samples for the instruments (or voices).  MOD files
  227.   originated on the Amiga computer, but can be played on other systems,
  228.   including Linux, with suitable software.
  229.  
  230.   3.  Supported Hardware
  231.  
  232.   This section lists the sound cards and interfaces that are currently
  233.   supported under Linux. The information here is based on the latest
  234.   Linux kernels, at time of writing.
  235.  
  236.   The sound driver has its own version numbering.  The latest stable
  237.   Linux kernel release was version 2.0, using sound driver version
  238.   3.5.2-960330.
  239.  
  240.   The author of the sound driver, Hannu Savolainen, typically also makes
  241.   available newer beta releases of the sound driver as kernel patches
  242.   before they are included as part of the standard Linux kernel
  243.   distribution.
  244.  
  245.   This information is only valid for Linux on the Intel platform.  Some
  246.   information may be applicable to other processor architectures, but I
  247.   have no first hand experience or information.
  248.  
  249.   3.1.  Sound Cards
  250.  
  251.   The following sound cards are supported by the Linux kernel sound
  252.   driver:
  253.  
  254.   ╖  ATI Stereo F/X
  255.  
  256.   ╖  AdLib
  257.  
  258.   ╖  Ensoniq SoundScape (and compatibles made by Reveal and Spea)
  259.  
  260.   ╖  Gravis Ultrasound
  261.  
  262.   ╖  Gravis Ultrasound ACE
  263.  
  264.   ╖  Gravis Ultrasound Max
  265.  
  266.   ╖  Gravis Ultrasound with 16 bit sampling option
  267.  
  268.   ╖  Logitech Sound Man 16
  269.  
  270.   ╖  Logitech SoundMan Games
  271.  
  272.   ╖  Logitech SoundMan Wave
  273.  
  274.   ╖  MAD16 Pro (OPTi 82C929)
  275.  
  276.   ╖  Media Vision Jazz16
  277.  
  278.   ╖  MediaTriX AudioTriX Pro
  279.  
  280.   ╖  Microsoft Windows Sound System (MSS/WSS)
  281.  
  282.   ╖  Mozart (OAK OTI-601)
  283.  
  284.   ╖  Orchid SW32
  285.  
  286.   ╖  Personal Sound System (PSS)
  287.  
  288.   ╖  Pro Audio Spectrum 16
  289.  
  290.   ╖  Pro Audio Studio 16
  291.  
  292.   ╖  Pro Sonic 16
  293.  
  294.   ╖  Roland MPU-401 MIDI interface
  295.  
  296.   ╖  Sound Blaster 1.0
  297.  
  298.   ╖  Sound Blaster 16
  299.  
  300.   ╖  Sound Blaster 16ASP
  301.  
  302.   ╖  Sound Blaster 2.0
  303.  
  304.   ╖  Sound Blaster AWE32
  305.  
  306.   ╖  Sound Blaster Pro
  307.  
  308.   ╖  TI TM4000M notebook
  309.  
  310.   ╖  ThunderBoard
  311.  
  312.   ╖  Turtle Beach Tropez
  313.  
  314.   ╖  Yamaha FM synthesizers (OPL2, OPL3 and OPL4)
  315.  
  316.   ╖  6850 UART MIDI Interface
  317.  
  318.   The following cards are not supported, either because they are
  319.   obsolete or because the vendor will not release the programming
  320.   information needed to write a driver:
  321.  
  322.   ╖  Pro Audio Spectrum (original)
  323.  
  324.   ╖  Pro Audio Spectrum+
  325.  
  326.   ╖  older (Sierra Aria based) soundcards made by Diamond
  327.  
  328.   Cards using the Plug and Play protocol are not currently supported but
  329.   should be in the future.
  330.  
  331.   Other sound cards that are claimed to be compatible with one of the
  332.   supported sound cards may work if they are hardware (i.e. register
  333.   level) compatible. Some cards described as "100% SoundBlaster
  334.   compatible" are not register compatible. Some hints for getting
  335.   compatible cards to work are given later in this document. If you have
  336.   a card that works and is not listed here, let me know and I will add
  337.   it to the list.
  338.  
  339.   The Linux kernel supports the SCSI port provided on some sound cards
  340.   (e.g. ProAudioSpectrum 16) and the proprietary interface for some CD-
  341.   ROM drives (e.g. Soundblaster Pro). See the Linux SCSI HOWTO and CDROM
  342.   HOWTO documents for more information.
  343.  
  344.   A loadable kernel module to support joystick ports, including those
  345.   provided on some sound cards, is also available.
  346.  
  347.   Note that the kernel SCSI, CD-ROM, joystick, and sound drivers are
  348.   completely independent of each other.
  349.  
  350.   For the latest information on the sound card driver check Hannu
  351.   Savolainen's World-Wide Web site listed in the References section.
  352.  
  353.   3.2.  Alternate Sound Drivers
  354.  
  355.   There are some "unofficial" sound drivers available, not included in
  356.   the standard Linux kernel distribution, and used in place of the
  357.   standard sound driver.
  358.  
  359.   Markus Mummert (mum@mmk.e-technik.tu-muenchen.de) has written a driver
  360.   package for the Turtle Beach MultiSound (classic), Tahiti, and
  361.   Monterey soundcards. The documentation states:
  362.  
  363.        "It is designed for high quality hard disk record¡
  364.        ing/playback without losing sync even on a busy system.
  365.        Other features such as wave synthesis, MIDI and digital sig¡
  366.        nal processor (DSP) cannot be used. Also, recording and
  367.        playback at the same time is not possible. It currently
  368.        replaces VoxWare and was tested on several kernel versions
  369.        ranging from 1.0.9 to 1.2.1. Also, it is installable on UN*X
  370.        SysV386R3.2 systems."
  371.  
  372.   It can be found at  <http://www.cs.colorado.edu/~mccreary/tbeach>.
  373.  
  374.   Kim Burgaard (burgaard@daimi.aau.dk) has written a device driver and
  375.   utilities for the Roland MPU-401 MIDI interface. The Linux software
  376.   map entry gives this description:
  377.  
  378.        "A device driver for true Roland MPU-401 compatible MIDI
  379.        interfaces (including Roland SCC-1 and RAP-10/ATW-10). Comes
  380.        with a useful collection of utilities including a Standard
  381.        MIDI File player and recorder.
  382.  
  383.        Numerous improvements have been made since version 0.11a.
  384.        Among other things, the driver now features IRQ sharing pol¡
  385.        icy and complies with the new kernel module interface.
  386.        Metronome functionality, possibility for synchronizing e.g.
  387.        graphics on a per beat basis without losing precision,
  388.        advanced replay/record/overdub interface and much, much
  389.        more."
  390.  
  391.   It can be found at
  392.   <ftp://sunsite.unc.edu/pub/Linux/kernel/sound/mpu401-0.2.tar.gz>.
  393.  
  394.   3.3.  PC Speaker
  395.  
  396.   An alternate sound driver is available that requires no additional
  397.   sound hardware; it uses the internal PC speaker. It is mostly software
  398.   compatible with the sound card driver, but, as might be expected,
  399.   provides much lower quality output and has much more CPU overhead. The
  400.   results seem to vary, being dependent on the characteristics of the
  401.   individual loudspeaker. For more information, see the documentation
  402.   provided with the release.
  403.  
  404.   The current version is 0.9b, and can be found at
  405.   <ftp://ftp.informatik.hu-berlin.de/pub/os/linux/hu-sound/>
  406.  
  407.   3.4.  Parallel Port
  408.  
  409.   Another option is to build a digital to analog converter using a
  410.   parallel printer port and some additional components. This provides
  411.   better sound quality than the PC speaker but still has a lot of CPU
  412.   overhead. The PC sound driver package mentioned above supports this,
  413.   and includes instructions for building the necessary hardware.
  414.  
  415.   4.  Installation
  416.  
  417.   Configuring Linux to support sound involves the following steps:
  418.  
  419.   1. Installing the sound card.
  420.  
  421.   2. Configuring and building the kernel for sound support.
  422.  
  423.   3. Creating the device files.
  424.  
  425.   4. Booting the Linux kernel and testing the installation.
  426.  
  427.   The next sections will cover each of these steps in detail.
  428.  
  429.   4.1.  Installing the Sound Card
  430.  
  431.   Follow the manufacturer's instructions for installing the hardware or
  432.   have your dealer perform the installation.
  433.  
  434.   Older sound cards usually have switch or jumper settings for IRQ, DMA
  435.   channel, etc; note down the values used. If you are unsure, use the
  436.   factory defaults. Try to avoid conflicts with other devices (e.g.
  437.   ethernet cards, SCSI host adaptors, serial and parallel ports) if
  438.   possible.
  439.  
  440.   4.2.  Configuring the Kernel
  441.  
  442.   When initially installing Linux you likely used a precompiled kernel.
  443.   These kernels usually do not provide sound support. It is best to
  444.   recompile the kernel yourself with the drivers you need. You may also
  445.   want to recompile the kernel in order to upgrade to a newer version or
  446.   to free up memory resources by minimizing the size of the kernel.
  447.  
  448.   The Linux Kernel HOWTO <http://sunsite.unc.edu/mdw/HOWTO/Kernel-
  449.   HOWTO.html> should be consulted for the details of building a kernel.
  450.   I will just mention here some issues that are specific to sound cards.
  451.  
  452.   If you have never configured the kernel for sound support before it is
  453.   a good idea to read all of the Readme files included with the kernel
  454.   sound drivers, particularly information specific to your card type.
  455.   The following documentation files can be found in the kernel sound
  456.   driver directory, usually installed in
  457.   </usr/src/linux/drivers/sound>:
  458.  
  459.   CHANGELOG         - description of changes in each release
  460.   COPYING           - copying and copyright restrictions
  461.   Readme            - latest and most important news
  462.   Readme.aedsp16    - information about Audio Excel DSP 16 sound card
  463.   Readme.cards      - notes on configuring specific cards
  464.   Readme.linux      - notes on installing separately release sound drivers
  465.   Readme.modules    - how to build driver as a loadable kernel module
  466.   Readme.v30        - new features in version 3.0 sound driver
  467.   experimental.txt  - notes on experimental features
  468.  
  469.   Follow the usual procedure for building the kernel. There are
  470.   currently three ways to run the configuration process. A graphical
  471.   user interface that runs under X11 can be invoked using "make
  472.   xconfig". A menu-based system that only requires text displays is
  473.   available as "make menuconfig". I will assume that you use the
  474.   traditional command line configuration process invoked using "make
  475.   config", although the process is similar in each case.
  476.  
  477.   It is also possible to build the sound driver as a kernel loadable
  478.   module. I recommend initially building the driver into the kernel.
  479.   Once it is tested and working you can explore using the kernel module
  480.   option.
  481.  
  482.   When you run make config, enable sound support by answering "y" to the
  483.   question
  484.  
  485.        Sound card support (CONFIG_SOUND) [M/n/y/?]
  486.  
  487.   At the end of the configuration questions a sound configuration
  488.   program will be compiled, run, and will then ask you what sound card
  489.   options you want. Be careful when answering these questions since
  490.   answering a question incorrectly may prevent some later ones from
  491.   being asked. For example, don't answer "yes" to the first question
  492.   (PAS16) if you don't really have a PAS16. Don't enable more cards than
  493.   you really need, since they just consume memory. Also some drivers
  494.   (like MPU401) may conflict with your SCSI controller and prevent the
  495.   kernel from booting.
  496.  
  497.   I list here a brief description of each of the configuration dialog
  498.   options. Answer "y" (yes) or "n" (no) to each question. The default
  499.   answer is shown so that "Y/n/?" means "y" by default and "N/y/?"
  500.   means the default is "n". To use the default value, just hit Enter,
  501.   but remember that the default value isn't necessarily correct.
  502.  
  503.   Entering a question mark ("?") will produce a short descriptive
  504.   message describing that configuration option.
  505.  
  506.   Note also that all questions may not be asked. The configuration
  507.   program may disable some questions depending on the earlier choices.
  508.   It may also select some options automatically as well.
  509.  
  510.      Old configuration exists in /etc/soundconf. Use it Y/n/?
  511.         If you have previously compiled the kernel for sound support,
  512.         then the previous configuration can be saved. If you want to use
  513.         the previous setup, answer "y". If you are trying a different
  514.         configuration or have upgraded to a newer kernel, you should
  515.         answer "n" and go through the configuration process.
  516.      ProAudioSpectrum 16 support Y/n/?
  517.         Answer "y" only if you have a Pro Audio Spectrum 16, ProAudio
  518.         Studio 16 or Logitech SoundMan 16.  Don't answer 'y' if you have
  519.         some other card made by Media Vision or Logitech since they are
  520.         not PAS16 compatible.
  521.  
  522.      SoundBlaster support Y/n/?
  523.         Answer "y" if you have an original SoundBlaster card made by
  524.         Creative Labs or a 100% hardware compatible clone (like the
  525.         Thunderboard or SM Games). If your card was in the list of
  526.         supported cards look at the card specific instructions in the
  527.         Readme.cards file before answering this question. For an unknown
  528.         card you may answer "y'"if the card claims to be SoundBlaster
  529.         compatible.
  530.  
  531.      Gravis Ultrasound support Y/n/?
  532.         Answer "y" if you have a GUS or GUS MAX. Answer "n" if you don't
  533.         have a GUS since the driver consumes a lot of memory.
  534.  
  535.      MPU-401 support (NOT for SB16) Y/n/?
  536.         Be careful with this question. The MPU401 interface is supported
  537.         by almost all soundcards. However, some natively supported cards
  538.         have their own driver for MPU401. Enabling the MPU401 option
  539.         with these cards will cause a conflict. Also enabling MPU401 on
  540.         a system that doesn't really have a MPU401 could cause some
  541.         trouble. If your card was in the list of supported cards, look
  542.         at the card specific instructions in the Readme.cards file. It's
  543.         safe to answer "y" if you have a true MPU401 MIDI interface
  544.         card.
  545.  
  546.      6850 UART Midi support Y/n/?
  547.         It's safe to answer "n" to this question in all cases. The 6850
  548.         UART interface is very rarely used.
  549.  
  550.      PSS (ECHO-ADI2111) support Y/n/?
  551.         Answer "y" only if you have Orchid SW32, Cardinal DSP16 or some
  552.         other card based on the PSS chipset (AD1848 codec + ADSP-2115
  553.         DSP chip + Echo ESC614 ASIC CHIP).
  554.  
  555.      16 bit sampling option of GUS (not GUS MAX) Y/n/?
  556.         Answer "y" if you have installed the 16 bit sampling
  557.         daughtercard on your GUS. Answer "n" if you have a GUS MAX.
  558.         Enabling this option disables GUS MAX support.
  559.  
  560.      GUS MAX support Y/n/?
  561.         Answer "y" only if you have a GUS MAX.
  562.  
  563.      Microsoft Sound System support Y/n/?
  564.         Again think carefully before answering "y" to this question.
  565.         It's safe to answer "y" if you have the original Windows Sound
  566.         System card made by Microsoft or Aztech SG 16 Pro (or NX16 Pro).
  567.         Also you may answer "y" in case your card was not listed earlier
  568.         in this file. For cards having native support in VoxWare,
  569.         consult the card specific instructions in Readme.cards. Some
  570.         drivers have their own MSS support and enabling this option will
  571.         cause a conflict.
  572.  
  573.      Ensoniq Soundscape support Y/n/?
  574.         Answer "y" if you have a soundcard based on the Ensoniq
  575.         SoundScape chipset. Such cards are being manufactured at least
  576.         by Ensoniq, Spea and Reveal (Reveal makes other cards also).
  577.  
  578.      MediaTriX AudioTriX Pro support Y/n/?
  579.         Answer "y" if you have the AudioTriX Pro.
  580.  
  581.      Support for MAD16 and/or Mozart based cards?
  582.         Answer "y" if your card has a Mozart (OAK OTI-601) or MAD16
  583.         (OPTi 82C928 or 82C929) audio interface chip. These chips are
  584.         currently quite common so it's possible that many no-name cards
  585.         have one of them. In addition the MAD16 chip is used in some
  586.         cards made by known manufacturers such as Turtle Beach (Tropez),
  587.         Reveal (some models) and Diamond (latest ones).
  588.  
  589.      Support for Crystal CS4232 based (PnP) cards Y/n/?
  590.         Answer "y" if you have a card based on the Crystal CS4232 chip
  591.         set.
  592.  
  593.      Support for Turtle Beach Wave Front (Maui, Tropez) synthesizers
  594.         Y/n/?"  Answer "y" if you have any of these cards.
  595.  
  596.      SoundBlaster Pro support Y/n/?
  597.         Enable this option if your card is a SoundBlaster Pro or
  598.         SoundBlaster 16. Enable it also with any SoundBlaster Pro
  599.         clones. Answering "n" saves some memory but "y" is the safe
  600.         alternative.
  601.  
  602.      SoundBlaster 16 support Y/n/?
  603.         Enable if you have a SoundBlaster 16 (including the AWE32).
  604.  
  605.      Audio Excel DSP 16 initialization support Y/n/?
  606.         Enable this if you have an Audio Excel DSP16 card. See the file
  607.         Readme.aedsp16 for more information.
  608.  
  609.   The configuration program then asks some questions about the higher
  610.   level services. It's recommended to answer "y" to each of these
  611.   questions. Answer "n" only if you know you will not need the option.
  612.  
  613.      /dev/dsp and /dev/audio support (usually required) Y/n/?
  614.         Answering "n" disables /dev/dsp and /dev/audio, the A/D and D/A
  615.         converter devices. Answer "y".
  616.  
  617.      MIDI interface support Y/n/?
  618.         Answering "n" disables /dev/midixx devices and access to any
  619.         MIDI ports using /dev/sequencer and /dev/music. This option also
  620.         affects any MPU401 and/or General MIDI compatible devices.
  621.  
  622.      FM synthesizer (YM3812/OPL-3) support Y/n/?
  623.         Answer "y" here.
  624.  
  625.      /dev/sequencer support Y/n/?
  626.         Answering "n" disables /dev/sequencer and /dev/music
  627.  
  628.      Do you want support for the mixer of SG NX Pro ?
  629.         Answer "y" if you have a Sound Galaxy NX Pro sound card and want
  630.         support for its extended mixer functions.
  631.  
  632.      Do you want support for the MV Jazz16 (ProSonic etc.) ?
  633.         Answer "y" if you have an MV Jazz16 sound card.
  634.  
  635.      Do you have a Logitech SoundMan Games Y/n/?
  636.         Answer "y" if you have a Logitech SoundMan Games sound card.
  637.  
  638.   After the above questions the configuration program prompts for the
  639.   card specific configuration information. Usually just a set of I/O
  640.   address, IRQ and DMA numbers are asked. With some cards the program
  641.   asks for some files to be used during initialization of the card.
  642.   These are used by cards which have a DSP chip or microprocessor which
  643.   must be initialized by downloading a program (microcode) file to the
  644.   card. In some cases this file is written to a .h file by the config
  645.   program and then included to the driver during compile. Again, read
  646.   the information in the file Readme.cards pertaining to your card type.
  647.  
  648.   At the end you will be prompted:
  649.  
  650.        The sound driver is now configured.
  651.        Save copy of this configuration to /etc/soundconf [Y/n/?]
  652.  
  653.   Normally you would enter "y" so that if you later need to recompile
  654.   the kernel you have the option of using the same sound driver
  655.   configuration.
  656.  
  657.   If you are upgrading from an older sound driver, make sure that the
  658.   files /usr/include/sys/soundcard.h and /usr/include/sys/ultrasound.h
  659.   are symbolic links to the corresponding files in /usr/include/linux,
  660.   or that they simply contain the lines #include <linux/soundcard.h> and
  661.   #include <linux/ultrasound.h>, respectively.
  662.  
  663.   You are now ready to compile and install the new kernel.
  664.  
  665.   4.3.  Creating the Device Files
  666.  
  667.   The first time the kernel sound driver is configured you need to
  668.   create the sound device files. The easiest way to do this is to cut
  669.   the short shell script from the end of the file Readme.linux in the
  670.   directory /usr/src/linux/drivers/sound, and run it as user root.
  671.  
  672.   If your device entries already exist, you might want to ensure they
  673.   are correct. If they are not, or if you are in doubt, run the above
  674.   script and it will replace any existing entries with correct ones.
  675.  
  676.   Some older Linux distributions provided install scripts which created
  677.   incorrect sound device files. You may also have a /dev/MAKEDEV script
  678.   for creating device files. Using the script included with the kernel
  679.   sound driver is preferred since it should always be up to date with
  680.   the latest supported sound devices.
  681.  
  682.   After running the script your sound device files should look something
  683.   like this:
  684.  
  685.   lrwxrwxrwx   1 root        11 Aug 22 00:01 audio -> /dev/audio0
  686.   crw-rw-rw-   1 root   14,   4 Aug 22 00:01 audio0
  687.   crw-rw-rw-   1 root   14,  20 Aug 22 00:01 audio1
  688.   lrwxrwxrwx   1 root         9 Aug 22 00:01 dsp -> /dev/dsp0
  689.   crw-rw-rw-   1 root   14,   3 Aug 22 00:01 dsp0
  690.   crw-rw-rw-   1 root   14,  19 Aug 22 00:01 dsp1
  691.   crw-rw-rw-   1 root   14,   2 Aug 22 00:01 midi00
  692.   crw-rw-rw-   1 root   14,  18 Aug 22 00:01 midi01
  693.   crw-rw-rw-   1 root   14,  34 Aug 22 00:01 midi02
  694.   crw-rw-rw-   1 root   14,  50 Aug 22 00:01 midi03
  695.   crw-rw-rw-   1 root   14,   0 Aug 22 00:01 mixer
  696.   crw-rw-rw-   1 root   14,  16 Aug 22 00:01 mixer1
  697.   crw-rw-rw-   1 root   14,   8 Aug 22 00:01 music
  698.   crw-rw-rw-   1 root   14,  17 Aug 22 00:01 patmgr0
  699.   crw-rw-rw-   1 root   14,  33 Aug 22 00:01 patmgr1
  700.   crw-rw-rw-   1 root   14,   1 Aug 22 00:01 sequencer
  701.   lrwxrwxrwx   1 root        10 Aug 22 00:01 sequencer2 -> /dev/music
  702.   crw-rw-rw-   1 root   14,   6 Aug 22 00:01 sndstat
  703.  
  704.   Pay particular attention to the device names and the major and minor
  705.   device numbers listed in the fourth and fifth columns.
  706.  
  707.   If you are using the PC speaker sound driver, read the documentation
  708.   that came with the package to determine what device files to create.
  709.  
  710.   Normally the configuration you used when building the kernel will be
  711.   acceptable to the sound card driver. It is also possible to pass
  712.   parameters on the kernel command line (e.g. from LILO) to configure
  713.   the sound driver. These are defined in the file Readme.linux.  It
  714.   should rarely be necessary to use these. They are mainly intended for
  715.   developers of Linux boot disks to create a kernel that supports
  716.   multiple types of sound cards.
  717.  
  718.   4.4.  Booting Linux and Testing the Installation
  719.  
  720.   You should now be ready to boot the new kernel and test the sound
  721.   drivers. Follow your usual procedure for installing and rebooting the
  722.   new kernel (keep the old kernel around in case of problems, of
  723.   course).
  724.  
  725.   During booting, check for a message such as the following on powerup
  726.   (if they scroll by too quickly to read, you may be able to retrieve
  727.   them with the "dmesg" command):
  728.  
  729.        snd2 <SoundBlaster Pro 3.2> at 0x220 irq 5 drq 1
  730.        snd1 <Yamaha OPL-3 FM> at 0x388 irq 0 drq 0
  731.  
  732.   This should match your sound card type and jumper settings (if any).
  733.  
  734.   The driver may also display some error messages and warnings during
  735.   boot. Watch for these when booting the first time after configuring
  736.   the sound driver.
  737.  
  738.   Next you should check the device file /dev/sndstat.  Reading the sound
  739.   driver status device file should provide additional information on
  740.   whether the sound card driver initialized properly. Sample output
  741.   should look something like this:
  742.  
  743.        % cat /dev/sndstat
  744.        Sound Driver:3.5.2-960330 (Tue  4 16:31:10 EDT 1996 root,
  745.        Linux fizzbin 2.0.0 #1 Mon Jun 3 16:59:37 EDT 1996 i386)
  746.        Kernel: Linux fizzbin 2.0.0 #1 Tue Jun 4 16:57:55 EDT 1996 i386
  747.        Config options: a80002
  748.  
  749.        Installed drivers:
  750.        Type 1: OPL-2/OPL-3 FM
  751.        Type 2: SoundBlaster
  752.        Type 6: SoundBlaster 16bit
  753.        Type 7: SB MPU
  754.  
  755.        Card config:
  756.        SoundBlaster at 0x220 irq 5 drq 1,5
  757.        OPL-2/OPL-3 FM at 0x388 irq 0 drq 0
  758.  
  759.        Audio devices:
  760.        0: SoundBlaster Pro 3.2
  761.  
  762.        Synth devices:
  763.        0: Yamaha OPL-3
  764.  
  765.        Midi devices:
  766.        0: SoundBlaster
  767.  
  768.        Timers:
  769.        0: System clock
  770.  
  771.        Mixers:
  772.        0: SoundBlaster
  773.  
  774.   Now you should be ready to play a simple sound file. Get hold of a
  775.   sound sample file, and send it to the sound device as a basic check of
  776.   sound output, e.g.
  777.  
  778.        % cat endoftheworld >/dev/dsp
  779.        % cat crash.au >/dev/audio
  780.  
  781.   (Make sure you don't omit the ">" in the commands above).
  782.  
  783.   Some sample sound files can be obtained from
  784.   <ftp://tsx-11.mit.edu/pub/linux/packages/sound/snd-data-0.1.tar.Z>
  785.  
  786.   Now you can verify sound recording. If you have sound input
  787.   capability, you can do a quick test of this using commands such as the
  788.   following:
  789.  
  790.   # record 4 seconds of audio from microphone
  791.   EDT% dd bs=8k count=4 </dev/audio >sample.au
  792.   4+0 records in
  793.   4+0 records out
  794.   # play back sound
  795.   % cat sample.au >/dev/audio
  796.  
  797.   Obviously for this to work you need a microphone connected to the
  798.   sound card and you should speak into it. You may also need to obtain a
  799.   mixer program to set the microphone as the input device and adjust the
  800.   recording gain level.
  801.  
  802.   If these tests pass, you can be reasonably confident that the sound
  803.   D/A and A/D hardware and software are working. If you experience
  804.   problems, refer to the next section of this document.
  805.  
  806.   4.5.  Troubleshooting
  807.  
  808.   If you still encounter problems after following the instructions in
  809.   the HOWTO, here are some things to check. The checks are listed in
  810.   increasing order of complexity. If a check fails, solve the problem
  811.   before moving to the next stage.
  812.  
  813.   4.5.1.  Step 1: Make sure you are really running the kernel you com¡
  814.   piled.
  815.  
  816.   You can check the date stamp on the kernel to see if you are running
  817.   the one that you compiled with sound support. You can do this with the
  818.   uname command:
  819.  
  820.        % uname -a
  821.        Linux fizzbin 2.0.0 #1 Tue Jun 4 16:57:55 EDT 1996 i386
  822.  
  823.   or by displaying the file /proc/version:
  824.  
  825.        % cat /proc/version
  826.        Linux version 2.0.0 (root@fizzbin) (gcc version 2.7.0) #1 Tue Jun 4 16:57:55 EDT 1996
  827.  
  828.   If the date stamp doesn't seem to match when you compiled the kernel,
  829.   then you are running an old kernel. Did you really reboot? If you use
  830.   LILO, did you re-install it (typically by running /etc/lilo/install)?
  831.   If booting from floppy, did you create a new boot floppy and use it
  832.   when booting?
  833.  
  834.   4.5.2.  Step 2: Make sure the kernel sound drivers are compiled in.
  835.  
  836.   You can see what drivers are compiled in by looking at /proc/devices:
  837.  
  838.        % cat /proc/devices
  839.        Character devices:
  840.         1 mem
  841.         4 tty
  842.         5 cua
  843.         6 lp
  844.        14 sound
  845.        15 Joystick
  846.  
  847.        Block devices:
  848.         2 fd
  849.         3 hd
  850.        25 sbpcd
  851.  
  852.   What we are looking for here is character device 14, labeled "sound".
  853.   If the sound device is not listed then something went wrong with the
  854.   kernel configuration or build. Start the installation process again,
  855.   beginning with configuration and building of the kernel.
  856.  
  857.   4.5.3.  Step 3: Did the kernel detect your sound card during booting?
  858.  
  859.   Make sure that the sound card was detected when the kernel booted. You
  860.   should have seen a message on bootup. If the messages scrolled off the
  861.   screen, you can usually recall them using the dmesg command:
  862.  
  863.        % dmesg
  864.  
  865.   or
  866.  
  867.        % tail /var/adm/messages
  868.  
  869.   If your sound card was not found then something is wrong. Make sure it
  870.   really is installed. If the sound card works under DOS then you can be
  871.   reasonably confident that the hardware is working, so it is likely a
  872.   problem with the kernel configuration. Either you configured your
  873.   sound card as the wrong type or wrong parameters, or your sound card
  874.   is not compatible with any of the Linux kernel sound card drivers.
  875.  
  876.   One possibility is that your sound card is one of the "compatible"
  877.   type that requires initialization by the DOS driver. Try booting DOS
  878.   and loading the vendor supplied sound card driver. Then soft boot
  879.   Linux using Control-Alt-Delete. Make sure that card I/O address, DMA,
  880.   and IRQ settings for Linux are the same as used under DOS.  Read the
  881.   Readme.cards file from the sound driver source distribution for hints
  882.   on configuring your card type.
  883.  
  884.   If your sound card is not listed in this document, it is possible that
  885.   the Linux drivers do not support it. You can check with some of the
  886.   references listed at the end of this document for assistance.
  887.  
  888.   4.5.4.  Step 4: Can you read data from the dsp device?
  889.  
  890.   Try reading from the /dev/audio device using the dd command listed
  891.   earlier in this document. The command should run without errors.
  892.  
  893.   If this does not work, then a possible cause is the device file. Make
  894.   sure than the device files in the /dev directory has the correct major
  895.   and minor numbers as listed previously. Check that the permissions on
  896.   the device file allow reading and writing.
  897.  
  898.   A remote possibility is a hardware problem. Try testing the drive
  899.   under DOS, if possible, to determine if this could be the case.
  900.  
  901.   4.5.5.  When All Else Fails
  902.  
  903.   If you still have problems, here are some final suggestions for things
  904.   to try:
  905.  
  906.   ╖  carefully re-read this HOWTO document
  907.  
  908.   ╖  read the references listed at the end of this document, especially
  909.      the relevant kernel source Readme files
  910.  
  911.   ╖  post a question to one of the comp.os.linux or other usenet
  912.      newsgroups
  913.  
  914.   ╖  send a question to the Sound channel of the Linux mailing list
  915.  
  916.   ╖  try using the latest Linux kernel
  917.  
  918.   ╖  contact your computer dealer
  919.  
  920.   ╖  contact the sound card manufacturer
  921.  
  922.   ╖  send mail to the author of the sound driver
  923.  
  924.   ╖  send mail to the author of the Sound HOWTO
  925.  
  926.   ╖  fire up emacs and type Esc-x doctor
  927.  
  928.   5.  Applications Supporting Sound
  929.  
  930.   I give here a sample of the types of applications that you likely want
  931.   if you have a sound card under Linux. You can check the Linux Software
  932.   Map, Internet archive sites, and/or files on your Linux CD-ROM for
  933.   more up to date information.
  934.  
  935.   As a minimum, you will likely want to obtain the following sound
  936.   applications:
  937.  
  938.   ╖  audio file format conversion utility (e.g. Sox)
  939.  
  940.   ╖  mixer utility (e.g. aumix or xmix)
  941.  
  942.   ╖  digitized file player/recorder (e.g. play or wavplay)
  943.  
  944.   ╖  MOD file player (e.g. tracker)
  945.  
  946.   ╖  MIDI file player (e.g. mp)
  947.  
  948.   There are text-based as well as GUI-based versions of most of these
  949.   tools. There are also some more esoteric applications (e.g. speech
  950.   synthesis and recognition) that you may wish to try.
  951.  
  952.   6.  Answers To Frequently Asked Questions
  953.  
  954.   This section answers some of the questions that have been commonly
  955.   asked on the Usenet news groups and mailing lists.
  956.  
  957.   6.1.  What are the various sound device files?
  958.  
  959.   These are the most "standard" device file names, some Linux
  960.   distributions may use slightly different names.
  961.  
  962.      /dev/audio
  963.         normally a link to /dev/audio0
  964.  
  965.      /dev/audio0
  966.         Sun workstation compatible audio device (only a partial
  967.         implementation, does not support Sun ioctl interface, just u-law
  968.         encoding)
  969.  
  970.      /dev/audio1
  971.         second audio device (if supported by sound card)
  972.  
  973.      /dev/dsp
  974.         normally a link to /dev/dsp0
  975.  
  976.      /dev/dsp0
  977.         first digital sampling device
  978.  
  979.      /dev/dsp1
  980.         second digital sampling device
  981.  
  982.      /dev/mixer
  983.         sound mixer
  984.  
  985.      /dev/mixer1
  986.         second sound mixer
  987.  
  988.      /dev/music
  989.         high-level sequencer interface
  990.  
  991.      /dev/patmgr0
  992.         Patch Manager
  993.  
  994.      /dev/patmgr1
  995.         Patch Manager
  996.  
  997.      /dev/sequencer
  998.         low level MIDI, FM, and GUS access
  999.  
  1000.      /dev/sequencer2
  1001.         normally a link to /dev/music
  1002.  
  1003.      /dev/midi00
  1004.         1st raw MIDI port
  1005.  
  1006.      /dev/midi01
  1007.         2nd raw MIDI port
  1008.  
  1009.      /dev/midi02
  1010.         3rd raw MIDI port
  1011.  
  1012.      /dev/midi03
  1013.         4th raw MIDI port
  1014.  
  1015.      /dev/sndstat
  1016.         displays sound driver status when read
  1017.  
  1018.   The PC speaker driver provides the following devices:
  1019.  
  1020.      /dev/pcaudio
  1021.         equivalent to /dev/audio
  1022.  
  1023.      /dev/pcsp
  1024.         equivalent to /dev/dsp
  1025.  
  1026.      /dev/pcmixer
  1027.         equivalent to /dev/mixer
  1028.  
  1029.   6.2.  How can I play a sound sample?
  1030.  
  1031.   Sun workstation (.au) sound files can be played by sending them to the
  1032.   /dev/audio device. Raw samples can be sent to /dev/dsp. Using a
  1033.   program such as play is preferable, as it will recognize most file
  1034.   types and set the sound card to the correct sampling rate, etc.
  1035.  
  1036.   6.3.  How can I record a sample?
  1037.  
  1038.   Reading /dev/audio or /dev/dsp will return sampled data that can be
  1039.   redirected to a file. A program such as vrec makes it easier to
  1040.   control the sampling rate, duration, etc. You may also need a mixer
  1041.   program to select the appropriate input device.
  1042.  
  1043.   6.4.  Can I have more than one sound card?
  1044.  
  1045.   Up to two sound cards is supported. It's possible to install a Gravis
  1046.   UltraSound or MPU-401 with a SoundBlaster, SoundBlaster Pro,
  1047.   SoundBlaster16 or ProAudioSpectrum16. It's not possible to have a
  1048.   ProAudioSpectrum16 and SoundBlaster at the same time (the PAS16 has an
  1049.   SB emulator in it). It's also not possible to have more than one card
  1050.   of the same type at the same time -- for example, a GUS + GUS
  1051.   combination is not possible.
  1052.  
  1053.   You can change the sound card configuration parameters at boot time
  1054.   using command line options from a boot loader such as LILO. See the
  1055.   kernel sound driver file Readme.linux for details.
  1056.  
  1057.   6.5.  Error: No such file or directory for sound devices
  1058.  
  1059.   You need to create the sound driver device files. See the section on
  1060.   creating device files. If you do have the device files, ensure that
  1061.   they have the correct major and minor device numbers (some older CD-
  1062.   ROM distributions of Linux may not create the correct device files
  1063.   during installation).
  1064.  
  1065.   6.6.  Error: No such device for sound devices
  1066.  
  1067.   You have not booted with a kernel containing the sound driver or the
  1068.   I/O address configuration doesn't match your hardware. Check that you
  1069.   are running the newly compiled kernel and verify that the settings
  1070.   entered when configuring the sound driver match your hardware setup.
  1071.  
  1072.   6.7.  Error: No space left on device for sound devices
  1073.  
  1074.   This can happen if you tried to record data to /dev/audio or /dev/dsp
  1075.   without creating the necessary device file. The sound device is now a
  1076.   regular file, and has filled up your disk partition. You need to run
  1077.   the script described in the Creating the Device Files section of this
  1078.   document.
  1079.  
  1080.   6.8.  Error: device busy for sound devices
  1081.  
  1082.   Only one process can open a given sound device at one time. Most
  1083.   likely some other process is using the device in question. One way to
  1084.   determine this is to use the fuser command:
  1085.  
  1086.        % fuser -v /dev/dsp
  1087.        /dev/dsp:             USER       PID ACCESS COMMAND
  1088.                              tranter    265 f....  tracker
  1089.  
  1090.   In the above example, the fuser command showed that process 265 had
  1091.   the device open. Waiting for the process to complete or killing it
  1092.   will allow the sound device to be accessed once again.
  1093.  
  1094.   6.9.  I still get device busy errors!
  1095.  
  1096.   According to Brian Gough, for the SoundBlaster cards which use DMA
  1097.   channel 1 there is a potential conflict with the QIC-02 tape driver,
  1098.   which also uses DMA 1, causing "device busy" errors. If you are using
  1099.   FTAPE, you may have this driver enabled. According to the FTAPE-HOWTO
  1100.   the QIC-02 driver is not essential for the use of FTAPE; only the
  1101.   QIC-117 driver is required. Reconfiguring the kernel to use QIC-117
  1102.   but not QIC-02 allows FTAPE and the sound-driver to coexist.
  1103.  
  1104.   (the following explanation was supplied by Harald Albrecht
  1105.   albrecht@igpm.rwth-aachen.de)
  1106.  
  1107.   Some soundcards support using DMA channel 0. The sound driver
  1108.   configuration program allows this, and the kernel compiles properly,
  1109.   but accessing the sound device results in a "device busy" error
  1110.   message.
  1111.  
  1112.   The reason is that the Linux kernel reserves DMA channel 0 for DRAM
  1113.   refresh. This is no longer true for modern 386/486 boards which use
  1114.   their own refresh logic. You can correct it by changing this line in
  1115.   the file /usr/src/linux/kernel/dma.c:
  1116.  
  1117.        static volatile unsigned int dma_chan_busy[MAX_DMA_CHANNELS] = {
  1118.                        1, 0, 0, 0, 1, 0, 0, 0
  1119.        };
  1120.  
  1121.   Replace the first 1 with a 0; this enables DMA channel 0. Don't do the
  1122.   same with DMA channel 4 as this is cascade and won't work! The code
  1123.   should now look like this:
  1124.  
  1125.        static volatile unsigned int dma_chan_busy[MAX_DMA_CHANNELS] = {
  1126.                        0, 0, 0, 0, 1, 0, 0, 0
  1127.        };
  1128.  
  1129.   Recompile and reboot with the new kernel.
  1130.  
  1131.   6.10.  Partial playback of digitized sound file
  1132.  
  1133.   The symptom is usually that a sound sample plays for about a second
  1134.   and then stops completely or reports an error message about "missing
  1135.   IRQ" or "DMA timeout". Most likely you have incorrect IRQ or DMA
  1136.   channel settings. Verify that the kernel configuration matches the
  1137.   sound card jumper settings and that they do not conflict with some
  1138.   other card.
  1139.  
  1140.   Another symptom is sound samples that "loop". This is usually caused
  1141.   by an IRQ conflict.
  1142.  
  1143.   6.11.  There are pauses when playing MOD files
  1144.  
  1145.   Playing MOD files requires considerable CPU power. You may have too
  1146.   many processes running or your computer may be too slow to play in
  1147.   real time. Your options are to:
  1148.  
  1149.   ╖  try playing with a lower sampling rate or in mono mode
  1150.  
  1151.   ╖  eliminate other processes
  1152.  
  1153.   ╖  buy a faster computer
  1154.  
  1155.   ╖  buy a more powerful sound card (e.g. Gravis UltraSound)
  1156.  
  1157.   If you have a Gravis UltraSound card, you should use one of the mod
  1158.   file players written specifically for the GUS (e.g. gmod).
  1159.  
  1160.   6.12.  Compile errors when compiling sound applications
  1161.  
  1162.   The version 1.0c and earlier sound driver used a different and
  1163.   incompatible ioctl() scheme. Obtain newer source code or make the
  1164.   necessary changes to adapt it to the new sound driver. See the sound
  1165.   driver Readme file for details.
  1166.  
  1167.   Also ensure that you have used the latest version of soundcard.h and
  1168.   ultrasound.h when compiling the application. See the installation
  1169.   instructions at beginning of this text.
  1170.  
  1171.   6.13.  SEGV when running sound binaries that worked previously
  1172.  
  1173.   This is probably the same problem described in the previous question.
  1174.  
  1175.   6.14.  What known bugs or limitations are there in the sound driver?
  1176.  
  1177.   See the Readme and CHANGELOG files included with the sound driver
  1178.   kernel source.
  1179.  
  1180.   6.15.  What do all the sound driver configuration options mean?
  1181.  
  1182.   During configuration of the sound driver, a configure program is
  1183.   compiled and executed. This program asks you some questions and then
  1184.   generates the header file local.h that defines the sound card
  1185.   configuration.
  1186.  
  1187.   The configuration file defines (or undefines) the following symbols:
  1188.  
  1189.   Symbol                  Meaning
  1190.   ======                  =======
  1191.   KERNEL_SOUNDCARD        enable/disable sound driver
  1192.   EXCLUDE_PAS             ProAudioSpectrum support
  1193.   EXCLUDE_SB              SoundBlaster support
  1194.   EXCLUDE_ADLIB           AdLib support
  1195.   EXCLUDE_GUS             Gravis UltraSound support
  1196.   EXCLUDE_MPU401          MPU-401 MIDI interface support
  1197.   EXCLUDE_UART6850        6850 MIDI UART support
  1198.   EXCLUDE_PSS             Professional Sound System support
  1199.   EXCLUDE_GUS16           Gravis UltraSound support
  1200.   EXCLUDE_GUSMAX          Gravis UltraSound Max support
  1201.   EXCLUDE_MSS             Microsoft Sound System support
  1202.   EXCLUDE_SBPRO           SoundBlaster Pro support
  1203.   EXCLUDE_SB16            SoundBlaster 16 support
  1204.   EXCLUDE_AUDIO           Digitized voice support
  1205.   EXCLUDE_MIDI            MIDI interface support
  1206.   EXCLUDE_YM3812          FM synthesizer (YM3812/OPL-3) support
  1207.   EXCLUDE_SEQUENCER       MIDI sequencer support
  1208.   EXCLUDE_PRO_MIDI        SoundBlaster Pro MIDI support
  1209.   EXCLUDE_CHIP_MIDI       MIDI on CHIP support
  1210.   SBC_BASE 0x220          SoundBlaster I/O base address
  1211.   SBC_IRQ                 SoundBlaster IRQ number
  1212.   SBC_DMA                 SoundBlaster DMA channel
  1213.   SB16_DMA                SoundBlaster 16 DMA channel
  1214.   SB16_MIDI_BASE          base address of SoundBlaster 16 MIDI port
  1215.   PAS_IRQ                 ProAudioSpectrum IRQ number
  1216.   PAS_DMA                 ProAudioSpectrum DMA channel
  1217.   GUS_IRQ                 Gravis UltraSound IRQ number
  1218.   GUS_DMA                 Gravis UltraSound DMA channel
  1219.   GUS_BASE                base address of Gravis UltraSound
  1220.   MPU_IRQ                 MPU-401 IRQ number
  1221.   MPU_BASE                base address of MPU-401 port
  1222.   DSP_BUFFSIZE            DMA buffer size
  1223.  
  1224.   Several other defines are also created, setting such things as the
  1225.   sound driver revision level and the time and date when configure was
  1226.   run.
  1227.  
  1228.   There are other parameters that are not set by the configure program.
  1229.   If you need to change these, edit the file sound_config.h.
  1230.  
  1231.   To disable the sound driver, run make config and answer "no" to the
  1232.   "Sound card support?" question.
  1233.  
  1234.   6.16.  Where are the sound driver ioctls() etc. documented?
  1235.  
  1236.   These are partially documented in the Hacker's Guide to VoxWare,
  1237.   currently available in draft form. The latest version is draft 2, and
  1238.   can be found on  <ftp://nic.funet.fi/pub/OS/Linux/ALPHA/sound>. Note
  1239.   that this directory is "hidden" and will not appear in directory
  1240.   listings. If you "cd" to the directory and use the FTP "dir" command,
  1241.   the files are there.
  1242.  
  1243.   6.17.  What CPU resources are needed to play or record without pauses?
  1244.  
  1245.   There is no easy answer to this question, as it depends on:
  1246.  
  1247.   ╖  whether using PCM sampling or FM synthesis
  1248.  
  1249.   ╖  sampling rate and sample size
  1250.  
  1251.   ╖  which application is used to play or record
  1252.  
  1253.   ╖  Sound Card hardware
  1254.  
  1255.   ╖  disk I/O rate, CPU clock speed, cache size, etc.
  1256.  
  1257.   In general, any 386 machine should be able to play samples or FM
  1258.   synthesized music on an 8 bit soundcard with ease.
  1259.  
  1260.   Playing MOD files, however, requires considerable CPU resources. Some
  1261.   experimental measurements have shown that playing at 44kHz requires
  1262.   more than 40% of the speed of a 486/50 and a 386/25 can hardly play
  1263.   faster than 22 kHz (these are with an 8 bit card sound such as a
  1264.   SoundBlaster). A card such as the Gravis UltraSound card performs more
  1265.   functions in hardware, and will require less CPU resources.
  1266.  
  1267.   These statements assume the computer is not performing any other CPU
  1268.   intensive tasks.
  1269.  
  1270.   Converting sound files or adding effects using a utility such as Sox
  1271.   is also much faster if you have a math coprocessor. The kernel driver
  1272.   itself does not do any floating point calculations, though.
  1273.  
  1274.   6.18.  Problems with a PAS16 and an Adaptec 1542 SCSI host adaptor
  1275.  
  1276.   (the following explanation was supplied by seeker@indirect.com)
  1277.  
  1278.   Linux only recognizes the 1542 at address 330 (default) or 334, and
  1279.   the PAS only allows the MPU-401 emulation at 330.  Even when you
  1280.   disable the MPU-401 under software, something still wants to conflict
  1281.   with the 1542 if it's at its preferred default address.  Moving the
  1282.   1542 to 334 makes everyone happy.
  1283.  
  1284.   Additionally, both the 1542 and the PAS-16 do 16-bit DMA, so if you
  1285.   sample at 16-bit 44 KHz stereo and save the file to a SCSI drive hung
  1286.   on the 1542, you're about to have trouble.  The DMAs overlap and there
  1287.   isn't enough time for RAM refresh, so you get the dread ``PARITY ERROR
  1288.   - SYSTEM HALTED'' message, with no clue to what caused it.  It's made
  1289.   worse because a few second-party vendors with QIC-117 tape drives
  1290.   recommend setting the bus on/off times such that the 1542 is on even
  1291.   longer than normal.  Get the SCSISEL.EXE program from Adaptec's BBS or
  1292.   several places on the internet, and reduce the BUS ON time or increase
  1293.   the BUS OFF time until the problem goes away, then move it one notch
  1294.   or more further.  SCSISEL changes the EEPROM settings, so it's more
  1295.   permanent than a patch to the DOS driver line in CONFIG.SYS, and will
  1296.   work if you boot right into Linux (unlike the DOS patch).  Next
  1297.   problem solved.
  1298.  
  1299.   Last problem - the older Symphony chipsets drastically reduced the
  1300.   timing of the I/O cycles to speed up bus accesses.  None of various
  1301.   boards I've played with had any problem with the reduced timing except
  1302.   for the PAS-16.  Media Vision's BBS has SYMPFIX.EXE that's supposed to
  1303.   cure the problem by twiddling a diagnostic bit in Symphony's bus
  1304.   controller, but it's not a hard guarantee.  You may need to:
  1305.  
  1306.   ╖  get the motherboard distributor to replace the older version bus
  1307.      chip,
  1308.   ╖  replace the motherboard, or
  1309.  
  1310.   ╖  buy a different brand of sound card.
  1311.  
  1312.   Young Microsystems will upgrade the boards they import for around $30
  1313.   (US); other vendors may be similar if you can figure out who made or
  1314.   imported the motherboard (good luck).  The problem is in ProAudio's
  1315.   bus interface chip as far as I'm concerned; nobody buys a $120 sound
  1316.   card and sticks it in a 6MHz AT.  Most of them wind up in 25-40MHz
  1317.   386/486 boxes, and should be able to handle at least 12MHz bus rates
  1318.   if the chips are designed right. Exit soapbox (stage left).
  1319.  
  1320.   The first problem depends on the chipset used on your motherboard,
  1321.   what bus speed and other BIOS settings, and the phase of the moon.
  1322.   The second problem depends on your refresh option setting (hidden or
  1323.   synchronous), the 1542 DMA rate and (possibly) the bus I/O rate.  The
  1324.   third can be determined by calling Media Vision and asking which
  1325.   flavor of Symphony chip is incompatible with their slow design.  Be
  1326.   warned, though - 3 of 4 techs I talked to were brain damaged.  I would
  1327.   be very leery of trusting anything they said about someone else's
  1328.   hardware, since they didn't even know their own very well.
  1329.  
  1330.   6.19.  Problems with the FM synthesizer on a SoundBlaster Pro 1
  1331.  
  1332.   The newer SB Pro has an OPL-3 FM chip, but the older version 1 used
  1333.   the OPL-2. The sound driver assumed the presence of an OPL-3. Version
  1334.   2.5 and later of the sound driver corrects this problem.
  1335.  
  1336.   6.20.  Is it possible to read and write samples simultaneously?
  1337.  
  1338.   Due to hardware limitations, this is not possible with most sound
  1339.   cards. Some newer cards do support it.  See the section on
  1340.   "bidirectional mode" in the Hacker's Guide to Voxware for more
  1341.   information.
  1342.  
  1343.   6.21.  My SB16 is set to IRQ 2, but configure does not allow this
  1344.   value.
  1345.  
  1346.   On '286 and later machines, the IRQ 2 interrupt is cascaded to the
  1347.   second interrupt controller. It is equivalent to IRQ 9.
  1348.  
  1349.   6.22.  Are the SoundBlaster AWE32 or SoundBlaster16 ASP supported?
  1350.  
  1351.   These cards offer special chips (ASP and Emu) that support additional
  1352.   features such as wavetable synthesis, however Creative Labs is not
  1353.   willing to release programming information. Unless they change their
  1354.   policy there can be no support for the special hardware under Linux.
  1355.   The cards are supported as regular SoundBlaster 16 cards under Linux.
  1356.  
  1357.   The Gravis UltraSound card has capabilities similar to the AWE32, and
  1358.   is supported under Linux.  Cards based on other DSPs such as the
  1359.   Analog Devices ADSP-21xx may be supported in the future.
  1360.  
  1361.   6.23.  If I run Linux, then boot DOS, I get errors and/or sound appli¡
  1362.   cations do not work properly.
  1363.  
  1364.   This happens after a soft reboot to DOS.  Sometimes the error message
  1365.   misleadingly refers to a bad CONFIG.SYS file.
  1366.  
  1367.   Most of the current sound cards have software programmable IRQ and DMA
  1368.   settings. If you use different settings between Linux and MS-
  1369.   DOS/Windows, this may cause problems. Some sound cards don't accept
  1370.   new parameters without a complete reset (i.e. cycle the power or use
  1371.   the hardware reset button).
  1372.  
  1373.   The quick solution to this problem it to perform a full reboot using
  1374.   the reset button or power cycle rather than a soft reboot (e.g. Ctrl-
  1375.   Alt-Del).
  1376.  
  1377.   The correct solution is to ensure that you use the same IRQ and DMA
  1378.   settings with MS-DOS and Linux (or not to use DOS :-).
  1379.  
  1380.   6.24.  Problems running DOOM under Linux
  1381.  
  1382.   Users of the port of ID software's game DOOM for Linux may be
  1383.   interested in these notes.
  1384.  
  1385.   For correct sound output you need version 2.90 or later of the sound
  1386.   driver; it has support for the real-time "DOOM mode".
  1387.  
  1388.   The sound samples are 16-bit. If you have an 8-bit sound card you can
  1389.   still get sound to work using one of several programs available in
  1390.   <ftp://sunsite.unc/edu/pub/Linux/games/doom>.
  1391.  
  1392.   If performance of DOOM is poor on your system, disabling sound (by
  1393.   renaming the file sndserver) may improve it.
  1394.  
  1395.   By default DOOM does not support music (as in the DOS version).  The
  1396.   program musserver will add support for music to DOOM under Linux. It
  1397.   can be found at  <ftp://pandora.st.hmc.edu/pub/linux/musserver.tgz>.
  1398.  
  1399.   6.25.  How can I reduce noise picked up by my soundcard?
  1400.  
  1401.   Using good quality shielded cables and trying the sound card in
  1402.   different slots may help reduce noise. If the sound card has a volume
  1403.   control, you can try different settings (maximum is probably best).
  1404.  
  1405.   Using a mixer program you can make sure that undesired inputs (e.g.
  1406.   microphone) are set to zero gain.
  1407.  
  1408.   Some sound cards are simply not designed with good shielding and
  1409.   grounding and are prone to noise pickup.
  1410.  
  1411.   Finally, on my system I found that the kernel command line option no-
  1412.   hlt reduces the noise level. This tells the kernel not to use the halt
  1413.   instruction when running the idle process loop. You can try this
  1414.   manually when booting, or set it up using the command append = "no-
  1415.   hlt" in your LILO configuration file.
  1416.  
  1417.   6.26.  I can play sounds, but not record.
  1418.  
  1419.   If you can play sound but not record, try these steps:
  1420.  
  1421.   ╖  use a mixer program to select the appropriate device (e.g.
  1422.      microphone)
  1423.  
  1424.   ╖  use the mixer to set the input gains to maximum
  1425.  
  1426.   ╖  If you can, try to test sound card recording under MS-DOS to
  1427.      determine if there is a hardware problem
  1428.  
  1429.   6.27.  My "compatible" sound card only works if I first initialize
  1430.   under MS-DOS.
  1431.  
  1432.   Some sound card clones are not 100% register compatible with the real
  1433.   thing; they sometimes contain extra circuitry such as mixers. You may
  1434.   be able to use these under Linux if you first initialize under MS-DOS,
  1435.   then soft boot Linux (i.e. Ctrl-Alt-Delete).
  1436.  
  1437.   One user also reported that he had better results if he used LOADLIN
  1438.   rather than LILO to boot Linux after initializing his sound card under
  1439.   MS-DOS (this was with a Diamond sound card).,
  1440.  
  1441.   They may or may not function reliably. The real solution is to find
  1442.   out from the manufacturer what the differences are and have the
  1443.   support added to the sound driver. This has been done, for example,
  1444.   for the Sound Galaxy NX Pro.
  1445.  
  1446.   6.28.  My 16-bit SoundBlaster "compatible" sound card only works in
  1447.   8-bit mode under Linux.
  1448.  
  1449.   16-bit sound cards described as SoundBlaster compatible are really
  1450.   only compatible with the 8-bit SoundBlaster Pro. They typically have a
  1451.   16-bit mode which is not compatible with the SoundBlaster 16 and not
  1452.   compatible with the Linux sound driver.
  1453.  
  1454.   If your card is also listed as compatible with the Microsoft Windows
  1455.   Sound System, you may be able to get it to work in 16-bit mode if you
  1456.   enable support for the WSS in the Linux sound driver. You will also
  1457.   probably have to do the DOS initialization trick to get the card to
  1458.   work.
  1459.  
  1460.   6.29.  Where can I find sound applications for Linux?
  1461.  
  1462.   Here are some good archive sites to search for Linux specific sound
  1463.   applications:
  1464.  
  1465.   ╖  <ftp://sunsite.unc.edu:/pub/Linux/kernel/sound/>
  1466.  
  1467.   ╖  <ftp://sunsite.unc.edu:/pub/Linux/apps/sound/>
  1468.  
  1469.   ╖  <ftp://tsx-11.mit.edu:/pub/linux/packages/sound/>
  1470.  
  1471.   ╖  <ftp://nic.funet.fi:/pub/OS/Linux/util/sound/>
  1472.  
  1473.   ╖  <ftp://nic.funet.fi:/pub/OS/Linux/xtra/snd-kit/>
  1474.  
  1475.   ╖  <ftp://nic.funet.fi:/pub/OS/Linux/ALPHA/sound/>
  1476.  
  1477.   6.30.  Can the sound driver be compiled as a loadable module?
  1478.  
  1479.   With recent kernels the sound driver is supported as a kernel loadable
  1480.   module.
  1481.  
  1482.   See the files  </usr/src/linux/drivers/sound/Readme.modules> and
  1483.   </usr/src/linux/Documentation/modules.txt> (or
  1484.   </usr/src/linux/README>) for details.
  1485.  
  1486.   6.31.  Can I use a soundcard to replace the system console beep?
  1487.  
  1488.   Try the oplbeep program, found at
  1489.   <ftp://sunsite.unc.edu/pub/Linux/apps/sound/oplbeep-alpha.tar.gz>
  1490.  
  1491.   Another variant is the beep program found at
  1492.   <ftp://sunsite.unc.edu/pub/Linux/kernel/patches/misc/modreq_beep.tgz>
  1493.  
  1494.   The modutils package has an example program and kernel patch that
  1495.   supports calling an arbitrary external program to generate sounds when
  1496.   requested by the kernel.
  1497.  
  1498.   Alternatively, with some sound cards you can connect the PC speaker
  1499.   output to the soundcard so that all sounds come from the sound card
  1500.   speakers.
  1501.  
  1502.   6.32.  What is VoxWare?
  1503.  
  1504.   The kernel sound drivers support several different Intel-based Unix
  1505.   compatible operating systems, and can be obtained as a package
  1506.   separate from the Linux kernel. Up until February 1996 the author had
  1507.   called the software "VoxWare". Unfortunately this name has been
  1508.   registered by VoxWare Incorporated, and can not be used. On March
  1509.   29th, 1996 Hannu Savolainen announced that the new name was Unix Sound
  1510.   System (USS) Lite.
  1511.  
  1512.   The Unix Sound System (USS) is going to be a commercially available
  1513.   kernel sound driver for various Unix systems, sold by 4Front
  1514.   Technologies. A free version, known as USS/Lite will continue to be
  1515.   made freely available for Linux systems.
  1516.  
  1517.   For more information see the 4Front Technologies Web page at
  1518.   <http://www.4front-tech.com/>.
  1519.  
  1520.   6.33.  Are Plug and Play sound card supported?
  1521.  
  1522.   Linux does not yet fully support Plug and Play devices, but it is
  1523.   being worked on. In the mean time some users have reported success by
  1524.   either disabling the Plug and Play options in their BIOS, or by
  1525.   initializing the devices under Windows 95 before soft booting Linux.
  1526.  
  1527.   6.34.  Sox/Play/Vplay reports "invalid block size 1024"?
  1528.  
  1529.   A change to the sound driver in version 1.3.67 broke some sound player
  1530.   programs which (incorrectly) checked that the result from the
  1531.   SNDCTL_DSP_GETBLKSIZE ioctl was greater than 4096. You should get a
  1532.   newer version of the program (if available) or fix it yourself. For
  1533.   the Sox <ftp://sunsite.unc.edu/pub/Linux/kernel/sound/convert/Lsox-
  1534.   linux.tar.gz> program, the following patch worked for me:
  1535.  
  1536.        --- sbdsp.c.orig        Thu Feb 22 22:46:00 1996
  1537.        +++ sbdsp.c     Thu Feb 22 22:51:18 1996
  1538.        @@ -176,7 +176,7 @@
  1539.                }
  1540.  
  1541.                ioctl (dspfd, SNDCTL_DSP_GETBLKSIZE, &abuf_size);
  1542.        -       if (abuf_size < 4096 || abuf_size > 65536) {
  1543.        +       if (abuf_size < 1) {
  1544.                        if (abuf_size == -1)
  1545.                        perror (dspname);
  1546.                        else
  1547.  
  1548.   6.35.  Why does the sound driver have its own configuration program?
  1549.  
  1550.   The sound driver supports many different configuration parameters.
  1551.   The configure program included with the sound driver checks for many
  1552.   dependencies between parameters. The tools used to configure the
  1553.   kernel don't support this level of functionality.
  1554.  
  1555.   That said, the recent 1.3.x kernels do optionally allow using the
  1556.   standard kernel configuration tools with the sound driver. See the
  1557.   notes in the CHANGELOG file for the sound driver. This is still
  1558.   experimental and some options cannot be set this way.
  1559.  
  1560.   6.36.  The mixer settings are reset whenever I load the sound driver
  1561.   module!
  1562.  
  1563.   You can build the sound driver as a loadable module and use kerneld to
  1564.   automatically load and unload it. This can present one problem -
  1565.   whenever the module is reloaded the mixer settings go back to their
  1566.   default values.  For some sound cards this can be too loud (e.g.
  1567.   SB16) or too quiet.  Markus Gutschke (gutschk@uni-muenster.de) found
  1568.   this solution. Use a line in your /etc/conf.modules file such as the
  1569.   following:
  1570.  
  1571.        options sound dma_buffsize=65536 && /usr/bin/setmixer igain 0 ogain 0 vol 75
  1572.  
  1573.   This causes your mixer program (in this case setmixer) to be run
  1574.   immediately after the sound driver is loaded. The dma_buffsize
  1575.   parameter is just a dummy value needed because the option command
  1576.   requires a command line option. Change the line as needed to match
  1577.   your mixer program and gain settings.
  1578.  
  1579.   If you have compiled the sound driver into your kernel and you want to
  1580.   set the mixer gains at boot time you can put a call to your mixer
  1581.   program in a system startup file such as /etc/rc.d/rc.local.
  1582.  
  1583.   6.37.  Only user root can record sound
  1584.  
  1585.   By default the script in Readme.linux that creates the sound device
  1586.   files only allows the devices to be read by user root. This is to plug
  1587.   a potential security hole. In a networked environment, external users
  1588.   could conceivably log in remotely to a Linux PC with a sound card and
  1589.   microphone and eavesdrop. If you are not worried about this, you can
  1590.   change the permissions used in the script.
  1591.  
  1592.   With the default setup, users can still play sound files. This is not
  1593.   a security risk but is a potential for nuisance.
  1594.  
  1595.   7.  References
  1596.  
  1597.   If you have a sound card that supports a CD-ROM or SCSI interface, the
  1598.   Linux SCSI HOWTO and the Linux CD-ROM HOWTO have additional
  1599.   information that may be useful to you.
  1600.  
  1601.   Hannu Savolainen has written a draft version of the Hacker's Guide to
  1602.   VoxWare. The latest version is draft 2, and can be found on
  1603.   <ftp://nic.funet.fi/pub/OS/Linux/ALPHA/sound/>.
  1604.  
  1605.   The following FAQs are regularly posted to the usenet newsgroup
  1606.   news.announce as well as being archived at
  1607.   <ftp://rtfm.mit.edu/pub/usenet/news.answers>:
  1608.  
  1609.   ╖  PCsoundcards/generic-faq (Generic PC Soundcard FAQ)
  1610.  
  1611.   ╖  PCsoundcards/soundcard-faq (comp.sys.ibm.pc.soundcard FAQ)
  1612.  
  1613.   ╖  PCsoundcards/gravis-ultrasound/faq (Gravis UltraSound FAQ)
  1614.  
  1615.   ╖  audio-fmts/part1 (Audio file format descriptions)
  1616.  
  1617.   ╖  audio-fmts/part2 (Audio file format descriptions)
  1618.  
  1619.   The FAQs also list several product specific mailing lists and archive
  1620.   sites. The following Usenet news groups discuss sound and/or music
  1621.   related issues:
  1622.  
  1623.   ╖  alt.binaries.sounds.* (various groups for posting sound files)
  1624.  
  1625.   ╖  alt.binaries.multimedia (for posting Multimedia files)
  1626.  
  1627.   ╖  alt.sb.programmer (Soundblaster programming topics)
  1628.  
  1629.   ╖  comp.multimedia (Multimedia topics)
  1630.  
  1631.   ╖  comp.music (Computer music theory and research)
  1632.  
  1633.   ╖  comp.sys.ibm.pc.soundcard.* (various IBM PC soundcard groups)
  1634.  
  1635.   A Web site dedicated to multimedia can be found at
  1636.   <http://viswiz.gmd.de/MultimediaInfo/>. Creative Labs has a Web site
  1637.   at  <http://www.creaf.com/>. MediaTrix has a Web site at
  1638.   <http://www.mediatrix.com/>.
  1639.  
  1640.   The Linux mailing list has a number of "channels" dedicated to
  1641.   different topics, including sound. To find out how to join, send a
  1642.   mail message with the word "help" as the message body to
  1643.   majordomo@vger.rutgers.edu. (Note: at time of writing these mailing
  1644.   lists were severely overloaded and a replacement was being sought).
  1645.  
  1646.   As mentioned several times before, the kernel sound driver includes a
  1647.   number of Readme files containing useful information about the sound
  1648.   card driver. These can typically be found in the directory
  1649.   </usr/src/linux/drivers/sound>.
  1650.  
  1651.   The author of the kernel sound driver, Hannu Savolainen, can be
  1652.   contacted by email at hannu@voxware.pp.fi. He also has a World-Wide
  1653.   Web site at  <http://personal.eunet.fi/pp/voxware>. The Web site is
  1654.   the best source for finding out the latest status of supported sound
  1655.   cards, known problems, and bug fixes.
  1656.  
  1657.   The Linux Software Map (LSM) is an invaluable reference for locating
  1658.   Linux software. Searching the LSM for keywords such as sound is a good
  1659.   way to identify applications related to sound hardware. The LSM can be
  1660.   found on various anonymous FTP sites, including
  1661.   <ftp://sunsite.unc.edu/pub/Linux/docs/LSM.gz>.
  1662.  
  1663.   The Linux Documentation Project has produced several books on Linux,
  1664.   including Linux Installation and Getting Started. These are freely
  1665.   available by anonymous FTP from major Linux archive sites or can be
  1666.   purchased in hardcopy format.
  1667.  
  1668.   Finally, a shameless plug: If you want to learn a lot more about
  1669.   multimedia under Linux (especially CD-ROM and sound card applications
  1670.   and programming), check out my new book Multimedia on Linux published
  1671.   by O'Reilly and Associates ( <http://www.ora.com/>). It should be
  1672.   available in the September 1996 time frame.
  1673.  
  1674.