853 lines
30 KiB
Plaintext
853 lines
30 KiB
Plaintext
The Linux Sound Playing HOWTO
|
|
Yoo C. Chung, wacko@laplace.snu.ac.kr
|
|
v1.6, 11 August 1998
|
|
|
|
This document lists applications for Linux that play various sound
|
|
formats.
|
|
|
|
|
|
1. Introduction
|
|
|
|
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 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.
|
|
|
|
|
|
|
|
1.1. Copyright of this document
|
|
|
|
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.
|
|
|
|
|
|
|
|
1.2. Copyright of the listed applications
|
|
|
|
If there is no mention of any copyright, then the application is under
|
|
the GNU General Public License.
|
|
|
|
|
|
|
|
1.3. Where to get this document
|
|
|
|
The most recent official version of this document can be obtained from
|
|
the Linux Documentation Project <http://sunsite.unc.edu/LDP/>. The
|
|
most recent unofficial version of this document can be obtained from
|
|
<http://laplace.snu.ac.kr/~wacko/howto/>.
|
|
|
|
A Korean version of this document (very outdated) is available at
|
|
<http://laplace.snu.ac.kr/~wacko/howto/Sound-Playing-HOWTO.ks>.
|
|
|
|
A Japanese version of this document is available at
|
|
<http://jf.gee.kyoto-u.ac.jp/JF/JF-ftp/euc/Sound-Playing-HOWTO.euc>.
|
|
|
|
|
|
|
|
1.4. Feedback
|
|
|
|
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.
|
|
1.5. Acknowledgments
|
|
|
|
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 (raymond@es.ele.tue.nl), Jeroen
|
|
Rutten (jeroen@es.ele.tue.nl), Antonio Perez (aperez@arrakis.es), Ian
|
|
Jackson (ijackson@gnu.org), and Peter Amstutz
|
|
(amstpi@freenet.tlh.fl.us) for their information and help.
|
|
|
|
|
|
|
|
2. Playing Various Sound Formats
|
|
|
|
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.
|
|
|
|
|
|
|
|
2.1. MIDI
|
|
|
|
MIDI stands for Musical Instrument Device Interface. MIDI files
|
|
usually have the extension .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.
|
|
|
|
|
|
|
|
2.1.1. adagio
|
|
|
|
This package includes mp (a command-line MIDI file player) and xmp (an
|
|
XView based MIDI file player, not to be confused with the module
|
|
player also called xmp). You will need the SlingShot extensions to
|
|
use xmp. It also contains other programs for playing Adagio scores.
|
|
|
|
|
|
If you have a GUS, mp can also play MOD files (see section ``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 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
|
|
(lee@uhunix.uhcc.hawaii.edu).
|
|
|
|
It can be obtained from
|
|
<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 xmp binary segfaults in a X11R6 environment
|
|
(XFree86 3.1.1, libc 4.7.2). The mp binary works fine in an 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 -lfl switch at the
|
|
end of SHROBJ and XMPOBJ in the Makefile. This is to link in the 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 xmp.
|
|
|
|
|
|
|
|
2.1.2. TiMidity
|
|
|
|
Some people recommend this experimental program because of good sound
|
|
quality (which is very true, it's much better than 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@cgs.fi).
|
|
|
|
The latest version of TiMidity can be found at the TiMidity home page
|
|
<http://www.cgs.fi/~tt/timidity/>. This page also contains a link to
|
|
a small library of GUS patches.
|
|
|
|
|
|
|
|
2.1.3. playmidi
|
|
|
|
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 xplaymidi and
|
|
splaymidi).
|
|
|
|
You should do something like
|
|
|
|
|
|
|
|
$ splaymidi foo.mid; stty sane
|
|
|
|
|
|
|
|
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 (laredo@gnu.org or
|
|
laredo@ix.netcom.com).
|
|
|
|
It can be obtained from
|
|
<ftp://sunsite.unc.edu/pub/Linux/apps/sound/players/playmidi-2.3.tar.gz>.
|
|
|
|
|
|
2.2. Modules
|
|
|
|
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 .mod. There are many other
|
|
extensions depending on what format they are in.
|
|
|
|
|
|
|
|
2.2.1. tracker
|
|
|
|
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 -mono option.
|
|
|
|
This is a giftware program (quoting the author). It is by Marc Espie
|
|
(Marc.Espie@ens.fr).
|
|
|
|
A version of this with the Makefile already tweaked for Linux can be
|
|
obtained from
|
|
<ftp://sunsite.unc.edu/pub/Linux/apps/sound/players/tracker-4.3-linux.tar.gz>.
|
|
|
|
|
|
|
|
2.2.2. gmod
|
|
|
|
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 QT toolkit homepage <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
|
|
(robinson@cnj.digex.net).
|
|
|
|
It can be obtained from
|
|
<ftp://sunsite.unc.edu/pub/Linux/apps/sound/players/gmod-3.1.tar.gz>.
|
|
|
|
|
|
|
|
2.2.3. MikMod
|
|
|
|
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 -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 (mikmak@via.nl). It is
|
|
now maintained by Jake Stine (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 MikMod home page
|
|
<http://www.freenet.tlh.fl.us/~amstpi/mikmod.html>.
|
|
|
|
|
|
|
|
2.2.4. xmp
|
|
|
|
This is a module player (not to be confused with Adagio's 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 xmp is also available.
|
|
|
|
This was written by Claudio Matsuoka (claudio@pos.inf.ufpr.br) and
|
|
Hipolito Carraro Jr.
|
|
|
|
This can found at the xmp home page <http://xmp.home.ml.org/>.
|
|
|
|
|
|
|
|
2.2.5. s3mod
|
|
|
|
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 -s to enable stereo, -b to enable 16 bit
|
|
output, and -f to set the sampling frequency. However, the sound
|
|
output is worse than tracker (some noise), so I recommend using
|
|
tracker instead of 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 (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
|
|
<ftp://sunsite.unc.edu/pub/Linux/apps/sound/players/s3mod-
|
|
v1.09.tar.gz>.
|
|
|
|
|
|
|
|
2.2.6. mod
|
|
|
|
This 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 gzip, lharc, unzip, and 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 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 (mech@df.lth.se or
|
|
d91mn@efd.lth.se).
|
|
|
|
It can be obtained from
|
|
<ftp://sunsite.unc.edu/pub/Linux/apps/sound/players/mod-v0.81.tgz>.
|
|
|
|
|
|
|
|
2.2.7. nspmod
|
|
|
|
This is an 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 tracker.
|
|
|
|
|
|
It has a feature which lets modules loop if they want to. The number
|
|
of loops can be limited by the -l option. It uses only 8 bit sound
|
|
output (as of version 0.1).
|
|
|
|
This was written by Toru Egashira (toru@jms.jeton.or.jp).
|
|
|
|
It can be obtained from
|
|
<ftp://sunsite.unc.edu/pub/Linux/apps/sound/players/nspmod-0.1.tar.gz>.
|
|
|
|
|
|
|
|
2.2.8. yampmod
|
|
|
|
This alpha program was designed to play 4-channel modules using the
|
|
minimum of CPU resources. It was 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 (djg@djghome.demon.co.uk).
|
|
|
|
It can be obtained from
|
|
<ftp://sunsite.unc.edu/pub/Linux/apps/sound/players/yampmod-0.1.tar.gz>.
|
|
|
|
|
|
|
|
2.3. MPEG audio streams
|
|
|
|
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 .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 .mp2, and layer
|
|
III usually have the extension .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.
|
|
|
|
|
|
|
|
2.3.1. mpg123
|
|
|
|
This 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 (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 mpg123 homepage
|
|
<http://mpg.123.org/>.
|
|
|
|
|
|
|
|
2.3.2. maplay 1.2
|
|
|
|
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 -l or -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 configuration.sh.
|
|
|
|
|
|
|
|
#! /bin/sh
|
|
|
|
|
|
|
|
The author is Tobias Bading (bading@cs.tu-berlin.de). maplay 1.2 can
|
|
be obtained from <ftp://ftp.cs.tu-
|
|
berlin.de/pub/misc/maplay1.2/maplay1_2.tar>.
|
|
|
|
|
|
|
|
2.3.3. maplay 1.3b
|
|
|
|
This is an unofficial modification (i.e. not by the original author)
|
|
of 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
|
|
(orly@gibson.eee.upd.edu.ph).
|
|
|
|
This can be obtained from
|
|
<ftp://sunsite.unc.edu/pub/Linux/apps/sound/players/maplay-1.3b-
|
|
Linux.tar.gz>.
|
|
|
|
|
|
|
|
2.3.4. maplay3
|
|
|
|
This is another derivative of 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 (timo.jantunen@hut.fi or
|
|
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 maplay is under the GNU
|
|
General Public License, which does not allow derivative works to have
|
|
a different copyright.
|
|
|
|
This can be obtained from
|
|
<ftp://sunsite.unc.edu/pub/Linux/apps/sound/players/maplay3.tar.gz>.
|
|
|
|
|
|
|
|
2.3.5. splay
|
|
|
|
This beta player is another derivative of maplay 1.2 (actually, it is
|
|
a derivative of maplay 1.2+, which is a MS Windows only derivative of
|
|
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 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 pthread to use this
|
|
feature) and a little inline assembly.
|
|
|
|
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 (jwj95@eve.kaist.ac.kr).
|
|
|
|
It can be obtained from splay's home page
|
|
<http://adam.kaist.ac.kr/~jwj95/>.
|
|
|
|
|
|
|
|
2.3.6. Sajber Jukebox
|
|
|
|
This program is a MPEG audio player with a graphical user interface.
|
|
It is based on 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 (wizball@kewl.campus.luth.se).
|
|
|
|
The latest version can be obtained from
|
|
<ftp://kewl.campus.luth.se/pub/jukebox>.
|
|
|
|
|
|
|
|
2.3.7. amp
|
|
|
|
This 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 (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
|
|
<ftp://ftp.rasip.fer.hr/pub/mpeg/amp-0.7.3.tgz>.
|
|
|
|
|
|
|
|
2.3.8. XAudio
|
|
|
|
This 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 XAudio home
|
|
page <http://www.xaudio.com/>.
|
|
|
|
|
|
|
|
2.3.9. Layer 3 Shareware Encoder/Decoder
|
|
|
|
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 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 sox the
|
|
option -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 sox
|
|
and playing a 44.1 kHz stereo sample).
|
|
|
|
|
|
|
|
$ l3dec foo.mp3 -sto | play -t raw -x -u -w -c 2 -r 44100 -
|
|
|
|
|
|
|
|
The number after -r is the sample rate of the audio stream, and the
|
|
number after -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
|
|
<ftp://ftp.fhg.de/pub/layer3>. The demo version only converts layer
|
|
III audio streams.
|
|
|
|
|
|
|
|
2.3.10. X11Amp
|
|
|
|
This beta software is an MPEG audio stream player with a graphical
|
|
interface, similar to the one used by the Windows program winamp.
|
|
|
|
There is no copyright mentioned anywhere (I assume that it can be
|
|
freely used for personal use). It is maintained by Mikael Alm
|
|
(psy@x11amp.bz.nu), Thomas Nilsson (fatal@x11amp.bz.nu), and Olle
|
|
Hallnas (crocodile@x11amp.bz.nu).
|
|
|
|
It can be obtained from X11Amp's homepage <http://www.x11amp.bz.nu/>.
|
|
Only binaries for Intel Linux and FreeBSD are made available here.
|
|
|
|
|
|
2.4. WAV
|
|
|
|
Quote from the sox man page:
|
|
|
|
|
|
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.
|
|
|
|
|
|
These usually have the extension .wav.
|
|
|
|
Also see section ``sox'' and ``bplay'' for other WAV players besides
|
|
the ones listed here.
|
|
|
|
|
|
|
|
2.4.1. wavplay
|
|
|
|
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 (af1@irz.inf.tu-
|
|
dresden.de), but was evolved to the point of being completely
|
|
rewritten by Warren W. Gay (bx249@freenet.toronto.on.ca or
|
|
wwg@ica.net).
|
|
|
|
It can be obtained from
|
|
<ftp://sunsite.unc.edu/pub/Linux/apps/sound/players/wavplay-1.0.tar.gz>.
|
|
|
|
|
|
|
|
2.5. Other stuff
|
|
|
|
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.
|
|
|
|
|
|
|
|
2.5.1. sox
|
|
|
|
This program is actually a converter, that is, it converts one sound
|
|
format to another. However, some versions of sox, when invoked as
|
|
play, plays the sound (the play application in the Sound HOWTO
|
|
probably refers to this). It supports raw (no header) binary and
|
|
textual data, IRCAM Sound Files, Sound Blaster .voc, SPARC .au
|
|
(w/header), Mac HCOM, PC/DOS .sou, Sndtool, and Sounder, NeXT .snd,
|
|
Windows 3.1 RIFF/WAV, Turtle Beach .smp, CD-R, and Apple/SGI AIFF and
|
|
8SVX formats
|
|
|
|
|
|
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
|
|
|
|
|
|
|
|
if (abuf_size < 4096 || abuf_size > 65536) {
|
|
|
|
|
|
|
|
to
|
|
|
|
|
|
|
|
if (abuf_size < 1 || abuf_size > 65536) {
|
|
|
|
|
|
|
|
But then again, you may not have to do this. But doing this won't
|
|
break anything.
|
|
|
|
|
|
It is written and copyrighted by many people, and can be used for any
|
|
purpose.
|
|
|
|
It can be obtained from
|
|
<ftp://sunsite.unc.edu/pub/Linux/apps/sound/convert/Lsox-
|
|
linux.tar.gz>.
|
|
|
|
A more recent version by Chris Bagwell (cbagwell@sprynet.com) (based
|
|
on the latest gamma version of the original sox, and includes the
|
|
above fix) can be obtained from
|
|
<http://home.sprynet.com/sprynet/cbagwell/projects.html>. In
|
|
addition, this version supports MS ADPCM and IMA ADPCM WAV formats.
|
|
|
|
|
|
|
|
2.5.2. bplay
|
|
|
|
This 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 (ijackson@gnu.org), which disables the
|
|
feature that needs the setuid bit.
|
|
|
|
The author is David Monro (davidm@gh.cs.usyd.edu.au).
|
|
|
|
It can be obtained from
|
|
<ftp://sunsite.unc.edu/pub/Linux/apps/sound/players/bplay-0.96.tar.gz>.
|
|
|
|
|
|
|
|
2.5.3. SIDPLAY
|
|
|
|
This program emulates the Sound Interface Device chip (MOS 6581,
|
|
commonly called SID) and the Micro Processor Unit (MOS 6510) of the
|
|
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 (sidplay@geocities.com).
|
|
|
|
It can be obtained from SIDPLAY's home page
|
|
<http://www.geocities.com/SiliconValley/Lakes/5147/>.
|
|
|
|
|
|
|
|
2.5.4. RealAudio Player
|
|
|
|
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
|
|
<ftp://sunsite.unc.edu/pub/Linux/apps/sound/players/traplayer-0.5.tar.gz>.
|
|
|
|
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 RealAudio
|
|
home page <http://www.realaudio.com/>.
|
|
|
|
|
|
|
|
2.5.5. cat
|
|
|
|
One might think what cat, the sometimes overused concatenating
|
|
utility, has to do with playing sounds. I'll show a use of it through
|
|
an example.
|
|
|
|
|
|
|
|
$ cat sample.voc > /dev/dsp
|
|
$ cat sample.wav > /dev/dsp
|
|
$ cat sample.au > /dev/audio
|
|
|
|
|
|
|
|
Doing a cat of an .au file to /dev/audio will usually work, and if
|
|
you're lucky enough that the file has the correct byte order (for your
|
|
platform) etc., a cat of a sound file that uses PCM samples (like .wav
|
|
or .voc) to /dev/dsp might even sound right.
|
|
|
|
This isn't a totally useless use of 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).
|
|
|
|
|
|
|
|
3. Other useful sound utilities
|
|
|
|
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.
|
|
|
|
|
|
3.1. volume
|
|
|
|
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 .au sound files. A very simple Tcl/Tk CD player is also
|
|
included.
|
|
|
|
This is Freeware and it is written by Sam Lantinga
|
|
(slouken@cs.ucdavis.edu).
|
|
|
|
It can be obtained from
|
|
<ftp://sunsite.unc.edu/pub/Linux/apps/sound/soundcard/volume-2.1.tar.gz>.
|
|
|
|
|
|
|
|
3.2. Sound Studio
|
|
|
|
This is a Tcl/Tk application that supports playback, recording, and
|
|
editing of digital sound using sox. It includes sox in the
|
|
distribution to avoid compatibility problems.
|
|
|
|
This was written by Paul Sharpe and N. J. Bailey
|
|
(N.J.Bailey@leeds.ac.uk). It may be freely used and redistributed if
|
|
a postcard is sent.
|
|
|
|
|
|
It can be found at Sound Studio's home page <http://www.elec-
|
|
eng.leeds.ac.uk/staff/een6njb/Software/Studio/screens.html>.
|
|
|
|
|
|
|
|
3.3. Tickle Music
|
|
|
|
This 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 gmod is used for playing MOD files
|
|
and mp for playing MIDI files (you can change the source to use other
|
|
programs).
|
|
|
|
It is written and copyrighted by Shannon Hendrix (shendrix@pcs.cnu.edu
|
|
or shendrix@escape.widomaker.com).
|
|
|
|
It can be obtained from
|
|
<ftp://sunsite.unc.edu/pub/Linux/apps/sound/players/tmusic-1.0.tar.gz>.
|
|
|
|
|
|
|
|
4. References
|
|
|
|
|
|
1. The documentation included with the applications in this document.
|
|
|
|
2. The Linux Sound HOWTO. It can be found at the Linux Documentation
|
|
Project <http://sunsite.unc.edu/LDP/>.
|
|
3. Linux MIDI and Sound Applications
|
|
<http://www.bright.net/~dlphilp/linux_soundapps.html>
|
|
|
|
4. Programmer's Guide to OSS <http://www.4front-tech.com/pguide/>
|
|
|
|
5. SoX home page <http://www.spies.com/Sox/>
|
|
|
|
|
|
|