mirror of https://github.com/tLDP/LDP
957 lines
36 KiB
Plaintext
957 lines
36 KiB
Plaintext
|
<!doctype linuxdoc system>
|
||
|
|
||
|
<!-- $Id$ -->
|
||
|
|
||
|
<article>
|
||
|
|
||
|
<title>The Linux Sound Playing HOWTO</title>
|
||
|
<author>Yoo C. Chung,
|
||
|
<tt/wacko@laplace.snu.ac.kr/</author>
|
||
|
<date>v1.6, 11 August 1998</date>
|
||
|
|
||
|
<abstract>
|
||
|
This document lists applications for Linux that play various
|
||
|
sound formats.
|
||
|
</abstract>
|
||
|
|
||
|
<sect>Introduction</heading>
|
||
|
<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 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</heading>
|
||
|
<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</heading>
|
||
|
<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</heading>
|
||
|
<p>
|
||
|
The most recent official version of this document can be
|
||
|
obtained from the <url name="Linux Documentation Project"
|
||
|
url="http://sunsite.unc.edu/LDP/">. The most recent
|
||
|
unofficial version of this document can be obtained from
|
||
|
<url url="http://laplace.snu.ac.kr/˜wacko/howto/">.
|
||
|
|
||
|
A Korean version of this document (very outdated) is
|
||
|
available at <url url=
|
||
|
"http://laplace.snu.ac.kr/˜wacko/howto/Sound-Playing-HOWTO.ks">.
|
||
|
|
||
|
A Japanese version of this document is available at
|
||
|
<url url=
|
||
|
"http://jf.gee.kyoto-u.ac.jp/JF/JF-ftp/euc/Sound-Playing-HOWTO.euc">.
|
||
|
|
||
|
|
||
|
<sect1>Feedback</heading>
|
||
|
<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 send me any corrections.
|
||
|
Suggestions or additions to this document are welcome, too.
|
||
|
|
||
|
|
||
|
<sect1>Acknowledgments</heading>
|
||
|
<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.
|
||
|
|
||
|
I'd also like to thank Raymond Nijssen
|
||
|
(<tt/raymond@es.ele.tue.nl/), Jeroen Rutten
|
||
|
(<tt/jeroen@es.ele.tue.nl/), Antonio Perez
|
||
|
(<tt/aperez@arrakis.es/), Ian Jackson
|
||
|
(<tt/ijackson@gnu.org/), and Peter Amstutz
|
||
|
(<tt/amstpi@freenet.tlh.fl.us/) for their information and
|
||
|
help.
|
||
|
|
||
|
|
||
|
<sect>Playing Various Sound Formats</heading>
|
||
|
<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><idx/MIDI/</heading>
|
||
|
<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><cdx/adagio/</heading>
|
||
|
<!-- Probably not 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, not
|
||
|
to be confused with the module player also called
|
||
|
<tt/xmp/). You will need the SlingShot extensions to use
|
||
|
<tt/xmp/. It also contains other programs for playing
|
||
|
<idx/Adagio scores/.
|
||
|
|
||
|
<!-- I don't know much about Adagio scores. -->
|
||
|
|
||
|
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 on some
|
||
|
hardware) 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. (By a strict interpretation
|
||
|
of copyright law, nothing gives one the right to do these
|
||
|
things, but I somehow doubt that this was the intention of
|
||
|
the author.)
|
||
|
|
||
|
It is a port of the CMU MIDI Toolkit to Linux (though
|
||
|
there was enough added to make this questionable) by Greg
|
||
|
Lee (<tt/lee@uhunix.uhcc.hawaii.edu/).
|
||
|
|
||
|
It can be obtained from <url url=
|
||
|
"ftp://tsx-11.mit.edu/pub/linux/packages/sound/adagio05.tar.gz">.
|
||
|
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 in an <tt/a.out/ environment.
|
||
|
|
||
|
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><idx/TiMidity/</heading>
|
||
|
<!-- Probably not 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 it
|
||
|
probably won't be much different on soundcards with
|
||
|
wavetable synthesis like the 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, Tcl/Tk or Motif
|
||
|
interface.
|
||
|
|
||
|
You need Gravis Ultrasound patch files to use this. Look
|
||
|
into the FAQ included with TiMidity for more information.
|
||
|
|
||
|
The author is Tuukka Toivonen (<tt/tt@cgs.fi/).
|
||
|
|
||
|
The latest version of TiMidity can be found at the <url
|
||
|
name="TiMidity home page"
|
||
|
url="http://www.cgs.fi/˜tt/timidity/">. This page
|
||
|
also contains a link to a small library of GUS patches.
|
||
|
|
||
|
|
||
|
<sect2><cdx/playmidi/</heading>
|
||
|
<!-- 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, Microsoft RIFF files, and large MIDI
|
||
|
archives from games such as Ultima 7.
|
||
|
|
||
|
It has an X interface and 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 was written by Nathan Laredo
|
||
|
(<tt/laredo@gnu.org/ or <tt/laredo@ix.netcom.com/).
|
||
|
|
||
|
It can be obtained from <url url=
|
||
|
"ftp://sunsite.unc.edu/pub/Linux/apps/sound/players/playmidi-2.3.tar.gz">.
|
||
|
|
||
|
|
||
|
<sect1><idx/Modules/<label id="sec-modules"></heading>
|
||
|
<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.
|
||
|
|
||
|
The most common format has the extension <tt/.mod/. There
|
||
|
are many other extensions depending on what format they are
|
||
|
in.
|
||
|
|
||
|
|
||
|
<sect2><cdx/tracker/</heading>
|
||
|
<!-- Possibly outdated - I don't 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. If you need a simple way to
|
||
|
reduce CPU load use the <tt/-mono/ option.
|
||
|
|
||
|
This is a giftware program (quoting the author). It is by
|
||
|
Marc Espie (<tt/Marc.Espie@ens.fr/).
|
||
|
|
||
|
A version of this with the Makefile already tweaked for
|
||
|
Linux can be obtained from <url url=
|
||
|
"ftp://sunsite.unc.edu/pub/Linux/apps/sound/players/tracker-4.3-linux.tar.gz">.
|
||
|
|
||
|
|
||
|
<sect2><cdx/gmod/</heading>
|
||
|
<!-- Possibly outdated - I don't use it -->
|
||
|
<p>
|
||
|
This is a music module player for the Gravis Ultrasound
|
||
|
card. 4/6/8 channel MOD, 8 channel 669, MultiTracker
|
||
|
(MTM), UltraTracker (ULT), FastTracker (XM), and
|
||
|
ScreamTracker III (S3M) are the supported formats.
|
||
|
|
||
|
It requires a version 3.0 or later sound driver. And a
|
||
|
GUS, of course. You may need to modify the kernel to make
|
||
|
volume control work the way you want.
|
||
|
|
||
|
This has an X interface. It uses the QT toolkit (needs
|
||
|
version 0.99 or greater). Check the <url
|
||
|
name="QT toolkit homepage"
|
||
|
url="http://www.troll.no/"> for information on
|
||
|
QT.
|
||
|
|
||
|
This can be freely distributed. It was originally written
|
||
|
by Hannu Savolainen, and now maintained by Andrew
|
||
|
J. Robinson (<tt/robinson@cnj.digex.net/).
|
||
|
|
||
|
It can be obtained from <url url=
|
||
|
"ftp://sunsite.unc.edu/pub/Linux/apps/sound/players/gmod-3.1.tar.gz">.
|
||
|
|
||
|
|
||
|
<sect2><idx/MikMod/</heading>
|
||
|
<!-- 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 has support for zipped module
|
||
|
files. It uses 16 bit stereo for the sound output. Use
|
||
|
the <tt/-m/ option (for mono output) if you need a simple
|
||
|
way to lower the CPU load.
|
||
|
|
||
|
The Unix version can either use ncurses or Tcl/Tk for its
|
||
|
interface. It can also be used as a library, not just an
|
||
|
independent program.
|
||
|
|
||
|
It was originally written by Jean-Paul Mikkers
|
||
|
(<tt/mikmak@via.nl/). It is now maintained by Jake Stine
|
||
|
(<tt/dracoirs@epix.net/). 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 does not need such
|
||
|
permission).
|
||
|
|
||
|
This can be found at the <url
|
||
|
url="http://www.freenet.tlh.fl.us/˜amstpi/mikmod.html"
|
||
|
name="MikMod home page">.
|
||
|
|
||
|
|
||
|
<sect2><cdx/xmp/</heading>
|
||
|
<!-- Probably outdated - I don't use it -->
|
||
|
<p>
|
||
|
This is a module player (not to be confused with Adagio's
|
||
|
<tt/xmp/) which can play MOD, S3M, MTM, PTM, PTR, STM,
|
||
|
669, and XM modules (other formats are also supported, but
|
||
|
still experimental or incomplete). If you have soundcards
|
||
|
with wavetable synthesis (GUS or SoundBlaster 32AWE), then
|
||
|
you can use this feature of the soundcard to lower the
|
||
|
load on the CPU. It also supports compressed modules.
|
||
|
|
||
|
An X frontend to <tt/xmp/ is also available.
|
||
|
|
||
|
This was written by Claudio Matsuoka
|
||
|
(<tt/claudio@pos.inf.ufpr.br/) and Hipolito Carraro Jr.
|
||
|
|
||
|
This can found at the <url name="xmp home page"
|
||
|
url="http://xmp.home.ml.org/">.
|
||
|
|
||
|
|
||
|
<sect2><cdx/s3mod/</heading>
|
||
|
<!-- 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/jeske@uiuc.edu/), but you can do anything you want
|
||
|
with it (except that you can't claim you wrote it).
|
||
|
|
||
|
It can be obtained from <url url=
|
||
|
"ftp://sunsite.unc.edu/pub/Linux/apps/sound/players/s3mod-v1.09.tar.gz">.
|
||
|
|
||
|
|
||
|
<sect2><cdx/mod/</heading>
|
||
|
<!-- 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 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 or earlier version of
|
||
|
the sound driver. The text interface requires ncurses.
|
||
|
There is also an X interface included, which uses Tcl/Tk.
|
||
|
|
||
|
It was written by Mikael Nordqvist (<tt/mech@df.lth.se/ or
|
||
|
<tt/d91mn@efd.lth.se/).
|
||
|
|
||
|
It can be obtained from <url url=
|
||
|
"ftp://sunsite.unc.edu/pub/Linux/apps/sound/players/mod-v0.81.tgz">.
|
||
|
|
||
|
|
||
|
<sect2><cdx/nspmod/</heading>
|
||
|
<!-- 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 giving out blatant misinformation 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/toru@jms.jeton.or.jp/).
|
||
|
|
||
|
It can be obtained from <url url=
|
||
|
"ftp://sunsite.unc.edu/pub/Linux/apps/sound/players/nspmod-0.1.tar.gz">.
|
||
|
|
||
|
|
||
|
<sect2><cdx/yampmod/</heading>
|
||
|
<!-- 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,
|
||
|
reflecting its alpha status.
|
||
|
|
||
|
It was written by David Groves
|
||
|
(<tt/djg@djghome.demon.co.uk/).
|
||
|
|
||
|
It can be obtained from <url url=
|
||
|
"ftp://sunsite.unc.edu/pub/Linux/apps/sound/players/yampmod-0.1.tar.gz">.
|
||
|
|
||
|
|
||
|
<sect1><idx/MPEG audio streams/</heading>
|
||
|
<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 the extension <tt/.mp2/, and layer III
|
||
|
usually have the extension <tt/.mp3/. The audio compression
|
||
|
is pretty 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><cdx/mpg123/</heading>
|
||
|
<!-- Probably outdated - I use it -->
|
||
|
<p>
|
||
|
This <em/beta/ program is an efficient MPEG audio stream
|
||
|
player, which has support for layers I, II, and III. It
|
||
|
is based on code from many sources. It is able to play in
|
||
|
real time streams that are read by HTTP (i.e. one can play
|
||
|
an MPEG audio stream directly over the World Wide Web).
|
||
|
|
||
|
The main author is Michael Hipp
|
||
|
(<tt/Michael.Hipp@student.uni-tuebingen.de/). It may be
|
||
|
used and distributed in unmodified form freely for
|
||
|
non-commercial purposes. Inclusion in a collection of
|
||
|
free software (such as CD-ROM images of FTP servers) is
|
||
|
explicitly allowed.
|
||
|
|
||
|
The latest version can be obtained from the <url
|
||
|
name="mpg123 homepage" url="http://mpg.123.org/">.
|
||
|
|
||
|
|
||
|
<sect2><cdx/maplay 1.2/</heading>
|
||
|
<!-- Probably not outdated - I use it -->
|
||
|
<p>
|
||
|
This MPEG audio stream player only has support for layer I
|
||
|
and layer II streams, and lacks support for layer III
|
||
|
streams. It supports 16 bit sound cards on Linux.
|
||
|
|
||
|
It is pretty 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/bading@cs.tu-berlin.de/).
|
||
|
<tt/maplay/ 1.2 can be obtained from <url url=
|
||
|
"ftp://ftp.cs.tu-berlin.de/pub/misc/maplay1.2/maplay1_2.tar">.
|
||
|
|
||
|
|
||
|
<sect2><cdx/maplay 1.3b/</heading>
|
||
|
<!-- Probably not outdated - I don't use it -->
|
||
|
<p>
|
||
|
This is an unofficial modification (i.e. not by the
|
||
|
original author) of <tt/maplay/ 1.2, so that it can run
|
||
|
with a much lower load on the CPU. It accomplishes this
|
||
|
mainly by making u-law output actually work on other
|
||
|
platforms besides the SPARC. Note that it uses u-law
|
||
|
output by default, so the sound quality is lower.
|
||
|
|
||
|
The modifications were made by Orlando Andico
|
||
|
(<tt/orly@gibson.eee.upd.edu.ph/).
|
||
|
|
||
|
This can be obtained from <url url=
|
||
|
"ftp://sunsite.unc.edu/pub/Linux/apps/sound/players/maplay-1.3b-Linux.tar.gz">.
|
||
|
|
||
|
|
||
|
<sect2><cdx/maplay3/</heading>
|
||
|
<!-- Probably outdated - I don't use it -->
|
||
|
<p>
|
||
|
This is another derivative of <tt/maplay/ 1.2. It adds
|
||
|
support for MPEG Layer 3 audio streams. Currently it
|
||
|
seems to have some bugs in its playback (you may hear some
|
||
|
screeching noises). You may have to twiddle with the
|
||
|
options to solve this.
|
||
|
|
||
|
The modifications were made by Timo Jantunen
|
||
|
(<tt/timo.jantunen@hut.fi/ or <tt/jeti@cc.hut.fi/). It
|
||
|
says that it can be used freely, but making money off of
|
||
|
it is not allowed. However, I'm not entirely sure about
|
||
|
the validity of this copyright, since the original
|
||
|
<tt/maplay/ is under the GNU General Public License, which
|
||
|
does not allow derivative works to have a different
|
||
|
copyright.
|
||
|
|
||
|
This can be obtained from <url url=
|
||
|
"ftp://sunsite.unc.edu/pub/Linux/apps/sound/players/maplay3.tar.gz">.
|
||
|
|
||
|
|
||
|
<sect2><cdx/splay/</heading>
|
||
|
<!-- Probably outdated - I don't use it -->
|
||
|
<p>
|
||
|
This <em/beta/ player is another derivative of <tt/maplay/
|
||
|
1.2 (actually, it is a derivative of <tt/maplay/ 1.2+,
|
||
|
which is a MS Windows only derivative of <tt/maplay/ 1.2).
|
||
|
It adds support for MPEG Layer 3 audio streams. It is
|
||
|
also able to play WAV files. It can also play audio
|
||
|
streams received over an HTTP connection.
|
||
|
|
||
|
Another feature of <tt/splay/ is that it can be used as a
|
||
|
library (under the LGPL), so that it can be used in other
|
||
|
programs. It also tries to improve performance by using
|
||
|
threading (you need <tt/pthread/ to use this feature) and
|
||
|
a little inline assembly.
|
||
|
|
||
|
<tt/splay/ uses a command line interface and an optional X
|
||
|
interface (which uses QT).
|
||
|
|
||
|
If after compiling it doesn't work (e.g. it segmentation
|
||
|
faults), try compiling it again without threading.
|
||
|
|
||
|
This is by Jung Woo-jae (<tt/jwj95@eve.kaist.ac.kr/).
|
||
|
|
||
|
It can be obtained from <url name="splay's home page"
|
||
|
url="http://adam.kaist.ac.kr/˜jwj95/">.
|
||
|
|
||
|
|
||
|
<sect2><cdx/Sajber Jukebox/</heading>
|
||
|
<!-- Probably outdated - I don't use it -->
|
||
|
<p>
|
||
|
This program is a MPEG audio player with a graphical user
|
||
|
interface. It is based on <tt/splay/, so it includes
|
||
|
support for MPEG audio layers up to III. It is also able
|
||
|
to play MPEG audio streams in real time with the stream
|
||
|
being fed by HTTP. It is also easy to configure.
|
||
|
|
||
|
It uses the QT toolkit (at least version 1.2 is required).
|
||
|
It also uses the LinuxThreads library (the included binary
|
||
|
only works with version 0.5).
|
||
|
|
||
|
The author is Joel Lindholm
|
||
|
(<tt/wizball@kewl.campus.luth.se/).
|
||
|
|
||
|
The latest version can be obtained from <url url=
|
||
|
"ftp://kewl.campus.luth.se/pub/jukebox">.
|
||
|
|
||
|
|
||
|
<sect2><cdx/amp/</heading>
|
||
|
<!-- Probably outdated - I don't use it -->
|
||
|
<p>
|
||
|
This <em/beta/ MPEG audio player only has support for MPEG
|
||
|
Layer 3 audio streams. It is able to play directly to the
|
||
|
soundcard, and it can output to raw PCM or WAV files.
|
||
|
This also gives quite a load on the CPU (about 60% on a
|
||
|
133MHz Pentium).
|
||
|
|
||
|
This was written by Tomislav Uzelac
|
||
|
(<tt/tuzelac@rasip.fer.hr/). It can be freely used and
|
||
|
distributed, as long as it is not sold commercially
|
||
|
without permission (including it in CD-ROMs that contain
|
||
|
free software is explicitly permitted, though).
|
||
|
|
||
|
It can be obtained from <url url=
|
||
|
"ftp://ftp.rasip.fer.hr/pub/mpeg/amp-0.7.3.tgz">.
|
||
|
|
||
|
|
||
|
<sect2><cdx/XAudio/</heading>
|
||
|
<!-- Probably outdated - I don't use it -->
|
||
|
<p>
|
||
|
This <em/alpha/ library was written to be a fast
|
||
|
implementation of an MPEG audio decoding library to be
|
||
|
used by various GUI front-ends. It supports MPEG audio
|
||
|
layers I, II, and III. It is capable of random access to
|
||
|
bitstreams. A command-line interface is included. A
|
||
|
Motif (Lesstif) front-end is also included in the Linux
|
||
|
version.
|
||
|
|
||
|
This is by Gilles Boccon-Gibod, Alain Jobart and others.
|
||
|
The front-ends to the libary can be freely downloaded.
|
||
|
The library itself must be licensed to be used (a source
|
||
|
and binary license is available).
|
||
|
|
||
|
The front-ends to the library can be obtained from the
|
||
|
<url url="http://www.xaudio.com/"
|
||
|
name="XAudio home page">.
|
||
|
|
||
|
|
||
|
<sect2><idx>Layer 3 Shareware Encoder/Decoder</idx></heading>
|
||
|
<!-- Probably not outdated - I don't use it -->
|
||
|
<!-- First entry whose source is unavailable -->
|
||
|
<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
|
||
|
100Mhz Pentium), then you can try to play MPEG Layer 3
|
||
|
streams directly without having to first convert the audio
|
||
|
file to another format like in the following example (this
|
||
|
example assumes that you're using <tt/sox/ and playing a
|
||
|
44.1 kHz stereo sample).
|
||
|
|
||
|
<tscreen>
|
||
|
<verb>
|
||
|
$ l3dec foo.mp3 -sto | play -t raw -x -u -w -c 2 -r 44100 -
|
||
|
</verb>
|
||
|
</tscreen>
|
||
|
|
||
|
The number after <tt/-r/ is 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 for Linux on x86 systems can be obtained from <url
|
||
|
url="ftp://ftp.fhg.de/pub/layer3">. The demo version only
|
||
|
converts layer III audio streams.
|
||
|
|
||
|
<sect2><idx/X11Amp/</heading>
|
||
|
<!-- Probably outdated - I don't use it -->
|
||
|
<p>
|
||
|
This <em/beta/ software is an MPEG audio stream player
|
||
|
with a graphical interface, <!-- supposedly --> similar to
|
||
|
the one used by the Windows program <tt/winamp/.
|
||
|
|
||
|
There is no copyright mentioned anywhere (I assume that it
|
||
|
can be freely used for personal use). It is maintained by
|
||
|
Mikael Alm (<tt/psy@x11amp.bz.nu/), Thomas Nilsson
|
||
|
(<tt/fatal@x11amp.bz.nu/), and Olle Hallnas
|
||
|
(<tt/crocodile@x11amp.bz.nu/).
|
||
|
|
||
|
It can be obtained from <url
|
||
|
url="http://www.x11amp.bz.nu/" name="X11Amp's homepage">.
|
||
|
Only binaries for Intel Linux and FreeBSD are made
|
||
|
available here.
|
||
|
|
||
|
<sect1><idx/WAV/</heading>
|
||
|
<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"> and <ref
|
||
|
id="sec-bplay" name="bplay"> for other WAV players besides
|
||
|
the ones listed here.
|
||
|
|
||
|
|
||
|
<sect2><cdx/wavplay/</heading>
|
||
|
<!-- Probably not outdated - I don't use it -->
|
||
|
<p>
|
||
|
This program supports playing and recording with the WAV
|
||
|
format. It uses locking so that only one sound may be
|
||
|
played at a time. Its locking capabilities can also be
|
||
|
used separately from its sound playing capabilities.
|
||
|
|
||
|
In addition to a command-line interface, it also has a
|
||
|
Motif interface, which can be used with Lesstif.
|
||
|
|
||
|
It was originally written by Andre Fuechsel
|
||
|
(<tt/af1@irz.inf.tu-dresden.de/), but was evolved to the
|
||
|
point of being completely rewritten by Warren W. Gay
|
||
|
(<tt/bx249@freenet.toronto.on.ca/ or <tt/wwg@ica.net/).
|
||
|
|
||
|
It can be obtained from <url url=
|
||
|
"ftp://sunsite.unc.edu/pub/Linux/apps/sound/players/wavplay-1.0.tar.gz">.
|
||
|
|
||
|
|
||
|
<sect1>Other stuff</heading>
|
||
|
<p>
|
||
|
This section lists stuff that play sound formats that don't
|
||
|
deserve a separate section (i.e. formats that have only one
|
||
|
player available), or players that play more than one
|
||
|
format.
|
||
|
|
||
|
|
||
|
<sect2><cdx/sox/<label id="sec-sox"></heading>
|
||
|
<!-- Possibly outdated - I use it -->
|
||
|
<p>
|
||
|
This program is actually a converter, that is, it converts
|
||
|
one sound format to another. However, some versions of
|
||
|
<tt/sox/, when invoked as <tt/play/, 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 them 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
|
||
|
<tt/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 may 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 obtained from <url url=
|
||
|
"ftp://sunsite.unc.edu/pub/Linux/apps/sound/convert/Lsox-linux.tar.gz">.
|
||
|
|
||
|
A more recent version by Chris Bagwell
|
||
|
(<tt/cbagwell@sprynet.com/) (based on the latest gamma
|
||
|
version of the original <tt/sox/, and includes the above
|
||
|
fix) can be obtained from <url url=
|
||
|
"http://home.sprynet.com/sprynet/cbagwell/projects.html">.
|
||
|
In addition, this version supports MS ADPCM and IMA ADPCM
|
||
|
WAV formats.<nidx/ADPCM/
|
||
|
|
||
|
|
||
|
<sect2><cdx/bplay/<label id="sec-bplay"></heading>
|
||
|
<!-- Possibly outdated - I don't use it -->
|
||
|
<p>
|
||
|
This <em/beta/ program plays raw audio, WAV, and VOC
|
||
|
files. It's also able to record to these files. It uses
|
||
|
a variety of techniques to get the highest speed possible
|
||
|
so that it can run acceptably even on slow machines. One
|
||
|
of these techniques require that the installed programs be
|
||
|
setuid root. The paranoid hoping to use this may want to
|
||
|
use the Debian package by Ian Jackson
|
||
|
(<tt/ijackson@gnu.org/), which disables the feature
|
||
|
that needs the setuid bit.
|
||
|
|
||
|
The author is David Monro (<tt/davidm@gh.cs.usyd.edu.au/).
|
||
|
|
||
|
It can be obtained from <url url=
|
||
|
"ftp://sunsite.unc.edu/pub/Linux/apps/sound/players/bplay-0.96.tar.gz">.
|
||
|
|
||
|
|
||
|
<sect2><idx/SIDPLAY/</heading>
|
||
|
<!-- Possibly outdated - I don't use it -->
|
||
|
<p>
|
||
|
This program emulates the <idx/Sound Interface Device/
|
||
|
chip (MOS 6581, commonly called SID) and the Micro
|
||
|
Processor Unit (<idx/MOS 6510/) of the <idx/Commodore 64/.
|
||
|
Therefore it is able to load and execute C64 machine code
|
||
|
programs which produce music or sound. In general these
|
||
|
are independent fragments of code and data which have been
|
||
|
ripped from games and demonstration programs and have been
|
||
|
transferred directly from the C64.
|
||
|
|
||
|
It uses a command line interface by default. There are
|
||
|
also Tk and QT interfaces available separately from the
|
||
|
main package.
|
||
|
|
||
|
It is maintained by Michael Schwendt
|
||
|
(<tt/sidplay@geocities.com/).
|
||
|
|
||
|
It can be obtained from <url name="SIDPLAY's home page"
|
||
|
url="http://www.geocities.com/SiliconValley/Lakes/5147/">.
|
||
|
|
||
|
|
||
|
<sect2><idx/RealAudio Player/</heading>
|
||
|
<!-- Maybe outdated - I don't use it -->
|
||
|
<p>
|
||
|
This lets you listen to sound, which is stored in a
|
||
|
proprietary format, in real time over the Internet without
|
||
|
downloading the whole sound file first. It could be used
|
||
|
stand alone, but it is really intended to be used along
|
||
|
with a web browser (the explicitly supported ones are
|
||
|
Mosaic and Netscape). It cannot be used without X (you
|
||
|
wouldn't be able to get it working with Lynx in a text
|
||
|
console).
|
||
|
|
||
|
However, there exists a hack which allows one to run the
|
||
|
RealAudio player from the text console. It requires the X
|
||
|
virtual frame buffer (Xvfb) server to work. This hack can
|
||
|
be obtained from <url url=
|
||
|
"ftp://sunsite.unc.edu/pub/Linux/apps/sound/players/traplayer-0.5.tar.gz">.<ncdx/traplayer/
|
||
|
|
||
|
This is by Progressive Networks, Inc. This cannot be
|
||
|
redistributed, modified etc. Look at the license for
|
||
|
exact details on what you can do. It can be obtained by
|
||
|
registering with no cost at the <url
|
||
|
name="RealAudio home page"
|
||
|
url="http://www.realaudio.com/">.
|
||
|
|
||
|
|
||
|
<sect2>cat</heading>
|
||
|
<!-- Never outdated - How can I possibly NOT use this? -->
|
||
|
<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</heading>
|
||
|
<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><cdx/volume/</heading>
|
||
|
<!-- 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. A
|
||
|
very simple Tcl/Tk CD player is also included.
|
||
|
|
||
|
This is Freeware and it is written by Sam Lantinga
|
||
|
(<tt/slouken@cs.ucdavis.edu/).
|
||
|
|
||
|
It can be obtained from <url url=
|
||
|
"ftp://sunsite.unc.edu/pub/Linux/apps/sound/soundcard/volume-2.1.tar.gz">.
|
||
|
|
||
|
|
||
|
<sect1><idx/Sound Studio/</heading>
|
||
|
<!-- Probably not outdated - I don't use it -->
|
||
|
<p>
|
||
|
This is a Tcl/Tk application that supports playback,
|
||
|
recording, and editing of digital sound using <tt/sox/. It
|
||
|
includes <tt/sox/ in the distribution to avoid compatibility
|
||
|
problems.
|
||
|
|
||
|
This was written by Paul Sharpe and N. J. Bailey
|
||
|
(<tt/N.J.Bailey@leeds.ac.uk/). It may be freely used and
|
||
|
redistributed if a postcard is sent.
|
||
|
|
||
|
<!-- I'm not quite sure if N. J. Bailey is now one of the
|
||
|
authors. (He wasn't originally, as far as I know). -->
|
||
|
|
||
|
It can be found at <url name="Sound Studio's home page" url=
|
||
|
"http://www.elec-eng.leeds.ac.uk/staff/een6njb/Software/Studio/screens.html">.
|
||
|
|
||
|
|
||
|
<sect1><idx/Tickle Music/</heading>
|
||
|
<!-- 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
|
||
|
other programs).
|
||
|
|
||
|
It is written and copyrighted by Shannon Hendrix
|
||
|
(<tt/shendrix@pcs.cnu.edu/ or
|
||
|
<tt/shendrix@escape.widomaker.com/).
|
||
|
|
||
|
It can be obtained from <url url=
|
||
|
"ftp://sunsite.unc.edu/pub/Linux/apps/sound/players/tmusic-1.0.tar.gz">.
|
||
|
|
||
|
|
||
|
<sect>References</heading>
|
||
|
<p>
|
||
|
<enum>
|
||
|
<item>The documentation included with the applications in
|
||
|
this document.
|
||
|
|
||
|
<item>The Linux Sound HOWTO. It can be found at the <url
|
||
|
name="Linux Documentation Project"
|
||
|
url="http://sunsite.unc.edu/LDP/">.
|
||
|
|
||
|
<item><url name="Linux MIDI and Sound Applications"
|
||
|
url="http://www.bright.net/~dlphilp/linux_soundapps.html">
|
||
|
|
||
|
<item><url name="Programmer's Guide to OSS"
|
||
|
url="http://www.4front-tech.com/pguide/">
|
||
|
|
||
|
<item><url name="SoX home page"
|
||
|
url="http://www.spies.com/Sox/">
|
||
|
</enum>
|
||
|
</article>
|