home *** CD-ROM | disk | FTP | other *** search
/ io Programmo 11 / IOPROG_11.ISO / docs / sound-~1 < prev    next >
Encoding:
Text File  |  1997-05-25  |  28.3 KB  |  702 lines

  1.   The Linux Sound Playing HOWTO
  2.   Yoo C. Chung, wacko@laplace.snu.ac.kr
  3.   v1.4, 13 May 1997
  4.  
  5.   This document lists applications for Linux that play various sound
  6.   formats.
  7.  
  8.   1.  Introduction
  9.  
  10.   This is the Sound Playing HOWTO.  It lists the many sound formats and
  11.   the applications that can be used to play them.  It also lists some
  12.   hacks and advice on using these applications.  There are also some
  13.   other interesting applications related to sound not directly related
  14.   to playback.  However, this document does not describe how one can
  15.   setup a Linux system for sound support.  Refer to the Linux Sound
  16.   HOWTO by Jeff Tranter for instructions on setting up a Linux system
  17.   for sound support and the supported sound hardware.
  18.  
  19.   This deals with normal user sound applications.  That is, it is only
  20.   concerned about what the average user needs to know on the application
  21.   side of sound, not exotic stuff like speech synthesis, or hardware
  22.   stuff which is dealt in the Sound HOWTO.
  23.  
  24.   1.1.  Copyright of this document
  25.  
  26.   This document can be freely distributed and modified (I would
  27.   appreciate it if I were notified of any modifications), as long as
  28.   this copyright notice is preserved.  However, it cannot be placed
  29.   under any further restrictions, and a modified document must have the
  30.   same copyright as this one.  Also, credit must be given where due.
  31.  
  32.   1.2.  Copyright of the listed applications
  33.  
  34.   If there is no mention of any copyright, then the application is under
  35.   the GNU General Public License.
  36.  
  37.   1.3.  Where to get this document
  38.  
  39.   The most recent official version of this document can be obtained from
  40.   the Linux Documentation Project <http://sunsite.unc.edu/LDP/>.  The
  41.   most recent unofficial version of this document can be obtained from
  42.   <http://plaza.snu.ac.kr/~wacko/howto/Sound-Playing-HOWTO.html>
  43.  
  44.   A Korean version of this document (rather outdated) is available at
  45.   <http://plaza.snu.ac.kr/~wacko/howto/Sound-Playing-HOWTO.ks>.
  46.  
  47.   A Japanese version of this document is available at
  48.   <http://jf.gee.kyoto-u.ac.jp/JF/JF-ftp/euc/Sound-Playing-HOWTO.euc>.
  49.  
  50.   1.4.  Feedback
  51.  
  52.   I am not omniscient, and I don't use all the applications in here (a
  53.   few I can't even try), so there are bound to be mistakes.  Also,
  54.   programs usually continuously evolve, so documentation tends to get
  55.   out of date.  Therefore, if you find anything wrong, please send me
  56.   any corrections.  Suggestions or additions to this document are
  57.   welcome, too.
  58.  
  59.   1.5.  Acknowledgments
  60.  
  61.   All the authors of the applications in this HOWTO.  Also, Hannu
  62.   Savolainen for the great sound driver and Linus Torvalds for the great
  63.   underlying OS.
  64.  
  65.   I'd also like to thank Raymond Nijssen (raymond@es.ele.tue.nl), Jeroen
  66.   Rutten (jeroen@es.ele.tue.nl), Antonio Perez (aperez@arrakis.es), and
  67.   Ian Jackson (ijackson@gnu.ai.mit.edu) for their information and help.
  68.  
  69.   2.  Playing Various Sound Formats
  70.  
  71.   There are many kinds of sound formats (WAV, MIDI, MPEG etc.).  Below,
  72.   we list the various formats and the applications that can be used to
  73.   play them.
  74.  
  75.   2.1.  MIDI
  76.  
  77.   MIDI stands for Musical Instrument Device Interface.  MIDI files
  78.   usually have the extension .mid.  They contain sequencing information,
  79.   that is, information on when to play what instrument in what way, etc.
  80.   Depending on your hardware (and maybe the software you use to play
  81.   them), the sound might be awesome, or it might be downright crappy.
  82.  
  83.   2.1.1.  The adagio package
  84.  
  85.   This package includes mp (a command-line MIDI file player) and xmp (an
  86.   XView based MIDI file player, not to be confused with the module
  87.   player also called xmp).  You will need the SlingShot extensions to
  88.   use xmp.  It also contains other programs for playing Adagio scores.
  89.  
  90.   If you have a GUS, mp can also play MOD files (see section ``Modules''
  91.   for more information on modules).
  92.  
  93.   One little annoying bug (as of version 0.5 on some hardware) is that
  94.   the sound breaks at the end.  Namely, instead of ending the sound the
  95.   way the MIDI file specifies, it ends by playing the note right before
  96.   the last one in a long interval.  It hasn't stopped me from using mp,
  97.   but it might prevent someone from using it for `real' work.  It also
  98.   starts up relatively slowly.
  99.  
  100.   The package does not mention any copyright (at least none that I can
  101.   find), so I assume it can be freely redistributed and modified.  Don't
  102.   hold me to my word, though.
  103.  
  104.   It is a port of the CMU MIDI Toolkit to Linux (though there was enough
  105.   added to make this questionable) by Greg Lee
  106.   (lee@uhunix.uhcc.hawaii.edu).
  107.  
  108.   It can be obtained by anonymous FTP from tsx-11.mit.edu at
  109.   /pub/linux/packages/sound/adagio05.tar.gz.  The binaries included here
  110.   are in a.out format (linked with ancient libraries), and the xmp
  111.   binary segfaults in a X11R6 environment (XFree86 3.1.1, libc 4.7.2).
  112.   The mp binary works fine in an a.out environment.
  113.  
  114.   You will need a bit of hackery to compile it.  Actually, it's not much
  115.   of a hackery.  All you have to do is to include the -lfl switch at the
  116.   end of SHROBJ and XMPOBJ in the Makefile.  This is to link in the flex
  117.   library, which is not linked in by default.  Then follow the
  118.   installation instructions.  And don't forget to have XView and the
  119.   SlingShot extensions installed if you want to compile xmp.
  120.  
  121.   2.1.2.  timidity
  122.  
  123.   Some people recommend this experimental program because of good sound
  124.   quality (which is very true, it's much better than mp on a Sound
  125.   Blaster 16, though it probably won't be much different on soundcards
  126.   with wavetable synthesis like the GUS).  However, it suffers from high
  127.   CPU loads.  It plays MIDI by first converting MIDI to WAV and then
  128.   plays the WAV (you can also convert a MIDI file to a WAV file without
  129.   playing if you want).  This is the reason for its CPU intensive
  130.   nature.
  131.  
  132.   It also has an optional ncurses, SLang, Tcl/Tk or Motif interface.
  133.  
  134.   You need Gravis Ultrasound patch files to use this.  Look into the FAQ
  135.   included with timidity for more information.
  136.  
  137.   The author is Tuukka Toivonen (titoivon@snakemail.hut.fi).
  138.  
  139.   The latest version of timidity can be found at the TiMidity home page
  140.   <http://www.clinet.fi/~toivonen/timidity/>.  This page also contains a
  141.   link to a small library of GUS patches.  The Motif version can be
  142.   found at Vincent Pagel's home page <http://www.loria.fr/~pagel/>.
  143.  
  144.   2.1.3.  playmidi
  145.  
  146.   This is a MIDI player that plays to FM, GUS, and external MIDI.  It is
  147.   supposed to have a faster startup time compared to other MIDI players.
  148.   It is also able to play Creative Music Files, Microsoft RIFF files,
  149.   and large MIDI archives from games such as Ultima 7.
  150.  
  151.   It has an X interface and a SVGA interface.  It also has an option for
  152.   real time playback with tracking all the notes on each channel and the
  153.   current playback clock (included automatically with xplaymidi and
  154.   splaymidi).
  155.  
  156.   You should do something like
  157.  
  158.        $ splaymidi foo.mid; stty sane
  159.  
  160.   if you are going to use the SVGA interface, since it doesn't reset the
  161.   terminal tty mode properly.  The SVGA interface may be removed in the
  162.   near future.
  163.  
  164.   It was written by Nathan Laredo (laredo@gnu.ai.mit.edu or
  165.   laredo@ix.netcom.com).
  166.  
  167.   It can be obtained by anonymous FTP from sunsite.unc.edu at
  168.   /pub/Linux/apps/sound/players/playmidi-2.3.tar.gz.
  169.  
  170.   2.2.  Modules
  171.  
  172.   Modules (in computer music) are digital music files, made up of a set
  173.   of samples and sequencing information, telling the player when to play
  174.   which sample (instrument) on which track at what pitch, optionally
  175.   performing an effect, like vibrato for example.
  176.  
  177.   An advantage it has over MIDI is that it can include almost any kind
  178.   of sound (including human voices).  Another is that it sounds just
  179.   about the same on any platform, because the samples are in the module.
  180.   A disadvantage it has is that it has a much larger file size compared
  181.   to MIDI.  Another one is that it has no real standard format (the only
  182.   `real' one is the ProTracker, which many modules aren't quite
  183.   compatible with).  It originated on the Amiga.
  184.  
  185.   The most common format has the extension .mod.  There are many other
  186.   extensions depending on what format they are in.
  187.  
  188.   2.2.1.  tracker
  189.  
  190.   This very portable program (it has been ported to many platforms)
  191.   plays Soundtracker and Protracker music modules.  It uses 16 bit
  192.   stereo output, and I consider the quality to be very good.  If you
  193.   need a simple way to reduce CPU load use the -mono option.
  194.  
  195.   This is a giftware program (quoting the author).  It is by Marc Espie
  196.   (Marc.Espie@ens.fr).
  197.  
  198.   A version of this with the Makefile already tweaked for Linux can be
  199.   obtained by anonymous FTP from sunsite.unc.edu at
  200.   /pub/Linux/apps/sound/players/tracker-4.3-linux.tar.gz.
  201.  
  202.   2.2.2.  gmod
  203.  
  204.   This is a music module player for the Gravis Ultrasound card.  4/6/8
  205.   channel MOD, 8 channel 669, MultiTracker (MTM), UltraTracker (ULT),
  206.   FastTracker (XM), and ScreamTracker III (S3M) are the supported
  207.   formats.
  208.  
  209.   It requires a version 3.0 or later sound driver.  And a GUS, of
  210.   course.  You may need to modify the kernel to make volume control work
  211.   the way you want.
  212.  
  213.   This has an X interface.  It uses the QT toolkit (needs version 0.99
  214.   or greater).  Check the QT toolkit        homepage
  215.   <http://www.troll.no/> for information on QT.
  216.  
  217.   This can be freely distributed.  It was originally written by Hannu
  218.   Savolainen, and now maintained by Andrew J. Robinson
  219.   (robinson@cnj.digex.net).
  220.  
  221.   It can be obtained by anonymous FTP from sunsite.unc.edu at
  222.   /pub/Linux/apps/sound/players/gmod+x-3.0.6.tgz.
  223.  
  224.   2.2.3.  MikMod
  225.  
  226.   This portable module player plays XM, ULT, STM, S3M, MTM, MOD and UNI
  227.   formats.  (The UNI format is an internal format used by MikMod.)  It
  228.   has support for zipped module files.  It uses 16 bit stereo for the
  229.   sound output.  Use the -m option (for mono output) if you need a
  230.   simple way to lower the CPU load.
  231.  
  232.   The Unix version uses ncurses for its interface.
  233.  
  234.   It was written by Jean-Paul Mikkers (mikmak@via.nl).  The Unix version
  235.   has a lot of modifications by Steve McIntyre (sam1007@cam.ac.uk).
  236.   This is shareware that has to be registered if you want to use it
  237.   commercially.  You also need permission to redistribute it
  238.   commercially (non-commercial redistribution does not need such
  239.   permission).
  240.  
  241.   The Unix version can be obtained by anonymous FTP from sunsite.unc.edu
  242.   at /pub/Linux/apps/sound/players/mikmod-2.14-unix.tar.gz.
  243.  
  244.   2.2.4.  xmp
  245.  
  246.   This is a module player (not to be confused with Adagio's xmp) which
  247.   can play MOD, S3M, STM, 669, and XM modules (other formats are also
  248.   supported, but still experimental or incomplete) on soundcards with
  249.   wavetable synthesis (GUS or SoundBlaster 32AWE), or on systems with
  250.   SoftOSS (a driver that does software mixing).  In the near future
  251.   other soundcards should be supported as well.
  252.  
  253.   An X frontend to xmp is also available.
  254.  
  255.   This was written by Claudio Matsuoka (claudio@brasil.enemy.org) and H.
  256.   Carraro Jr.  There are no restrictions on what might be done with it.
  257.  
  258.   This can found at the xmp home page
  259.   <http://www.merdre.net/~claudio/xmp/>.
  260.  
  261.   2.2.5.  s3mod
  262.  
  263.   This plays 4/6/8 track MOD modules and Scream Tracker 3 modules.  It
  264.   uses 8 bit mono output with a sampling rate of 22000 Hz by default.
  265.   You can use the option -s to enable stereo, -b to enable 16 bit
  266.   output, and -f to set the sampling frequency.  However, the sound
  267.   output is worse than tracker (some noise), so I recommend using
  268.   tracker instead of s3mod for playing ordinary MOD files (unless you
  269.   have an underpowered machine).  It has a much smaller CPU load
  270.   compared to tracker.
  271.  
  272.   It is copyrighted by Daniel Marks and David Jeske (jeske@uiuc.edu),
  273.   but you can do anything you want with it (except that you can't claim
  274.   you wrote it).
  275.  
  276.   It can be obtained by anonymous FTP from sunsite.unc.edu at
  277.   /pub/Linux/apps/sound/players/s3mod-v1.09.tar.gz.
  278.  
  279.   2.2.6.  mod
  280.  
  281.   This beta program plays MODs (15/31-instrument, up to 32 voices),
  282.   MTMs, ULTs and S3Ms on the Gravis Ultrasound card.  It can also use
  283.   packed modules if you have gzip, lharc, unzip, and unarj installed.
  284.   It cannot play Powerpacked modules or modules packed with some Amiga
  285.   composers ("PACK" signature).
  286.  
  287.   This requires at least version 3.0 of the sound driver.  It won't work
  288.   with the 2.90-2 or earlier version of the sound driver.  The text
  289.   interface requires ncurses.  There is also an X interface included,
  290.   which uses Tcl/Tk.
  291.  
  292.   It was written by Mikael Nordqvist (mech@df.lth.se or
  293.   d91mn@efd.lth.se).
  294.  
  295.   It can be obtained by anonymous FTP from sunsite.unc.edu at
  296.   /pub/Linux/apps/sound/players/mod-v0.81.tgz.
  297.  
  298.   2.2.7.  nspmod
  299.  
  300.   This is an alpha module player which can play MTM, S3M, and MOD
  301.   modules.  It is intended to be a module player for soundcards without
  302.   a DSP (not to be confused with what Creative Labs calls a DSP).  It
  303.   has a CPU load somewhat similar compared to tracker.
  304.  
  305.   It has a feature which lets modules loop if they want to.  The number
  306.   of loops can be limited by the -l option.  It uses only 8 bit sound
  307.   output (as of version 0.1).
  308.  
  309.   This was written by Toru Egashira (toru@jms.jeton.or.jp).
  310.  
  311.   It can be obtained by anonymous FTP from sunsite.unc.edu at
  312.   /pub/Linux/apps/sound/players/nspmod-0.1.tar.gz.
  313.  
  314.   2.2.8.  yampmod
  315.  
  316.   This alpha program was designed to play 4-channel modules using the
  317.   minimum of CPU resources.  It was not designed to produce high quality
  318.   sound.  So the only sound output it produces is 22 kHz mono output.
  319.   Also, the output isn't as clean as it should be, reflecting its alpha
  320.   status.
  321.  
  322.   It was written by David Groves (djg@djghome.demon.co.uk).
  323.  
  324.   It can be obtained by anonymous FTP from sunsite.unc.edu at
  325.   /pub/Linux/apps/sound/players/yampmod-0.1.tar.gz.
  326.  
  327.   2.3.  MPEG audio streams
  328.  
  329.   MPEG is a standard specifying the coding of video and the associated
  330.   audio for digital storage.  MPEG is usually associated with video, but
  331.   the audio part of the standard can be used separately.  The audio part
  332.   of the MPEG standard defines three layers, layer I, II, and III.
  333.   Players that can decode higher layers can also decode lower layers
  334.   (e.g. layer III players can play layer II files).  Layer I MPEG audio
  335.   files usually have the extension .mpg (so if there is a file with this
  336.   extension that can't be played by a MPEG video player, it's probably
  337.   an audio stream), layer II usually have the extension .mp2, and layer
  338.   III usually have the extension .mp3.  The audio compression is pretty
  339.   good.  A two megabyte layer II MPEG audio file will probably take up
  340.   25 megabytes for a raw PCM sample file with the same quality.
  341.  
  342.   2.3.1.  mpg123
  343.  
  344.   This beta program is an efficient MPEG audio stream player, which has
  345.   support for layers I, II, and III.  It is based on code from many
  346.   sources.  It is able to play in real time streams that are read by
  347.   HTTP (i.e. one can play an MPEG audio stream directly over the World
  348.   Wide Web).
  349.  
  350.   The main author is Michael Hipp (Michael.Hipp@student.uni-
  351.   tuebingen.de).  It may be used and distributed in unmodified form
  352.   freely for non-commercial purposes.  Inclusion in a collection of free
  353.   software (such as CD-ROM images of FTP servers) is explicitly allowed.
  354.  
  355.   The latest version can be obtained from Oliver        Fromme's mpg123
  356.   page <http://www.heim3.tu-clausthal.de/~olli/mpg123/>.
  357.  
  358.   2.3.2.  maplay 1.2
  359.  
  360.   This MPEG audio stream player only has support for layer I and layer
  361.   II streams, and lacks support for layer III streams.  It supports 16
  362.   bit sound cards on Linux.
  363.  
  364.   It is pretty CPU intensive, taking up to about 55% CPU time on a 60MHz
  365.   Pentium.  The output is intolerable on a 66MHz 486 because the CPU
  366.   just can't catch up with the sound.  If this happens to you, try
  367.   playing only one side of the audio stream (with the -l or -r option),
  368.   instead of the default stereo.
  369.  
  370.   A slight change in one of the files may be necessary in order to
  371.   compile it.  Namely, you may need to add the following line to the
  372.   beginning of the file configuration.sh.
  373.  
  374.        #! /bin/sh
  375.  
  376.   The author is Tobias Bading (bading@cs.tu-berlin.de).  maplay 1.2 can
  377.   be obtained by anonymous FTP from ftp.cs.tu-berlin.de at
  378.   /pub/multimedia/maplay1.2/maplay1_2.tar.
  379.  
  380.   2.3.3.  maplay 1.3b
  381.  
  382.   This is an unofficial modification (i.e. not by the original author)
  383.   of maplay 1.2, so that it can run with a much lower load on the CPU.
  384.   It accomplishes this mainly by making u-law output actually work on
  385.   other platforms besides the SPARC.  Note that it uses u-law output by
  386.   default, so the sound quality is lower.
  387.  
  388.   The modifications were made by Orlando Andico
  389.   (orly@gibson.eee.upd.edu.ph).
  390.  
  391.   This can be obtained by anonymous FTP from sunsite.unc.edu at
  392.   /pub/Linux/apps/sound/players/maplay-1.3b-Linux.tar.gz.
  393.  
  394.   2.3.4.  maplay3
  395.  
  396.   This is another derivative of maplay 1.2.  It adds support for MPEG
  397.   Layer 3 audio streams.  Currently it seems to have some bugs in its
  398.   playback (you may hear some screeching noises).  You may have to
  399.   twiddle with the options to solve this.
  400.  
  401.   The modifications were made by Timo Jantunen (timo.jantunen@hut.fi or
  402.   jeti@cc.hut.fi).  It says that it can be used freely, but making money
  403.   off of it is not allowed.  However, I'm not entirely sure about the
  404.   validity of this copyright, since the original maplay is under the GNU
  405.   General Public License, which does not allow derivative works to have
  406.   a different copyright.
  407.  
  408.   This can be obtained by anonymous FTP from sunsite.unc.edu at
  409.   /pub/Linux/apps/sound/players/maplay3.tar.gz.
  410.  
  411.   2.3.5.  splay
  412.  
  413.   This beta player is another derivative of maplay 1.2 (actually, it is
  414.   a derivative of maplay 1.2+, which is a MS Windows only derivative of
  415.   maplay 1.2).  It adds support for MPEG Layer 3 audio streams.  It is
  416.   also able to play WAV files.  Another feature of splay is that it can
  417.   be used as a library, so it can be used in other programs under the
  418.   GNU General Public License.  It also tries to improve performance by
  419.   using threading (you need pthread to use this feature) and inline
  420.   assembly.  A Pentium optimized binary dynamically linked to libpthread
  421.   is included.
  422.  
  423.   This is by Jung Woo-jae (jwj95@nownuri.net).
  424.  
  425.   It can be obtained by anonymous FTP from sunsite.unc.edu at
  426.   /pub/Linux/apps/sound/players/splay-0.3.tar.gz.
  427.  
  428.   2.3.6.  Sajber Jukebox
  429.  
  430.   This program is a MPEG audio player with a graphical user interface.
  431.   It is based on splay, so it includes support for MPEG audio layers up
  432.   to III.  It is also able to play MPEG audio streams in real time with
  433.   the stream being fed by HTTP.  It is also easy to configure.
  434.  
  435.   It uses the QT toolkit (at least version 1.2 is required).  It also
  436.   uses the LinuxThreads library (the included binary only works with
  437.   version 0.5).
  438.  
  439.   The author is Joel Lindholm (wizball@kewl.campus.luth.se).
  440.  
  441.   The latest version can be obtained by anonymous FTP from
  442.   kewl.campus.luth.se at /pub/jukebox.
  443.  
  444.   2.3.7.  amp
  445.  
  446.   This beta MPEG audio player only has support for MPEG Layer 3 audio
  447.   streams.  It is able to play directly to the soundcard, and it can
  448.   output to raw PCM or WAV files.  This also gives quite a load on the
  449.   CPU (about 60% on a 133MHz Pentium).
  450.  
  451.   This was written by Tomislav Uzelac (tuzelac@rasip.fer.hr).  It can be
  452.   freely used and distributed, as long as it is not sold commercially
  453.   without permission (including it in CD-ROMs that contain free software
  454.   is explicitly permitted, though).
  455.  
  456.   It can be obtained by anonymous FTP from ftp.rasip.fer.hr at
  457.   /pub/mpeg/amp-0.7.3.tgz.
  458.  
  459.   2.3.8.  Layer 3 Shareware Encoder/Decoder
  460.  
  461.   This is actually a converter that converts MPEG Layer 3 audio streams
  462.   to WAV, AIFF, SND, AIFC, or just raw PCM sample files.  The Linux
  463.   version does not directly output the sound to the soundcard.  One has
  464.   to first convert it to some other format.
  465.  
  466.   However, when you try to play a converted file using sox, you'll
  467.   probably just get noise because the word order in the PCM samples is
  468.   not right (at least on Intel platforms).  You need to give sox the
  469.   option -x to solve this problem.  But there are some players that
  470.   don't have to be told that the word order is wrong, so you might not
  471.   have to worry about this.
  472.  
  473.   If you have a really fast computer (probably at least a 100Mhz
  474.   Pentium), then you can try to play MPEG Layer 3 streams directly
  475.   without having to first convert the audio file to another format like
  476.   in the following example (this example assumes that you're using sox
  477.   and playing a 44.1 kHz stereo sample).
  478.  
  479.        $ l3dec foo.mp3 -sto | play -t raw -x -u -w -c 2 -r 44100 -
  480.  
  481.   The number after -r is the sample rate of the audio stream, and the
  482.   number after -c depends on whether it is mono or stereo (or even
  483.   quad).  If this looks too complicated, you can use something like a
  484.   shell script or an alias.
  485.  
  486.   This is shareware copyrighted by Fraunhofer-IIS.  A demo version for
  487.   Linux on x86 systems can be obtained by anonymous FTP from ftp.fhg.de
  488.   at /pub/layer3/l3v261.linux.tar.gz.  The demo version only converts
  489.   layer III audio streams.
  490.  
  491.   2.4.  WAV
  492.  
  493.   Quote from the sox man page:
  494.  
  495.        These appear to be very similar to IFF files, but not the
  496.        same.  They are the native sound file format of Windows 3.1.
  497.        Obviously, Windows 3.1 is of such incredible importance to
  498.        the computer industry that it just had to have its own sound
  499.        file format.
  500.  
  501.   These usually have the extension .wav.
  502.  
  503.   Also see section ``sox'' and ``bplay'' for other WAV players besides
  504.   the ones listed here.
  505.  
  506.   2.4.1.  wavplay
  507.  
  508.   This program supports playing and recording with the WAV format.  It
  509.   uses locking so that only one sound may be played at a time.  Its
  510.   locking capabilities can also be used separately from its sound
  511.   playing capabilities.
  512.  
  513.   In addition to a command-line interface, it also has a Motif
  514.   interface,which can be used with Lesstif.
  515.  
  516.   It was originally written by Andre Fuechsel (af1@irz.inf.tu-
  517.   dresden.de), but was evolved to the point of being completely
  518.   rewritten by Warren W. Gay (bx249@freenet.toronto.on.ca or
  519.   wwg@ica.net).
  520.  
  521.   It can be obtained by anonymous FTP from sunsite.unc.edu at
  522.   /pub/Linux/apps/sound/players/wavplay-1.0.tar.gz.
  523.  
  524.   2.4.2.  XWave
  525.  
  526.   This program is based on wavplay.  It too has an X Window interface
  527.   for playing and recording in WAV format.  However, it also has some
  528.   editing capabilities and can add effects.
  529.  
  530.   This is still in a rather buggy stage, so the author would appreciate
  531.   any bug reports, bugfixes, or new code.
  532.  
  533.   This is registered freeware, in other words you can freely
  534.   redistribute it as long as you register it by sending the author a
  535.   color picture postcard.  But it's OK to use it unregistered, as long
  536.   as you don't get caught???
  537.  
  538.   The author is Will Fish (fishwj@ee.port.ac.uk).
  539.  
  540.   XWave can be obtained by anonymous FTP.
  541.  
  542.   2.5.  Other stuff
  543.  
  544.   This section lists stuff that play sound formats that don't deserve a
  545.   separate section (i.e. formats that have only one player available),
  546.   or players that play more than one format.
  547.  
  548.   2.5.1.  sox
  549.  
  550.   This program is actually a converter, that is, it converts one sound
  551.   format to another.  When invoked as play, however, it plays the sound
  552.   (the play application in the Sound HOWTO probably refers to this).  It
  553.   supports raw (no header) binary and textual data, IRCAM Sound Files,
  554.   Sound Blaster .voc, SPARC .au (w/header), Mac HCOM, PC/DOS .sou,
  555.   Sndtool, and Sounder, NeXT .snd, Windows 3.1 RIFF/WAV, Turtle Beach
  556.   .smp, CD-R, and Apple/SGI AIFF and 8SVX formats
  557.  
  558.   Since somewhere in the 1.3.6x kernels, you might have to make a small
  559.   change in one file to make it play the sound directly.  Namely, you
  560.   may have to change line 179 in sbdsp.c from
  561.  
  562.        if (abuf_size < 4096 || abuf_size > 65536) {
  563.  
  564.   to
  565.  
  566.        if (abuf_size < 1 || abuf_size > 65536) {
  567.  
  568.   But then again, you may not have to do this.  But doing this won't
  569.   break anything.
  570.  
  571.   It is written and copyrighted by many people, and can be used for any
  572.   purpose.
  573.  
  574.   It can be obtained by anonymous FTP from sunsite.unc.edu at
  575.   /pub/Linux/apps/sound/convert/Lsox-linux.tar.gz.
  576.  
  577.   A more recent version by Chris Bagwell (tt/cbagwell@sprynet.com/)
  578.   (based on the latest gamma version of the original sox, and includes
  579.   the above fix) can be obtained by anonymous FTP from sunsite.unc.edu
  580.   at /pub/Linux/apps/sound/convert/sox-11gamma-cb3.tar.gz.
  581.  
  582.   2.5.2.  bplay
  583.  
  584.   This beta program plays raw audio, WAV, and VOC files.  It's also able
  585.   to record to these files.  It uses a variety of techniques to get the
  586.   highest speed possible so that it can run acceptably even on slow
  587.   machines.  One of these techniques require that the installed programs
  588.   be setuid root.  The paranoid hoping to use this may want to use the
  589.   Debian package by Ian Jackson (ijackson@gnu.ai.mit.edu), which
  590.   disables the feature that needs the setuid bit.
  591.  
  592.   The author is David Monro (davidm@gh.cs.usyd.edu.au).
  593.  
  594.   It can be obtained by anonymous FTP from sunsite.unc.edu at
  595.   /pub/Linux/apps/sound/players/bplay-0.96.tar.gz.
  596.  
  597.   2.5.3.  RealAudio Player
  598.  
  599.   This lets you listen to sound, which is stored in a proprietary
  600.   format, in real time over the Internet without downloading the whole
  601.   sound file first.  It could be used stand alone, but it is really
  602.   intended to be used along with a web browser (the explicitly supported
  603.   ones are Mosaic and Netscape).  It cannot be used without X (you
  604.   wouldn't be able to get it working with Lynx in a text console).
  605.  
  606.   This is by Progressive Networks, Inc.  This cannot be redistributed,
  607.   modified etc.  Look at the license for exact details on what you can
  608.   do.  Itcan be obtained by registering with no cost at the RealAudio
  609.   home page <http://www.realaudio.com/>.
  610.  
  611.   2.5.4.  cat
  612.  
  613.   One might think what cat, the sometimes overused concatenating
  614.   utility, has to do with playing sounds.  I'll show a use of it through
  615.   an example.
  616.  
  617.        $ cat sample.voc > /dev/dsp
  618.        $ cat sample.wav > /dev/dsp
  619.        $ cat sample.au > /dev/audio
  620.  
  621.   Doing a cat of an .au file to /dev/audio will usually work, and if
  622.   you're lucky enough that the file has the correct byte order (for your
  623.   platform) etc., a cat of a sound file that uses PCM samples (like .wav
  624.   or .voc) to /dev/dsp might even sound right.
  625.  
  626.   This isn't a totally useless use of cat.  It might be useful, for
  627.   example, if you have a sound file that none of your programs
  628.   recognize, and you know that it uses PCM samples, then you might be
  629.   able to get a very approximate idea on how it sounds like this way (if
  630.   you're lucky).
  631.  
  632.   3.  Other useful sound utilities
  633.  
  634.   This section has nothing to do with the actual playing of sound files.
  635.   Rather, it is a collection of some sound utilities that one might find
  636.   useful.
  637.  
  638.   3.1.  volume
  639.  
  640.   This is a simple command line interface for controlling the volume
  641.   (what else could it be?).  It also has a separate program with a
  642.   Tcl/Tk interface included in the package for controlling the volume
  643.   and playing .au sound files.  A very simple Tcl/Tk CD player is also
  644.   included.
  645.  
  646.   This is Freeware and it is written by Sam Lantinga
  647.   (slouken@cs.ucdavis.edu).
  648.  
  649.   It can be obtained by anonymous FTP from sunsite.unc.edu at
  650.   /pub/Linux/apps/sound/volume-2.1.tar.gz.
  651.  
  652.   3.2.  setmixer
  653.  
  654.   This is a command line mixer control program.
  655.  
  656.   The author is Michal Jaegermann (michal@ellpspace.math.ualberta.ca).
  657.  
  658.   3.3.  Sound Studio
  659.  
  660.   This is a Tcl/Tk application that supports playback, recording, and
  661.   editing of digital sound using sox.  It includes sox in the
  662.   distribution to avoid compatibility problems.
  663.  
  664.   This was written by Paul Sharpe and N. J. Bailey
  665.   (N.J.Bailey@leeds.ac.uk).  It may be freely used and redistributed if
  666.   a postcard is sent.
  667.  
  668.   It can be found at Sound Studio's home page <http://www.elec-
  669.   eng.leeds.ac.uk/staff/een6njb/Software/Studio/screens.html>.
  670.  
  671.   3.4.  Tickle Music
  672.  
  673.   This beta Tcl/Tk program is a music file browser that allows you to
  674.   play various sound formats as long as an appropriate program to play
  675.   it is on your system.  By default gmod is used for playing MOD files
  676.   and mp for playing MIDI files (you can change the source to use other
  677.   programs).
  678.  
  679.   It is written and copyrighted by Shannon Hendrix (shendrix@pcs.cnu.edu
  680.   or shendrix@escape.widomaker.com).
  681.  
  682.   It can be obtained by anonymous FTP from sunsite.unc.edu at
  683.   /pub/Linux/apps/sound/players/tmusic-1.0.tar.gz.
  684.  
  685.   4.  References
  686.  
  687.   1. The documentation included with the applications in this document.
  688.  
  689.   2. The Linux Sound HOWTO.  It can be found at the Linux Documentation
  690.      Project <http://sunsite.unc.edu/LDP/>.
  691.  
  692.   3. The Linux MIDI and Sound Pages <http://www.digiserve.com/ar/linux-
  693.      snd/>
  694.  
  695.   4. MPEG Audio Layer 3 FAQ
  696.      <http://www.iis.fhg.de/departs/amm/layer3/sw/>
  697.  
  698.   5. Programmer's Guide to OSS <http://www.4front-tech.com/pguide/>
  699.  
  700.   6. SoX home page <http://www.spies.com/Sox/>
  701.  
  702.