The Linux Sound Playing HOWTO <author>Yoo C. Chung, <tt><htmlurl url="mailto:wacko@power1.snu.ac.kr" name="wacko@power1.snu.ac.kr"></tt> <date>v1.1, 18 May 1996 <abstract> This document lists applications for Linux that play various sound formats. </abstract> <toc> <sect>Introduction <p> This is the Sound Playing HOWTO. It lists the many sound formats and the applications that can be used to play them. It also lists some hacks and advice on using these applications. There are also some other interesting applications related to sound not directly related to playback. However, this document does <em/not/ describe how one can setup a Linux system for sound support. Refer to the Linux Sound HOWTO by <htmlurl url="mailto:jeff_tranter@mitel.com" name="Jeff Tranter"> for instructions on setting up a Linux system for sound support and the supported sound hardware. This deals with normal user sound applications. That is, it is only concerned about what the average user needs to know on the application side of sound, not exotic stuff like speech synthesis, or hardware stuff which is dealt in the Sound HOWTO. <sect1>Copyright of this document <p> This document can be freely distributed and modified (I would appreciate it if I were notified of any modifications), as long as this copyright notice is preserved. However, it cannot be placed under any further restrictions, and a modified document must have the same copyright as this one. Also, credit must be given where due. <sect1>Copyright of the listed applications <p> If there is no mention of any copyright, then the application is under the GNU General Public License. <sect1>Where to get this document <p> You can find the most recent version of this document on the World Wide Web at <tt><htmlurl name="http://plaza.snu.ac.kr/~wacko/howto/Sound-Playing-HOWTO.html" url="http://plaza.snu.ac.kr/~wacko/howto/Sound-Playing-HOWTO.html"></tt>. This document can also be obtained from the <url name="Linux Documentation Project" url="http://sunsite.unc.edu/mdw/linux.html">, albeit it might possibly be out of date by a few weeks. A Korean version of this document (rather outdated) is available at <tt><htmlurl name="http://plaza.snu.ac.kr/~wacko/howto/Sound-Playing-HOWTO.ks" url="http://plaza.snu.ac.kr/~wacko/howto/Sound-Playing-HOWTO.ks"></tt>. <sect1>Feedback <p> I am not omniscient, and I don't use all the applications in here (a few I can't even try), so there are bound to be mistakes. Also, programs usually continuously evolve, so documentation tends to get out of date. Therefore, if you find anything wrong, please <htmlurl name="send me" url="mailto:wacko@power1.snu.ac.kr"> any corrections. Suggestions or additions to this document are welcome, too. <sect1>Acknowledgments <p> All the authors of the applications in this HOWTO. Also, Hannu Savolainen for the great sound driver and Linus Torvalds for the great underlying OS. Raymond Nijssen (<tt><htmlurl name="raymond@es.ele.tue.nl" url="mailto:raymond@es.ele.tue.nl"></tt>) and Jeroen Rutten (<tt><htmlurl name="jeroen@es.ele.tue.nl" url="mailto:jeroen@es.ele.tue.nl"></tt>) for information and help on Layer 3 Shareware Encoder/Decoder. Antonio Perez (<tt><htmlurl name="aperez@arrakis.es" url="mailto:aperez@arrakis.es"></tt>) for information on MikMod. <sect>Playing Various Sound Formats <p> There are many kinds of sound formats (wav, MIDI, MPEG etc.). Below, we list the various formats and the applications that can be used to play them. <sect1>MIDI <p> MIDI stands for Musical Instrument Device Interface. MIDI files usually have the extension <tt/.mid/. They contain sequencing information, that is, information on when to play what instrument in what way, etc. Depending on your hardware (and maybe the software you use to play them), the sound might be awesome, or it might be downright crappy. <sect2>The adagio package <!-- Possibly outdated - I don't use it --> <p> This package includes <tt/mp/ (a command-line MIDI file player) and <tt/xmp/ (an XView based MIDI file player). You will need the SlingShot extensions to use <tt/xmp/. It also contains other programs for playing Adagio scores (I don't know much about this). If you have a GUS, <tt/mp/ can also play MOD files (see section <ref id="sec-modules" name="Modules"> for more information on modules). One little annoying bug (as of version 0.5) is that the sound breaks at the end. Namely, instead of ending the sound the way the MIDI file specifies, it ends by playing the note right before the last one in a long interval. It hasn't stopped me from using <tt/mp/, but it might prevent someone from using it for `real' work. It also starts up relatively slowly. The package does not mention any copyright (at least none that I can find), so I assume it can be freely redistributed and modified. Don't hold me to my word, though. It is a port of the CMU MIDI Toolkit to Linux (well, there was enough added to make this questionable) by Greg Lee (<tt><htmlurl url="mailto:lee@uhunix.uhcc.hawaii.edu" name="lee@uhunix.uhcc.hawaii.edu"></tt>). It can be found at <tt><htmlurl name="ftp://tsx-11.mit.edu/pub/linux/packages/adagio05.tgz" url="ftp://tsx-11.mit.edu/pub/linux/packages/adagio05.tgz"></tt>. The binaries included here are in a.out format (linked with ancient libraries), and the <tt/xmp/ binary segfaults in a X11R6 environment (XFree86 3.1.1, libc 4.7.2). The <tt/mp/ binary works fine. You will need a bit of hackery to compile it. Actually, it's not much of a hackery. All you have to do is to include the <tt/-lfl/ switch at the end of <tt/SHROBJ/ and <tt/XMPOBJ/ in the Makefile. This is to link in the <tt/flex/ library, which is not linked in by default. Then follow the installation instructions. And don't forget to have XView and the SlingShot extensions installed if you want to compile <tt/xmp/. <sect2>timidity <!-- Probably outdated - I don't use it --> <p> Some people recommend this <em/experimental/ program because of good sound quality (which is very true, it's much better than <tt/mp/ on a Sound Blaster 16, though probably won't be much different on a GUS). However, it suffers from high CPU loads. It plays MIDI by first converting MIDI to WAV and then plays the WAV (you can also convert a MIDI file to a WAV file without playing if you want). This is the reason for its CPU intensive nature. It also has an optional ncurses, SLang, or Motif interface. As far as I know, a statically linked <tt/timidity/ binay with the Motif interface is not available. You need Gravis Ultrasound patch files to use this. A small collection of GUS patch files can be found at <tt><htmlurl name="ftp://sunsite.unc.edu/pub/Linux/apps/sound/timidity-lib-0.1.tar.gz" url="ftp://sunsite.unc.edu/pub/Linux/apps/sound/timidity-lib-0.1.tar.gz"></tt>. You'll want to find much more if you want to properly use <tt/timidity/. Look into the FAQ included with <tt/timidity/ for more information. <tt/timidity/ itself can be found at <tt><htmlurl name="ftp://sunsite.unc.edu//pub/Linux/apps/sound/timidity-0.2h.tgz" url="ftp://sunsite.unc.edu//pub/Linux/apps/sound/timidity-0.2h.tgz"></tt>. It is written by Tuukka Toivonen (<tt><htmlurl name="titoivon@snakemail.hut.fi" url="mailto:titoivon@snakemail.hut.fi"></tt>). <sect2>playmidi <!-- Probably not outdated - I use it --> <p> This is a MIDI player that plays to FM, GUS, and external MIDI. It is supposed to have a faster startup time compared to other MIDI players. It is also able to play Creative Music Files (CMF), Microsoft RIFF (RMI) files, and large MIDI archives from games such as Ultima 7. It has an X interface and also a SVGA interface. It also has an option for real time playback with tracking all the notes on each channel and the current playback clock (included automatically with <tt/xplaymidi/ and <tt/splaymidi/). You should do something like <tscreen><verb> $ splaymidi foo.mid; stty sane </verb></tscreen> if you are going to use the SVGA interface, since it doesn't reset the terminal tty mode properly. The SVGA interface may be removed in the near future. It is written by Nathan Laredo (<tt><htmlurl name="laredo@gnu.ai.mit.edu" url="mailto:laredo@gnu.ai.mit.edu"></tt> or <tt><htmlurl name="laredo@ix.netcom.com" url="mailto:laredo@ix.netcom.com"></tt>). It can be found at <tt><htmlurl name="ftp://sunsite.unc.edu/pub/Linux/apps/sound/players/playmidi-2.3.tgz" url="ftp://sunsite.unc.edu/pub/Linux/apps/sound/players/playmidi-2.3.tgz"></tt>. <sect1>Modules<label id="sec-modules"> <p> Modules (in computer music) are digital music files, made up of a set of samples and sequencing information, telling the player when to play which sample (instrument) on which track at what pitch, optionally performing an effect like vibrato, for example. An advantage it has over MIDI is that it can include almost any kind of sound (including human voices). Another is that it sounds just about the same on any platform, because the samples are in the module. A disadvantage it has is that it has a much larger file size compared to MIDI. Another one is that it has no real standard format (the only `real' one is the ProTracker, which many modules aren't quite compatible with). It originated on the Amiga. They usually have the extension <tt/.mod/. There are many other extensions depending on what format they are in. <sect2>tracker <!-- Possibly outdated - I use it --> <p> This very portable program (it has been ported to many platforms) plays Soundtracker and Protracker music modules. It uses 16 bit stereo output, and I consider the quality to be very good. Use the <tt/-mono/ option if you need a simple way to reduce CPU load. This is a giftware program (quoting the author). It is by Marc Espie (<tt><htmlurl name="Marc.Espie@ens.fr" url="mailto:Marc.Espie@ens.fr"></tt>). A version of this with the Makefile already tweaked for Linux is at <tt><htmlurl name="ftp://sunsite.unc.edu/pub/Linux/apps/sound/players/tracker-4.3-linux.tar.gz" url="ftp://sunsite.unc.edu/pub/Linux/apps/sound/players/tracker-4.3-linux.tar.gz"></tt>. <sect2>s3mod <!-- Probably not outdated - I don't use it --> <p> This plays 4/6/8 track MOD modules and Scream Tracker 3 modules. It uses 8 bit mono output with a sampling rate of 22000 Hz by default. You can use the option <tt/-s/ to enable stereo, <tt/-b/ to enable 16 bit output, and <tt/-f/ to set the sampling frequency. However, the sound output is worse than tracker (some noise), so I recommend using <tt/tracker/ instead of <tt/s3mod/ for playing ordinary MOD files (unless you have an underpowered machine). It has a much smaller CPU load compared to tracker. It is copyrighted by Daniel Marks and David Jeske (<tt><htmlurl name="jeske@uiuc.edu" url="mailto:jeske@uiuc.edu"></tt>), but you can do anything you want with it (except that you can't claim you wrote it). It can be found at <tt><htmlurl name="ftp://sunsite.unc.edu/pub/linux/apps/sound/players/s3mod-v1.09.tar.gz" url="ftp://sunsite.unc.edu/pub/linux/apps/sound/players/s3mod-v1.09.tar.gz"></tt>. <sect2>gmod <!-- Possibly outdated - I don't use it --> <p> This is a music module player for the Gravis Ultrasound card. 4/6/8 channel MOD, 669, MultiTracker, UltraTracker, and S3M are the supported formats. It requires version 2.90-2 or later sound driver. And a GUS, of course. You may have to modify the kernel a little to make volume control work as you like. This has an X interface. You need libfwf (which can be obtained from <tt><htmlurl name="ftp://ftp.let.rug.nl/pub/FWF" url="ftp://ftp.let.rug.nl/pub/FWF"></tt> in source form, or from <tt><htmlurl name="ftp://sunsite.unc.edu/pub/Linux/X11/devel" url="ftp://sunsite.unc.edu/pub/Linux/X11/devel"></tt> for a shared ELF library) in addition to a reasonable X installation. This can be freely distributed. It was originally written by Hannu Savolainen, and now maintained by Andrew J. Robinson (<tt><htmlurl name="robinson@cnj.digex.net" url="mailto:robinson@cnj.digex.net"></tt>). It can be found at <tt><htmlurl name="ftp://sunsite.unc.edu/pub/Linux/apps/sound/players/gmod+x-2.2.3.tgz" url="ftp://sunsite.unc.edu/pub/Linux/apps/sound/players/gmod+x-2.2.3.tgz"></tt>. <sect2>mod <!-- Probably not outdated - I don't use it --> <p> This <em/beta/ program plays MODs (15/31-instrument, up to 32 voices), MTMs, ULTs and S3Ms on the Gravis Ultrasound card. It has an ncurses interface. It can also use packed modules if you have <tt/gzip/, <tt/lharc/, <tt/unzip/, and <tt/unarj/ installed. It cannot play Powerpacked modules or modules packed with some Amiga composers ("PACK" signature). This requires at least version 3.0 of the sound driver. It <em/won't/ work with the 2.90-2 version of the sound driver included in the 1.2.x kernels. The text interface requires ncurses. There is also an X interface included, which uses Tcl/Tk. It is written by Mikael Nordqvist (<tt><htmlurl name="mech@df.lth.se" url="mailto:mech@df.lth.se"></tt> or <tt><htmlurl name="d91mn@efd.lth.se" url="mailto:d91mn@efd.lth.se"></tt>). It can be found at <tt><htmlurl name="ftp://sunsite.unc.edu/pub/Linux/apps/sound/players/mod-v0.81.tgz" url="ftp://sunsite.unc.edu/pub/Linux/apps/sound/players/mod-v0.81.tgz"></tt>. <sect2>pmod <!-- Probably not outdated - I don't use it --> <p> <tt/pmod/ plays XM, S3M, MTM, MOD, and 669 modules on the Gravis Ultrasound card. It uses its own beta sound driver that comes with it. It claims that you can play modules and play the Linux version of Doom at the same time if you have a GUS MAX. It has a text interface that uses ncurses. The author is Jaroslav Kysela (<tt><htmlurl name="perex@pf.jcu.cz" url="mailto:perex@pf.jcu.cz"></tt>). <tt/pmod/ also has it's own mailing list (<tt><htmlurl name="pmod@pf.jcu.cz" url="pmod@pf.jcu.cz"></tt>), which I think is the preferred place to ask questions about <tt/pmod/. It can be found at <tt><htmlurl name="ftp://sunsite.unc.edu/pub/Linux/apps/sound/players/pgmod-1.25e.tgz" url="ftp://sunsite.unc.edu/pub/Linux/apps/sound/players/pgmod-1.25e.tgz"></tt>. <sect2>MikMod <!-- Possibly outdated - I don't use it --> <p> This portable module player plays XM, ULT, STM, S3M, MTM, MOD and UNI formats. (The UNI format is an internal format used by MikMod.) It uses 16 bit stereo for the sound output. Use the <tt/-m/ option (for mono output) if you need to lower the CPU load. It was written by Jean-Paul Mikkers (<tt><htmlurl name="mikmak@via.nl" url="mailto:mikmak@via.nl"></tt>). This is shareware that has to be registered if you want to use it commercially. You also need permission to redistribute it commercially (non-commercial redistribution is does not need such permission). It can be found somewhere below <tt>/pub/demos/</tt> at <tt/ftp.cdrom.com/ or somewhere below <tt>/pub/msdos/programming/</tt> at <tt/teeri.oulu.fi/. Or you could get it from the <url name="author's homepage" url="http://www.stack.urc.tue.nl/~mikmak/welcome.htm">. <!-- I should take a better look at where MikMod is, but ftp.cdrom.com --> <!-- is VERY slow, and teeri.oulu.fi is in Finland, which is slow, --> <!-- too. Maybe later. --> <sect2>nspmod <!-- Probably not outdated - I don't use it --> <p> This is an <em/alpha/ module player which can play MTM, S3M, and MOD modules. It is intended to be a module player for soundcards without a DSP (not to be confused with what Creative Labs calls a DSP). It has a CPU load somewhat similar compared to <tt/tracker/. <!-- I hope I'm not showing blatant ignorance with the remarks about --> <!-- DSP. And I'm not sure what advantage nspmod offers over tracker. --> It has a feature which lets modules loop if they want to. The number of loops can be limited by the <tt/-l/ option. It uses only 8 bit sound output (as of version 0.1). This was written by Toru Egashira (<tt><htmlurl name="toru@jms.jeton.or.jp" url="mailto:toru@jms.jeton.or.jp"></tt>). It can be found at <tt><htmlurl name="ftp://sunsite.unc.edu/pub/Linux/apps/sound/players/nspmod-0.1.tar.gz" url="ftp://sunsite.unc.edu/pub/Linux/apps/sound/players/nspmod-0.1.tar.gz"></tt>. <sect2>yampmod <!-- Possibly outdated - I don't use it --> <p> This <em/alpha/ program was designed to play 4-channel modules using the minimum of CPU resources. It was <em/not/ designed to produce high quality sound. So the only sound output it produces is 22 kHz mono output. Also, the output isn't as clean as it should be, reflectng its alpha status. It was written by David Groves (<tt><htmlurl name="djg@djghome.demon.co.uk" url="mailto:djg@djghome.demon.co.uk"></tt>). It is available at <tt><htmlurl name="ftp://sunsite.unc.edu/pub/Linux/apps/sound/players/yampmod-0.1.tar.gz" url="ftp://sunsite.unc.edu/pub/Linux/apps/sound/players/yampmod-0.1.tar.gz"></tt>. <sect1>MPEG audio streams <p> MPEG is a standard specifying the coding of video and the associated audio for digital storage. MPEG is usually associated with video, but the audio part of the standard can be used separately. The audio part of the MPEG standard defines three layers, layer I, II, and III. Players that can decode higher layers can also decode lower layers (e.g. layer III players can play layer II files). Layer I MPEG audio files usually have the extension <tt/.mpg/ (so if there is a file with this extension that can't be played by a MPEG video player, it's probably an audio stream), layer II usually have <tt/.mp2/, and layer III usually have <tt/.mp3/. The files are usually rather large compared to other formats, but the quality is very good. A two megabyte layer II MPEG audio file will probably take up 25 megabytes for a raw PCM sample file with the same quality. <sect2>maplay <!-- Probably not outdated - I use it --> <p> This MPEG audio stream player only has support for layer I and layer II streams. It lacks support for layer III as of version 1.2. It supports 16 bit sound cards on Linux (though some 16 bit sound cards are rumored not to work with <tt/maplay/). It is <em/very/ CPU intensive, taking up to about 55% CPU time on a 60MHz Pentium. The output is intolerable on a 66MHz 486 because the CPU just can't catch up with the sound. If this happens to you, try playing only one side of the audio stream (with the <tt/-l/ or <tt/-r/ option), instead of the default stereo. A slight change in one of the files may be necessary in order to compile it. Namely, you may need to add the following line to the beginning of the file <tt/configuration.sh/. <tscreen><verb> #! /bin/sh </verb></tscreen> The author is Tobias Bading (<tt><htmlurl url="mailto:bading@cs.tu-berlin.de" name="bading@cs.tu-berlin.de"></tt>). <tt/maplay/ can be found at <tt><htmlurl name="ftp://sunsite.unc.edu/pub/Linux/apps/sound/players/maplay1_2.tar.gz" url="ftp://sunsite.unc.edu/pub/Linux/apps/sound/players/maplay1_2.tar.gz"></tt>. <sect2>Layer 3 Shareware Encoder/Decoder <!-- Probably not outdated - I don't use it --> <!-- First entry in this document that doesn't have source available --> <p> This is actually a converter that converts MPEG Layer 3 audio streams to WAV, AIFF, SND, AIFC, or just raw PCM sample files. The Linux version does not directly output the sound to the soundcard. One has to first convert it to some other format. However, when you try to play a converted file using <tt/sox/, you'll probably just get noise because the word order in the PCM samples is not right (at least on Intel platforms). You need to give <tt/sox/ the option <tt/-x/ to solve this problem. But there are some players that don't have to be told that the word order is wrong, so you might not have to worry about this. If you have a really fast computer (probably at least a 90Mhz Pentium), then you can try to play it directly without having to first convert the MPEG audio file to another format like in the following example (this example assumes that you're using <tt/sox/). <tscreen><verb> $ l3dec foo.mp3 -sto | play -t raw -x -u -w -c 2 -r 44100 - </verb></tscreen> Of course, the number after <tt/-r/ should be the sample rate of the audio stream, and the number after <tt/-c/ depends on whether it is mono or stereo (or even quad). If this looks too complicated, you can use something like a shell script or an alias. This is shareware copyrighted by Fraunhofer-IIS. A demo version is available at <tt><htmlurl url="ftp://ftp.fhg.de/pub/layer3/l3v200.linux.tar.gz" name="ftp://ftp.fhg.de/pub/layer3/l3v200.linux.tar.gz"></tt>. The demo version only converts layer III audio streams. <sect1>WAV <p> Quote from the <tt/sox/ man page: <quote> These appear to be very similar to IFF files, but not the same. They are the native sound file format of Windows 3.1. Obviously, Windows 3.1 is of such incredible importance to the computer industry that it just had to have its own sound file format. </quote> These usually have the extension <tt/.wav/. Also see section <ref id="sec-sox" name="sox"> for another WAV player besides the ones listed here. <sect2>wavplay <!-- Most certainly not outdated - I don't use it --> <p> This <em/unfinished/ program has a command line interface and an X Window interface for playing and recording in WAV format. Copyright is not explicitly mentioned. It is by Andre Fuechsel (<tt><htmlurl name="af1@irz.inf.tu-dresden.de" url="mailto:af1@irz.inf.tu-dresden.de"></tt>). It can be found at <tt><htmlurl name="ftp://sunsite.unc.edu/pub/Linux/apps/sound/players/wavplay021.tar.z" url="ftp://sunsite.unc.edu/pub/Linux/apps/sound/players/wavplay021.tar.z"></tt>. A patch for systems with sound drivers higher than 2.0 (which means almost all systems these days) is available at <tt><htmlurl name="ftp://sunsite.unc.edu/pub/Linux/apps/sound/players/wavplay021_patch.tar.gz" url="ftp://sunsite.unc.edu/pub/Linux/apps/sound/players/wavplay021_patch.tar.gz"></tt>. <sect2>XWave <!-- Still in development --> <p> This program is based on <tt/wavplay/. It too has an X Window interface for playing and recording in WAV format. However, it also has some editing capabilities and can add effects. This is still in a rather buggy stage, so the author would appreciate any bug reports, bugfixes, or new code. <!-- Something like this is in the README. --> <!-- I thought it should be here because it was funny. --> This is registered freeware, in other words you can freely redistribute it as long as you register it by sending the author a color picture postcard. But it's OK to use it unregistered, as long as you don't get caught??? The author is Will Fish (<tt><htmlurl name="fishwj@ee.port.ac.uk" url="mailto:fishwj@ee.port.ac.uk"></tt>). XWave can be found at <tt><htmlurl name="ftp://ftp.ee.port.ac.uk/pub/linux/sound/xwave0.01-1.tar.gz" url="ftp://ftp.ee.port.ac.uk/pub/linux/sound/xwave0.01-1.tar.gz"></tt>. <sect1>Other stuff <sect2>sox<label id="sec-sox"> <!-- Possibly outdated - I use it --> <p> This program is actually a converter, that is, it converts one sound format to another. When invoked as <tt/play/, however, it plays the sound (the <tt/play/ application in the Sound HOWTO probably refers to this). It supports raw (no header) binary and textual data, IRCAM Sound Files, Sound Blaster <tt/.voc/, SPARC <tt/.au/ (w/header), Mac HCOM, PC/DOS <tt/.sou/, Sndtool, and Sounder, NeXT <tt/.snd/, Windows 3.1 RIFF/WAV, Turtle Beach <tt/.smp/, CD-R, and Apple/SGI AIFF and 8SVX formats (a lot of these formats I have no experience with, I just took it from the man page). Since somewhere in the 1.3.6x kernels, you might have to make a small change in one file to make it play the sound directly. Namely, you may have to change line 179 in sbdsp.c from <tscreen><verb> if (abuf_size < 4096 || abuf_size > 65536) { </verb></tscreen> to <tscreen><verb> if (abuf_size < 1 || abuf_size > 65536) { </verb></tscreen> But then again, you might not have to do this. But doing this won't break anything. <!-- It works without this fix at least with 1.3.92 --> It is written and copyrighted by many people, and can be used for any purpose. It can be found at <tt><htmlurl name="ftp://sunsite.unc.edu/pub/Linux/sound/convert/Lsox-linux.tar.gz" url="ftp://sunsite.unc.edu/pub/Linux/sound/convert/Lsox-linux.tar.gz"></tt>. <sect2>cat <p> One might think what <tt/cat/, the sometimes overused concatenating utility, has to do with playing sounds. I'll show a use of it through an example. <tscreen><verb> $ cat sample.voc > /dev/dsp $ cat sample.wav > /dev/dsp $ cat sample.au > /dev/audio </verb></tscreen> Doing a <tt/cat/ of an <tt/.au/ file to <tt>/dev/audio</tt> will usually work, and if you're lucky enough that the file has the correct byte order (for your platform) etc., a <tt/cat/ of a sound file that uses PCM samples (like <tt/.wav/ or <tt/.voc/) to <tt>/dev/dsp</tt> might even sound right. This isn't a totally useless use of <tt/cat/. It might be useful, for example, if you have a sound file that none of your programs recognize, and you know that it uses PCM samples, then you might be able to get a very approximate idea on how it sounds like this way (if you're lucky). <sect>Other useful sound utilities <p> This section has nothing to do with the actual playing of sound files. Rather, it is a collection of some sound utilities that one might find useful. <sect1>volume <!-- Probably not outdated - I use it --> <p> This is a simple command line interface for controlling the volume (what else could it be?). It also has a separate program with a Tcl/Tk interface included in the package for controlling the volume and playing <tt/.au/ sound files. It is very useful for people who don't have hardware volume control, don't want to pump in extra electricity for the external amplifiers (which might degrade the sound output, unless you have a good one), don't have much need for <em/really/ loud sounds, and want a convenient command line interface (I'm a command line geek) for controlling the volume. This is Freeware and it is written by Sam Lantinga (<tt><htmlurl url="mailto:slouken@cs.ucdavis.edu" name="slouken@cs.ucdavis.edu"></tt>). It can be found at <tt><htmlurl name="ftp://sunsite.unc.edu/pub/Linux/apps/sound/volume-1.1.tgz" url="ftp://sunsite.unc.edu/pub/Linux/apps/sound/volume-1.1.tgz"></tt>. <sect1>setmixer <!-- Probably not outdated - I don't use it --> <p> This is a command line mixer control program. The author is Michal Jaegermann (<tt><htmlurl url="mailto:michal@ellpspace.math.ualberta.ca" name="michal@ellpspace.math.ualberta.ca"></tt>). <sect1>Tickle Music <!-- Probably not outdated - I don't use it --> <p> This <em/beta/ Tcl/Tk program is a music file browser that allows you to play various sound formats as long as an appropriate program to play it is on your system. By default <tt/gmod/ is used for playing MOD files and <tt/mp/ for playing MIDI files (you can change the source to use another program). It is written and copyrighted by Shannon Hendrix (<tt><htmlurl name="shendrix@pcs.cnu.edu" url="mailto:shendrix@pcs.cnu.edu"></tt> or <tt><htmlurl name="shendrix@escape.widomaker.com" url="mailto:shendrix@escape.widomaker.com"></tt>). It can be found at <tt><htmlurl name="ftp://sunsite.unc.edu/pub/Linux/apps/sound/players/tmusic-1.0.tar.gz" url="ftp://sunsite.unc.edu/pub/Linux/apps/sound/players/tmusic-1.0.tar.gz"></tt>. <sect>References <p> <enum> <item>The documentation included with the applications in this document. <item>The Linux Sound HOWTO. It is available from the <url name="Linux Documentation Project" url="http://sunsite.unc.edu/mdw/linux.html">. <item><url name="The Linux MIDI and Sound Pages" url="http://www.digiserve.com/ar/linux-snd/"> <item><tt><htmlurl name="alt.binaries.sounds.mods" url="news:alt.binaries.sounds.mods"></tt> FAQ <item><url name="MPEG Audio Layer 3 FAQ" url="http://www.iis.fhg.de/departs/amm/layer3/sw/index.html"> </enum> </article>