home *** CD-ROM | disk | FTP | other *** search
/ DP Tool Club 15 / CD_ASCQ_15_070894.iso / vrac / how_to.zip / SOUND.HOW < prev    next >
Text File  |  1994-04-29  |  24KB  |  737 lines

  1. Archive-name: linux/howto/sound
  2. Last-modified: 19 Apr 94
  3.  
  4.   The Linux Sound HOWTO
  5.   Jeff Tranter, Jeff_Tranter@Mitel.COM
  6.   v1.3, 18 April 1994
  7.  
  8.   This  document  describes  sound  support for Linux. It lists the sup-
  9.   ported sound hardware, describes how to configure the kernel  drivers,
  10.   and  answers  frequently  asked  questions. The intent is to bring new
  11.   users up to speed more quickly and reduce the amount of traffic in the
  12.   usenet news groups.
  13.  
  14.   1.  Introduction
  15.  
  16.  
  17.   This  HOWTO  document  describes  sound  support  for  Linux -- how to
  18.   configure the kernel, what applications run under Linux  that  support
  19.   sound,  and  answers  to frequently asked questions about sound cards.
  20.   The intent is to bring new users up to speed more quickly  and  reduce
  21.   the amount of traffic in the usenet news groups.
  22.  
  23.   The  scope  is  limited  to  the  aspects of sound cards pertaining to
  24.   Linux. See  the  other  documents  listed  in  the  Other  Sources  of
  25.   Information section for more general information on sound cards.
  26.  
  27.  
  28.   1.1.  Acknowledgments
  29.  
  30.  
  31.   Much  of this information came from the Readme files provided with the
  32.   sound driver source code, by Hannu  Savolainen  (hannu@voxware.pp.fi).
  33.   Thanks  go  to Hannu and the many other people who developed the Linux
  34.   kernel sound drivers and utilities.
  35.  
  36.   Thanks to Matt  Welsh's  Linuxdoc-SGML  package,  this  HOWTO  is  now
  37.   available in several formats, all generated from a common source file.
  38.  
  39.  
  40.   1.2.  Revision History
  41.  
  42.  
  43.  
  44.      Version 1.1
  45.         first version; posted to SOUND channel of Linux activists  mail-
  46.         ing list only
  47.  
  48.      Version 1.2
  49.         minor updates; first version available on archive sites
  50.  
  51.      Version 1.3
  52.         converted  to SGML ; now available in several formats using Matt
  53.         Welsh's Linuxdoc-SGML tools; appearance changed due to new  for-
  54.         mat, only minor changes to content
  55.  
  56.  
  57.   1.3.  New versions of this document
  58.  
  59.  
  60.   New   versions  of  this  document  will  be  periodically  posted  to
  61.   comp.os.linux.announce. They will also  be  uploaded  to  the  various
  62.   anonymous   ftp   sites   that   archive  such  information  including
  63.   sunsite.unc.edu:/pub/Linux/docs/HOWTO.
  64.  
  65.  
  66.   1.4.  Feedback
  67.  
  68.  
  69.  
  70.   If you have and suggestions, corrections, or comments  on  the  HOWTO,
  71.   please  send  them to the author and I will try to incorporate them in
  72.   the next release.
  73.  
  74.  
  75.   1.5.  Other Sources of Information
  76.  
  77.  
  78.   The Linux Sound User's Guide covers all of the user visible aspects of
  79.   using  sound under Linux in much more detail (approximately 40 pages).
  80.   If you are interested in sound under Linux you should  definitely  get
  81.   this  document.  The current version is ALPHA 0.1, and is available on
  82.   tsx-11.mit.edu in the directory /pub/linux/ALPHA/LDP. I will  continue
  83.   to  maintain the Sound-HOWTO as a concise guide for user's who want to
  84.   get sound up and running, or just find out what is  required,  without
  85.   having to read the full user's guide.
  86.  
  87.   Hannu  Savolainen has written a draft version of the Hacker's Guide to
  88.   VoxWare.  The  latest  version  is  draft  2,  and  can  be  found  on
  89.   nic.funet.fi in /pub/OS/linux/ALPHA/sound.
  90.  
  91.   The  following  FAQs  are  regularly  posted  to  the usenet newsgroup
  92.   news.announce as well as being archived at the  site  rtfm.mit.edu  in
  93.   the directory /pub/usenet/news.answers:
  94.  
  95.  
  96.   PCsoundcards/generic-faq (Generic PC Soundcard FAQ)
  97.   PCsoundcards/soundcard-faq (comp.sys.ibm.pc.soundcard FAQ)
  98.   PCsoundcards/gravis-ultrasound/faq (Gravis UltraSound FAQ)
  99.   audio-fmts/part1 (Audio file format descriptions)
  100.   audio-fmts/part2 (Audio file format descriptions)
  101.  
  102.  
  103.  
  104.   The  FAQs also list several product specific mailing lists and archive
  105.   sites. The following Usenet news groups  discuss  sound  and/or  music
  106.   related issues:
  107.  
  108.  
  109.   alt.binaries.sounds.misc (Digitized sounds and software)
  110.   alt.binaries.sounds.d (Discussion and follow-up group)
  111.   alt.binaries.multimedia (Multimedia sounds and software)
  112.   alt.sb.programmer (Soundblaster programming topics)
  113.   comp.multimedia (Multimedia topics)
  114.   comp.music (Computer music theory and research)
  115.   comp.sys.ibm.pc.soundcard (IBM PC soundcard topics)
  116.  
  117.  
  118.  
  119.   The  Linux Activists mailing list has a SOUND channel. To find out how
  120.   to  join   the   mailing   list,   send   mail   to   linux-activists-
  121.   request@joker.cs.hut.fi.
  122.  
  123.   The  Readme  and CHANGELOG files included with the kernel sound driver
  124.   source code contain useful information about the sound  card  drivers.
  125.   These     can     typically     be     found    in    the    directory
  126.   /usr/src/linux/drivers/sound.
  127.  
  128.   The Linux Software Map (LSM) is an invaluable reference  for  locating
  129.   Linux software. Searching the LSM for keywords such as sound is a good
  130.   way to identify applications related to sound hardware. The LSM can be
  131.   found     on     various     anonymous     FTP     sites,    including
  132.   sunsite.unc.edu:/pub/Linux/docs/LSM.gz.
  133.  
  134.  
  135.  
  136.   1.6.  Version Information
  137.  
  138.  
  139.   At time of writing, the latest Linux sound driver was version 2.4, and
  140.   was  included as part of the Linux kernel version 0.99 ALPHA-pl14t and
  141.   later. The 2.5 version of the sound driver was in BETA  test  and  was
  142.   available separately.
  143.  
  144.  
  145.   2.  Supported Sound Hardware
  146.  
  147.   2.1.  Sound Cards
  148.  
  149.  
  150.   The following sound cards are supported by the Linux kernel:
  151.  
  152.  
  153.   o  Roland MPU-401 MIDI interface
  154.  
  155.   o  AdLib
  156.  
  157.   o  SoundBlaster   (version   1   and  2)  and  compatibles,  including
  158.      ThunderBoard and ATI Stereo F/X
  159.  
  160.   o  SoundBlaster Pro (version 1 and 2)
  161.  
  162.   o  SoundBlaster 16
  163.  
  164.   o  ProAudioSpectrum 16 (and the compatible Logitech SoundMan 16)
  165.  
  166.   o  Advanced Gravis UltraSound (GUS)
  167.  
  168.   Other sound cards that are claimed to be compatible with  one  of  the
  169.   supported  sound  cards  may  work if they are hardware (i.e. register
  170.   level) compatible.
  171.  
  172.   The Sound Galaxy NX Pro is supported  as  a  SoundBlaster  compatible,
  173.   provided  that you add #define __SGNXPRO__ to the sound driver local.h
  174.   file.
  175.  
  176.   The Linux kernel supports the SCSI port provided on some  sound  cards
  177.   (e.g.  ProAudioSpectrum  16).  The  Linux kernel version 0.99pl14x and
  178.   later has support for CD-ROM drives attached to the  Soundblaster  Pro
  179.   and  SoundBlaster  16  CD-ROM  port.  The drivers can also be added to
  180.   earlier kernels as a patch. Check the Linux Software Map for sbpcd.
  181.  
  182.   A Kernel patch to support joystick ports, including those provided  on
  183.   some sound cards, is also available.
  184.  
  185.  
  186.   2.2.  PC Speaker
  187.  
  188.  
  189.   An  alternate  sound  driver  is available that requires no additional
  190.   sound hardware; it uses the internal PC speaker. It is mostly software
  191.   compatible  with  the  sound  card  driver,  but, as you might expect,
  192.   provides much lower quality output and has much more CPU overhead. The
  193.   results  seem  to  vary, being dependent on the characteristics of the
  194.   loudspeaker. For more information, see the documentation provided with
  195.   the release.
  196.  
  197.   The   current   version   is   0.4,   and   can   be   found  at  site
  198.   ftp.informatik.hu-berlin.de    in    the     file     pub/os/linux/hu-
  199.   sound/pcsndrv-0.4.tar.z.
  200.  
  201.  
  202.   2.3.  Parallel Port
  203.  
  204.  
  205.   Another  option  is  to  build  a  digital to analog converter using a
  206.   parallel printer port. This provides better sound  quality  but  still
  207.   has a lot of CPU overhead. The PC sound driver package mentioned above
  208.   supports this, and includes instructions for  building  the  necessary
  209.   hardware.
  210.  
  211.  
  212.   3.  Configuring Linux for Sound Support
  213.  
  214.  
  215.   Configuring Linux to support sound involves the following steps:
  216.  
  217.  
  218.   1. Installing the sound card.
  219.  
  220.   2. Configuring and building the kernel for sound support.
  221.  
  222.   3. Creating the device files.
  223.  
  224.   4. Testing the installation.
  225.  
  226.  
  227.   3.1.  Installing the Sound Card
  228.  
  229.  
  230.   Follow the instructions provided with your sound card. Be sure to note
  231.   down the jumper settings for IRQ,  DMA  channel,  etc...  If  you  are
  232.   unsure,  use  the  factory defaults. Try to avoid conflicts with other
  233.   devices (e.g. ethernet cards, SCSI host adaptors) if possible.
  234.  
  235.  
  236.   3.2.  Configuring the Kernel
  237.  
  238.  
  239.   If you are using a  recent  kernel  (0.99pl14  or  later),  the  sound
  240.   drivers  are  included  with  the  kernel  release.  Follow  the usual
  241.   procedure for building  the  kernel.  When  you  run  make  config,  a
  242.   configuration program will ask you what sound card options you want.
  243.  
  244.   If  you  are  upgrading from an older sound driver, make sure that the
  245.   files /usr/include/sys/soundcard.h  and  /usr/include/sys/ultrasound.h
  246.   are symbolic links to the corresponding files in /usr/include/linux.
  247.  
  248.   It's  good  idea  to read the Readme files in the kernel drivers/sound
  249.   directory since there could be some last minute information. The  file
  250.   CHANGELOG  contains  a list of enhancements and new features since the
  251.   previous version.
  252.  
  253.  
  254.   3.3.  Creating the Device Files
  255.  
  256.  
  257.   The first time the kernel sound driver  is  configured,  you  need  to
  258.   create  the  sound  device files. The easiest way to do this is to cut
  259.   the   short   shell   script   from    the    end    of    the    file
  260.   /usr/src/linux/drivers/sound/Readme.linux         (or         possibly
  261.   /usr/src/linux/drivers/sound/linux/Readme), and run it as root.
  262.  
  263.  
  264.   3.4.  Testing the Installation
  265.  
  266.  
  267.  
  268.   You can now follow these  steps  to  verify  the  sound  hardware  and
  269.   software:
  270.  
  271.   1. Reboot with the new kernel.
  272.  
  273.   Follow  your  usual  procedure  for  installing  and rebooting the new
  274.   kernel (keep the old kernel around in case of problems, of course).
  275.  
  276.   2.  Verify  that  the  sound  card   is   recognized   during   kernel
  277.   initialization.
  278.  
  279.   Check for a message such as the following on powerup:
  280.  
  281.  
  282.  
  283.        ______________________________________________________________________
  284.        <6>snd2 <SoundBlaster Pro 3.2> at 0x220 irq 5 drq 1
  285.        <6>snd1 <Yamaha OPL-3 FM> at 0x388 irq 0 drq 0
  286.        ______________________________________________________________________
  287.  
  288.  
  289.  
  290.  
  291.   This should match your sound card type and jumper settings.
  292.  
  293.   The  driver  may  also display some error messages and warnings during
  294.   boot. Watch for these when booting the first  time  after  configuring
  295.   the sound driver.
  296.  
  297.   If  no  sound  card  is  detected when booting, there are two possible
  298.   reasons:
  299.  
  300.  
  301.   o  The configuration of the driver is incorrect and the driver was not
  302.      able to detect your card in the given I/O address, or
  303.  
  304.   o  The  sound  driver was configured to be inactive or you booted with
  305.      an old kernel (a common error).
  306.  
  307.   3. Check device file /dev/sndstat.
  308.  
  309.   Reading the sound driver status device file should provide  additional
  310.   information  on  whether  the  sound card driver initialized properly.
  311.   Sample output should look something like this:
  312.  
  313.  
  314.  
  315.  
  316.  
  317.  
  318.  
  319.  
  320.  
  321.  
  322.  
  323.  
  324.  
  325.  
  326.  
  327.  
  328.  
  329.  
  330.  
  331.  
  332.  
  333.  
  334.   ______________________________________________________________________
  335.   % cat /dev/sndstat
  336.  
  337.   Sound Driver:2.3b (Tue Jan 4 18:14:00 EST 1994 root@fizzbin.)
  338.   Config options: 1aa2
  339.  
  340.   HW config:
  341.   Type 2: SoundBlaster at 0x220 irq 5 drq 1
  342.   Type 1: AdLib at 0x388 irq 0 drq 0
  343.  
  344.   PCM devices:
  345.   0: SoundBlaster Pro 3.2
  346.  
  347.   Synth devices:
  348.   0: Yamaha OPL-3
  349.  
  350.   Midi devices:
  351.   0: SoundBlaster
  352.  
  353.   Mixer(s) installed
  354.   ______________________________________________________________________
  355.  
  356.  
  357.  
  358.  
  359.   If the cat command displays "No such device", the sound driver is  not
  360.   active in the kernel.
  361.  
  362.   If  the  printout  contains  no  devices  (PCM,  Synth  or MIDI), your
  363.   soundcard was not  detected.  Verify  that  the  "HW  config"  section
  364.   contains correct information.
  365.  
  366.   4. Play a simple sound file.
  367.  
  368.   Get  hold of a sample sound file, and send it to the sound device as a
  369.   basic check of sound output, e.g.
  370.  
  371.  
  372.  
  373.        ______________________________________________________________________
  374.        % cat endoftheworld >/dev/dsp
  375.        % cat crash.au >/dev/audio
  376.        ______________________________________________________________________
  377.  
  378.  
  379.  
  380.  
  381.   Some  sample  sound  files  can  be  obtained  from  the   file   snd-
  382.   data-0.1.tar.Z.
  383.  
  384.   5. Verify sound recording.
  385.  
  386.   If  you  have  sound input capability, you can do a quick test of this
  387.   using commands such as the following:
  388.  
  389.  
  390.  
  391.        ______________________________________________________________________
  392.        # record 4 seconds of audio from microphone
  393.        % dd bs=8k count=4 </dev/audio >sample.au
  394.        # play back sound
  395.        % cat sample.au >/dev/audio
  396.        ______________________________________________________________________
  397.  
  398.  
  399.  
  400.   If these tests pass, you can be reasonably confident  that  the  sound
  401.   hardware  and  software  are working. If you experience problems, read
  402.   the FAQ section of this document.
  403.  
  404.  
  405.   4.  Applications Supporting Sound
  406.  
  407.  
  408.   Because The Linux Sound User's Guide  describes  the  available  Linux
  409.   applications in detail, I will only give here a sample of the types of
  410.   applications that you likely want if  you  have  a  sound  card  under
  411.   Linux.
  412.  
  413.   As  a  minimum,  you  will  likely  want to obtain the following sound
  414.   applications:
  415.  
  416.  
  417.   o  audio file format conversion utility (e.g. Sox)
  418.  
  419.   o  input mixer (e.g. xmix)
  420.  
  421.   o  digitized file player/recorder (e.g. play)
  422.  
  423.   o  MOD file player (e.g. tracker)
  424.  
  425.   o  MIDI file player (e.g. mp)
  426.  
  427.   There are text-based as well as GUI-based versions of  most  of  these
  428.   tools.  There  are  also  some more esoteric applications (e.g. speech
  429.   synthesis) that you may wish to try.
  430.  
  431.  
  432.   5.  Answers To Frequently Asked Questions
  433.  
  434.  
  435.   This section answers some of the questions  that  have  been  commonly
  436.   asked on the Usenet news groups and mailing list.
  437.  
  438.  
  439.   5.1.  What are the various sound device files?
  440.  
  441.  
  442.  
  443.      audio
  444.         Sun  workstation  compatible audio device (only a partial imple-
  445.         mentation, does not support  Sun  ioctl  interface,  just  u-law
  446.         encoding)
  447.  
  448.      dsp
  449.         digital sampling device
  450.  
  451.      mixer
  452.         sound mixer
  453.  
  454.      sequencer
  455.         MIDI, FM, and GUS access
  456.  
  457.      midi
  458.         MIDI device (not yet implemented in current sound driver)
  459.  
  460.      sndstat
  461.         displays sound driver status when read
  462.  
  463.      audio1
  464.         for second sound card
  465.  
  466.      dsp1
  467.         for second sound card
  468.  
  469.   The PC speaker driver provides the following devices:
  470.  
  471.  
  472.      pcaudio
  473.         equivalent to /dev/audio
  474.  
  475.      pcsp
  476.         equivalent to /dev/dsp
  477.  
  478.      pcmixer
  479.         equivalent to /dev/mixer
  480.  
  481.  
  482.   5.2.  How can I play a sound sample?
  483.  
  484.  
  485.   Sun workstation (.au) sound files can be played by sending them to the
  486.   /dev/audio device. Raw samples  can  be  send  to  /dev/dsp.  Using  a
  487.   program  such  as  play  is preferable, as it will recognize most file
  488.   types and set the sound card to the correct sampling rate, etc..
  489.  
  490.  
  491.   5.3.  How can I record a sample?
  492.  
  493.  
  494.   Reading /dev/audio or /dev/dsp will return sampled data  that  can  be
  495.   redirected  to  a  file.  A  program  such  as vrec makes it easier to
  496.   control the sampling rate, duration, etc...
  497.  
  498.  
  499.   5.4.  Can I have more than one sound card?
  500.  
  501.  
  502.   Up to two sound cards is supported. It's possible to install a  Gravis
  503.   UltraSound   or   MPU-401   with  a  SoundBlaster,  SoundBlaster  Pro,
  504.   SoundBlaster16 or ProAudioSpectrum16. It's  not  possible  to  have  a
  505.   ProAudioSpectrum16  and  SoundBlaster at the same time (PAS16 has a SB
  506.   emulator in it). It's also not possible to have more than one card  of
  507.   the same type at the same time -- for example, a GUS + GUS combination
  508.   is not possible.
  509.  
  510.   You can change the sound card configuration parameters  at  boot  time
  511.   using  command  line  options from a boot loader such as LILO. See the
  512.   kernel sound driver file Readme.linux for details.
  513.  
  514.  
  515.   5.5.  Error: No such file or directory for sound devices
  516.  
  517.  
  518.   You need to create the sound driver device files. See the  section  on
  519.   creating device files.
  520.  
  521.  
  522.   5.6.  Error: No such device for sound devices
  523.  
  524.  
  525.   You  have  not booted with a kernel containing the sound driver or the
  526.   I/O address configuration doesn't match your hardware.
  527.  
  528.  
  529.  
  530.  
  531.  
  532.   5.7.  Partial playback of digitized sound file
  533.  
  534.  
  535.   The symptom is usually that a sound sample plays for a second and then
  536.   stops  completely or reports an error message about missing IRQ or DMA
  537.   timeout. Most likely you have incorrect IRQ or DMA  channel  settings.
  538.   Verify  that  the  kernel  configuration matches the sound card jumper
  539.   settings and that they do not conflict with some other card.
  540.  
  541.  
  542.   5.8.  There are pauses when playing MOD files
  543.  
  544.  
  545.   Playing MOD files requires considerable CPU power. You  may  have  too
  546.   many  processes  running  or  your computer may be too slow to play in
  547.   real time. Your options are to:
  548.  
  549.  
  550.   o  try playing with a lower sampling rate or in mono mode
  551.  
  552.   o  eliminate other processes
  553.  
  554.   o  buy a faster computer
  555.  
  556.   o  buy a more powerful sound card (e.g. Gravis UltraSound)
  557.  
  558.  
  559.   5.9.  Compile errors when compiling sound applications
  560.  
  561.  
  562.   The version 1.0c  and  earlier  sound  driver  used  a  different  and
  563.   incompatible  ioctl()  scheme.  Obtain  newer  source code or make the
  564.   necessary changes to adapt it to the new sound driver. See  the  sound
  565.   driver Readme file for details.
  566.  
  567.   Also  ensure  that you have used the latest version of soundcard.h and
  568.   ultrasound.h when compiling  the  application.  See  the  installation
  569.   instructions at beginning of this text.
  570.  
  571.  
  572.   5.10.  SEGV when running sound binaries that worked previously
  573.  
  574.  
  575.   This is probably the same problem described in the previous  question.
  576.  
  577.  
  578.   5.11.  What known bugs or limitations are there in the sound driver?
  579.  
  580.  
  581.   See the Readme and CHANGELOG files  included  with  the  sound  driver
  582.   kernel source.
  583.  
  584.  
  585.   5.12.  What version of the sound driver I should use?
  586.  
  587.  
  588.   If  you  are  using  version  1.0c  or earlier, you definitely need to
  589.   upgrade. Version 1.0c is not compatible with the applications  written
  590.   for version 2.0 or later.
  591.  
  592.   There  have  been  no significant changes after version 2.0, so if you
  593.   don't  have  problems  and  that  particular  version  fulfills   your
  594.   requirements, there are no compelling reasons to move to a more recent
  595.   version (this should be true at least until September 1994).
  596.  
  597.  
  598.   The  latest  official  version  is  in   the   latest   Linux   kernel
  599.   distribution. There may also be some test and prototype versions lying
  600.   around. If the version number is smaller than 2.9, the version  should
  601.   be  quite safe. Any driver release having a version number of the form
  602.   2.99.XX is an incompletely implemented and experimental test  release.
  603.  
  604.   If  you  are  interested  in development of the sound driver, join the
  605.   linux activists SOUND channel.
  606.  
  607.  
  608.   5.13.  What do all the sound driver configuration options mean?
  609.  
  610.  
  611.   During  configuration  of  the  sound  driver,  a configure program is
  612.   compiled and executed. This program asks you some questions  and  then
  613.   generates  the  header  file  local.h  that  defines  the  sound  card
  614.   configuration.
  615.  
  616.   The configuration file defines (or undefines) the following symbols:
  617.  
  618.  
  619.   Symbol                  Meaning
  620.   ======                  =======
  621.   KERNEL_SOUNDCARD        enable/disable sound driver
  622.   CONFIGURE_SOUNDCARD     enable/disable sound driver
  623.   EXCLUDE_PAS             ProAudioSpectrum support
  624.   EXCLUDE_SB              SoundBlaster support
  625.   EXCLUDE_ADLIB           AdLib support
  626.   EXCLUDE_GUS             Gravis UltraSound support
  627.   EXCLUDE_MPU401          MPU-401 MIDI interface support
  628.   EXCLUDE_SBPRO           SoundBlaster Pro support
  629.   EXCLUDE_SB16            SoundBlaster 16 support
  630.   EXCLUDE_AUDIO           Digitized voice support
  631.   EXCLUDE_MIDI            MIDI interface support
  632.   EXCLUDE_YM3812          FM synthesizer (YM3812/OPL-3) support
  633.   EXCLUDE_SEQUENCER       MIDI sequencer support
  634.   EXCLUDE_PRO_MIDI        SoundBlaster Pro MIDI support
  635.   EXCLUDE_CHIP_MIDI       MIDI on CHIP support
  636.   SBC_IRQ                 SoundBlaster IRQ number
  637.   SBC_DMA                 SoundBlaster DMA channel
  638.   SB16_DMA                SoundBlaster 16 DMA channel
  639.   SB16_MIDI_BASE          base address of SoundBlaster 16 MIDI port
  640.   PAS_IRQ                 ProAudioSpectrum IRQ number
  641.   PAS_DMA                 ProAudioSpectrum DMA channel
  642.   GUS_IRQ                 Gravis UltraSound IRQ number
  643.   GUS_DMA                 Gravis UltraSound DMA channel
  644.   GUS_BASE                base address of Gravis UltraSound
  645.   MPU_IRQ                 MPU-401 IRQ number
  646.   MPU_BASE                base address of MPU-401 port
  647.   DSP_BUFFSIZE            DMA buffer size
  648.  
  649.  
  650.  
  651.   Several other defines are also created, setting  such  things  as  the
  652.   sound  driver  revision level and the time and date when configure was
  653.   run.
  654.  
  655.   There are other parameters that are not set by the  configure  program
  656.   (e.g.  SoundBlaster  base  address). If you need to change these, edit
  657.   the file sound_config.h.
  658.  
  659.   To disable the sound driver, run make config and answer  "no"  to  the
  660.   "Sound card support?" question.
  661.  
  662.  
  663.  
  664.   5.14.  What future enhancements are planned for the sound driver?
  665.  
  666.  
  667.   The sound driver is not just for Linux, it also supports several other
  668.   Intel-based   Unix  operating  systems.  The  package  is  now  called
  669.   "VoxWare". Some of the enhancements being considered are:
  670.  
  671.  
  672.   o  implementing full MIDI support
  673.  
  674.   o  patch manager support
  675.  
  676.   o  document sound card driver (Hacker's Guide)
  677.  
  678.   o  support for new sound cards
  679.  
  680.   o  miscellaneous bug fixes
  681.  
  682.  
  683.   5.15.  Where are the sound driver ioctls() etc... documented?
  684.  
  685.  
  686.   These  are  documented  in  the  Hacker's  Guide to VoxWare, currently
  687.   available in draft form. The latest version is draft  2,  and  can  be
  688.   found on nic.funet.fi in /pub/OS/linux/ALPHA/sound.
  689.  
  690.  
  691.   5.16.  What CPU resources are needed to play or record without pauses?
  692.  
  693.  
  694.   There is no easy answer to this, as it depends on:
  695.  
  696.  
  697.   o  whether using PCM sampling or FM synthesis
  698.  
  699.   o  sampling rate and sample size
  700.  
  701.   o  which application is used to play or record
  702.  
  703.   o  Sound Card hardware
  704.  
  705.   o  disk I/O rate, CPU clock speed, cache size, etc...
  706.  
  707.   In  general,  any  386  machine  should  be able to play samples or FM
  708.   synthesized music on an 8 bit soundcard with ease.
  709.  
  710.   Playing MOD files, however, requires considerable CPU resources.  Some
  711.   experimental  measurements  have  shown that playing at 44kHz requires
  712.   more than 40% of the speed of a 486/50 and a 386/25  can  hardly  play
  713.   faster  than  22  kHz.  These  are  with an 8 bit card sound such as a
  714.   SoundBlaster. A card such as the Gravis UltraSound card performs  more
  715.   functions in hardware, and will require less CPU resources.
  716.  
  717.   These  statements  assume the computer is not performing any other CPU
  718.   intensive tasks.
  719.  
  720.   Converting sound files or adding effects using a utility such  as  Sox
  721.   is  also much faster if you have a math coprocessor. The kernel driver
  722.   itself does not do any floating point calculations, though.
  723.  
  724.  
  725.   5.17.  Problems with a PAS16 and an Adaptec 1542 SCSI host adaptor
  726.  
  727.  
  728.   There appears to be an incompatibility problem with these two devices.
  729.   It has not yet been resolved.
  730.   5.18.  Problems with the FM synthesizer on a SoundBlaster Pro 1
  731.  
  732.  
  733.   The  newer  SB  Pro has an OPL-3 FM chip, but the older version 1 used
  734.   the OPL-2. The sound driver assumed the presence of an OPL-3.  Version
  735.   2.5  of  the  sound  driver  (currently  in  BETA  test) corrects this
  736.   problem.
  737.