1823 lines
85 KiB
Plaintext
1823 lines
85 KiB
Plaintext
|
The Linux Sound HOWTO
|
|||
|
|
|||
|
Jeff Tranter
|
|||
|
|
|||
|
tranter@pobox.com
|
|||
|
|
|||
|
v1.22, 16 July 2001
|
|||
|
Revision History
|
|||
|
Revision 1.22 2001-07-16 Revised by: jjt
|
|||
|
Relicensed under the GFDL.
|
|||
|
Revision 1.21 2001-05-11 Revised by: jjt
|
|||
|
|
|||
|
|
|||
|
This document describes sound support for Linux. It lists the supported sound
|
|||
|
hardware, describes how to configure the kernel drivers, and answers
|
|||
|
frequently asked questions. The intent is to bring new users up to speed more
|
|||
|
quickly and reduce the amount of traffic in the Usenet news groups and
|
|||
|
mailing lists.
|
|||
|
|
|||
|
-----------------------------------------------------------------------------
|
|||
|
Table of Contents
|
|||
|
1. Introduction
|
|||
|
1.1. Acknowledgments
|
|||
|
1.2. New versions of this document
|
|||
|
1.3. Feedback
|
|||
|
1.4. Distribution Policy
|
|||
|
|
|||
|
|
|||
|
2. Sound Card Technology
|
|||
|
3. Supported Hardware
|
|||
|
3.1. Platform Notes
|
|||
|
3.2. Sound Card Types
|
|||
|
3.3. Sound Cards
|
|||
|
3.4. Alternate Sound Drivers
|
|||
|
|
|||
|
|
|||
|
4. Installation
|
|||
|
4.1. Installing the Sound Card
|
|||
|
4.2. Configuring ISA Plug and Play
|
|||
|
4.3. Configuring the Kernel
|
|||
|
4.4. Creating the Device Files
|
|||
|
4.5. Booting Linux and Testing the Installation
|
|||
|
4.6. Troubleshooting
|
|||
|
|
|||
|
|
|||
|
5. Applications Supporting Sound
|
|||
|
6. Answers To Frequently Asked Questions
|
|||
|
6.1. What are the various sound device files?
|
|||
|
6.2. How can I play a sound sample?
|
|||
|
6.3. How can I record a sample?
|
|||
|
6.4. Can I have more than one sound card?
|
|||
|
6.5. Error: No such file or directory for sound devices
|
|||
|
6.6. Error: No such device for sound devices
|
|||
|
6.7. Error: No space left on device for sound devices
|
|||
|
6.8. Error: Device busy for sound devices
|
|||
|
6.9. I still get device busy errors!
|
|||
|
6.10. Partial playback of digitized sound file
|
|||
|
6.11. There are pauses when playing MOD files
|
|||
|
6.12. Compile errors when compiling sound applications
|
|||
|
6.13. SEGV when running sound binaries that worked previously
|
|||
|
6.14. What known bugs or limitations are there in the sound driver?
|
|||
|
6.15. Where are the sound driver ioctls() etc. documented?
|
|||
|
6.16. What CPU resources are needed to play or record without pauses?
|
|||
|
6.17. Problems with a PAS16 and an Adaptec 1542 SCSI host adaptor
|
|||
|
6.18. Is it possible to read and write samples simultaneously?
|
|||
|
6.19. My SB16 is set to IRQ 2, but configure does not allow this value.
|
|||
|
6.20. If I run Linux, then boot DOS, I get errors and/or sound
|
|||
|
applications do not work properly.
|
|||
|
6.21. Problems running DOOM under Linux
|
|||
|
6.22. How can I reduce noise picked up by my sound card?
|
|||
|
6.23. I can play sounds, but not record.
|
|||
|
6.24. My "compatible" sound card only works if I first initialize under
|
|||
|
MS-DOS.
|
|||
|
6.25. My 16-bit SoundBlaster "compatible" sound card only works in 8-bit
|
|||
|
mode under Linux.
|
|||
|
6.26. Where can I find sound applications for Linux?
|
|||
|
6.27. Can the sound drivers be compiled as a loadable module?
|
|||
|
6.28. Can I use a sound card to replace the system console beep?
|
|||
|
6.29. What is VoxWare?
|
|||
|
6.30. Sox/Play/Vplay reports "invalid block size 1024"
|
|||
|
6.31. The mixer settings are reset whenever I load the sound driver
|
|||
|
module
|
|||
|
6.32. Only user root can record sound
|
|||
|
6.33. Is the sound hardware on the IBM ThinkPad supported?
|
|||
|
6.34. Applications fail because my sound card has no mixer
|
|||
|
6.35. Problems with a SB16 CT4170
|
|||
|
6.36. How to connect a MIDI keyboard to a soundcard
|
|||
|
6.37. Problems with IRQ 15 and Ensoniq PCI 128
|
|||
|
6.38. Where can I get freely available MIDI patches to run SoftOSS?
|
|||
|
|
|||
|
|
|||
|
7. References
|
|||
|
|
|||
|
1. Introduction
|
|||
|
|
|||
|
This is the Linux Sound HOWTO. It is intended as a quick reference covering
|
|||
|
everything you need to know to install and configure sound support under
|
|||
|
Linux. Frequently asked questions about sound under Linux are answered, and
|
|||
|
references are given to some other sources of information on a variety of
|
|||
|
topics related to computer generated sound and music.
|
|||
|
|
|||
|
The scope is limited to the aspects of sound cards pertaining to Linux. See
|
|||
|
the other documents listed in the References section for more general
|
|||
|
information on sound cards and computer sound and music generation.
|
|||
|
-----------------------------------------------------------------------------
|
|||
|
|
|||
|
1.1. Acknowledgments
|
|||
|
|
|||
|
Much of this information came from the documentation provided with the sound
|
|||
|
driver source code, by Hannu Savolainen ([mailto:hannu@opensound.com]
|
|||
|
hannu@opensound.com). Thanks go to Hannu, Alan Cox, and the many other people
|
|||
|
who developed the Linux kernel sound drivers and utilities.
|
|||
|
|
|||
|
Thanks to the [http://www.docbook.org] DocBook tools, this HOWTO is available
|
|||
|
in several formats, all generated from a common source file.
|
|||
|
-----------------------------------------------------------------------------
|
|||
|
|
|||
|
1.2. New versions of this document
|
|||
|
|
|||
|
New versions of this document will be periodically posted to the [news:
|
|||
|
comp.os.linux.answers] comp.os.linux.answers newsgroup. Hypertext versions of
|
|||
|
this and other Linux HOWTOs are available on many world-wide web sites,
|
|||
|
including [http://www.linuxdoc.org/] http://www.linuxdoc.org. Most Linux
|
|||
|
CD-ROM distributions include the HOWTOs, often under the /usr/doc directory,
|
|||
|
and you can also buy printed copies from several vendors. Sometimes the
|
|||
|
HOWTOs available from CD-ROM vendors, ftp sites, and printed format are out
|
|||
|
of date. If the date on this HOWTO is more than six months in the past, then
|
|||
|
a newer copy is probably available on the Internet.
|
|||
|
|
|||
|
Please note that, due to the dynamic nature of the Internet, all web and ftp
|
|||
|
links listed in this document are subject to change.
|
|||
|
|
|||
|
Translations of this document are available in several languages:
|
|||
|
|
|||
|
Chinese: [http://www.linux.org.tw/CLDP/Sound-HOWTO.html] http://
|
|||
|
www.linux.org.tw/CLDP/Sound-HOWTO.html
|
|||
|
|
|||
|
French: [http://www.freenix.org/unix/linux/HOWTO/] http://www.freenix.org/
|
|||
|
unix/linux/HOWTO/
|
|||
|
|
|||
|
Italian: [http://www.pluto.linux.it/ildp/HOWTO/index.html] http://
|
|||
|
www.pluto.linux.it/ildp/HOWTO/index.html
|
|||
|
|
|||
|
Japanese: [http://yebisu.ics.es.osaka-u.ac.jp/linux/] http://
|
|||
|
yebisu.ics.es.osaka-u.ac.jp/linux/
|
|||
|
|
|||
|
Korean: [http://kldp.org/HOWTO/html/Sound/Sound-HOWTO.html] http://kldp.org/
|
|||
|
HOWTO/html/Sound/Sound-HOWTO.html
|
|||
|
|
|||
|
Russian: [http://www.phtd.tpu.edu.ru/~ott/russian/linux/howto-rus/
|
|||
|
Sound-HOWTO.html] http://www.phtd.tpu.edu.ru/~ott/russian/linux/howto-rus/
|
|||
|
Sound-HOWTO.html
|
|||
|
|
|||
|
Spanish: [ftp://ftp.insflug.org/es] ftp://ftp.insflug.org/es
|
|||
|
|
|||
|
Most translations of this and other Linux HOWTOs can also be found at [http:/
|
|||
|
/www.ibiblio.org/pub/Linux/docs/HOWTO/translations/] http://www.ibiblio.org/
|
|||
|
pub/Linux/docs/HOWTO/translations/. If you make a translation of this
|
|||
|
document into another language, let me know and I'll include a reference to
|
|||
|
it here.
|
|||
|
-----------------------------------------------------------------------------
|
|||
|
|
|||
|
1.3. Feedback
|
|||
|
|
|||
|
I rely on you, the reader, to make this HOWTO useful. If you have any
|
|||
|
suggestions, corrections, or comments, please send them to me, [mailto:
|
|||
|
tranter@pobox.com] tranter@pobox.com, and I will try to incorporate them in
|
|||
|
the next revision.
|
|||
|
|
|||
|
I am also willing to answer general questions on sound cards under Linux, as
|
|||
|
best I can. Before doing so, please read all of the information in this
|
|||
|
HOWTO, and send me detailed information about the problem. Please do not ask
|
|||
|
me about using sound cards under operating systems other than Linux.
|
|||
|
|
|||
|
If you publish this document on a CD-ROM or in hardcopy form, a complimentary
|
|||
|
copy would be appreciated; mail me for my postal address. Also consider
|
|||
|
making a donation to the Linux Documentation Project to help support free
|
|||
|
documentation for Linux. Contact the LDP at [mailto:feedback@linuxdoc.org]
|
|||
|
feedback@linuxdoc.org for more information.
|
|||
|
-----------------------------------------------------------------------------
|
|||
|
|
|||
|
1.4. Distribution Policy
|
|||
|
|
|||
|
Copyright (c) 1995-2001 by Jeff Tranter. Permission is granted to copy,
|
|||
|
distribute and/or modify this document under the terms of the GNU Free
|
|||
|
Documentation License, Version 1.1 or any later version published by the Free
|
|||
|
Software Foundation; with no Invariant Sections, with no Front-Cover Texts,
|
|||
|
and with no Back-Cover Texts. A copy of the license is available at [http://
|
|||
|
www.gnu.org/copyleft/fdl.html] http://www.gnu.org/copyleft/fdl.html
|
|||
|
-----------------------------------------------------------------------------
|
|||
|
|
|||
|
2. Sound Card Technology
|
|||
|
|
|||
|
This section gives a very cursory overview of computer audio technology, in
|
|||
|
order to help you understand the concepts used later in the document. You
|
|||
|
should consult a book on digital audio or digital signal processing in order
|
|||
|
to learn more.
|
|||
|
|
|||
|
Sound is an analog property; it can take on any value over a continuous
|
|||
|
range. Computers are digital; they like to work with discrete values. Sound
|
|||
|
cards use a device known as an Analog to Digital Converter (A/D or ADC) to
|
|||
|
convert voltages corresponding to analog sound waves into digital or numeric
|
|||
|
values which can be stored in memory. Similarly, a Digital to Analog
|
|||
|
Converter (D/A or DAC) converts numeric values back to an analog voltage
|
|||
|
which can in turn drive a loudspeaker, producing sound.
|
|||
|
|
|||
|
The process of analog to digital conversion, known as sampling, introduces
|
|||
|
some error. Two factors are key in determining how well the sampled signal
|
|||
|
represents the original. Sampling rate is the number of samples made per unit
|
|||
|
of time (usually expresses as samples per second or Hertz). A low sampling
|
|||
|
rate will provide a less accurate representation of the analog signal. Sample
|
|||
|
size is the range of values used to represent each sample, usually expressed
|
|||
|
in bits. The larger the sample size, the more accurate the digitized signal
|
|||
|
will be.
|
|||
|
|
|||
|
Sound cards commonly use 8 or 16 bit samples at sampling rates from about
|
|||
|
4000 to 44,000 samples per second. The samples may also be contain one
|
|||
|
channel (mono) or two (stereo).
|
|||
|
|
|||
|
FM Synthesis is an older technique for producing sound. It is based on
|
|||
|
combining different waveforms (e.g. sine, triangle, square). FM synthesis is
|
|||
|
simpler to implement in hardware that D/A conversion, but is more difficult
|
|||
|
to program and less flexible. Many sound cards provide FM synthesis for
|
|||
|
backward compatibility with older cards and software. Several independent
|
|||
|
sound generators or voices are usually provided.
|
|||
|
|
|||
|
Wavetable Synthesis combines the flexibility of D/A conversion with the
|
|||
|
multiple channel capability of FM synthesis. With this scheme digitized
|
|||
|
voices can be downloaded into dedicated memory, and then played, combined,
|
|||
|
and modified with little CPU overhead. State of the art sound cards all
|
|||
|
support wavetable synthesis.
|
|||
|
|
|||
|
Most sound cards provide the capability of mixing, combining signals from
|
|||
|
different input sources and controlling gain levels.
|
|||
|
|
|||
|
MIDI stands for Musical Instrument Digital Interface, and is a standard
|
|||
|
hardware and software protocol for allowing musical instruments to
|
|||
|
communicate with each other. The events sent over a MIDI bus can also be
|
|||
|
stored as MIDI files for later editing and playback. Many sound cards provide
|
|||
|
a MIDI interface. Those that do not can still play MIDI files using the
|
|||
|
on-board capabilities of the sound card.
|
|||
|
|
|||
|
MOD files are a common format for computer generated songs. As well as
|
|||
|
information about the musical notes to be played, the files contain digitized
|
|||
|
samples for the instruments (or voices). MOD files originated on the Amiga
|
|||
|
computer, but can be played on other systems, including Linux, with suitable
|
|||
|
software.
|
|||
|
|
|||
|
MP3 files are a popular format for distributing computer music and speech.
|
|||
|
MP3 uses a sophisticated encoding scheme (MPEG layer 3) to compress audio by
|
|||
|
roughly a factor of 10 with little reduction in quality as compared to CD
|
|||
|
audio.
|
|||
|
-----------------------------------------------------------------------------
|
|||
|
|
|||
|
3. Supported Hardware
|
|||
|
|
|||
|
This section lists the sound cards and interfaces that are currently
|
|||
|
supported under Linux. The information here is based on the latest Linux
|
|||
|
kernel, which at time of writing was version 2.4.4. This document only
|
|||
|
applies to the sound drivers included with the standard Linux kernel source
|
|||
|
distribution. There are other sound drivers available for Linux (see the
|
|||
|
later section entitled Alternate Sound Drivers).
|
|||
|
|
|||
|
For the latest information on supported sound cards and features see the
|
|||
|
files included with the Linux kernel source code, usually installed in the
|
|||
|
directory /usr/src/linux/Documentation/sound.
|
|||
|
-----------------------------------------------------------------------------
|
|||
|
|
|||
|
3.1. Platform Notes
|
|||
|
|
|||
|
The information in this HOWTO is valid for Linux on the Intel x86 platform.
|
|||
|
|
|||
|
The sound driver should also work with most sound cards on the Alpha
|
|||
|
platform. However, some cards may conflict with I/O ports of other devices on
|
|||
|
Alpha systems even though they work perfectly on i386 machines, so in general
|
|||
|
it's not possible to tell if a given card will work or not without actually
|
|||
|
trying it.
|
|||
|
|
|||
|
Users have reported that the sound driver was not yet working on the PowerPC
|
|||
|
version of Linux, but it should be supported in future.
|
|||
|
|
|||
|
Sound can be configured into the kernel under the MIPs port of Linux, and
|
|||
|
some MIPs machines have EISA slots and/or built in sound hardware. I'm told
|
|||
|
the Linux-MIPs group is interested in adding sound support in the future.
|
|||
|
|
|||
|
The Linux kernel includes a separate driver for the Atari and Amiga versions
|
|||
|
of Linux that implements a compatible subset of the sound driver on the Intel
|
|||
|
platform using the built-in sound hardware on these machines.
|
|||
|
|
|||
|
The SPARC port of Linux currently has sound support for some models of Sun
|
|||
|
workstations. I've been told that the on-board sound hardware works but the
|
|||
|
external DSP audio box is not supported because Sun has not released the
|
|||
|
specifications for it.
|
|||
|
-----------------------------------------------------------------------------
|
|||
|
|
|||
|
3.2. Sound Card Types
|
|||
|
|
|||
|
A number of different types of sound cards exist, reflecting the different
|
|||
|
bus architectures available. Here is a brief overview of the more common
|
|||
|
types and their distinguishing features.
|
|||
|
|
|||
|
ISA bus cards are among the oldest sound cards using the original (non Plug
|
|||
|
and Play) ISA bus. These typically use jumpers to select hardware settings
|
|||
|
for I/O addresses, IRQ, and DMA channel. You are unlikely to find any of this
|
|||
|
type manufactured today.
|
|||
|
|
|||
|
ISA Plug and Play cards use the extended version of the ISA bus that supports
|
|||
|
software identification and configuration of card settings. Few of these, if
|
|||
|
any, are still being manufactured.
|
|||
|
|
|||
|
PCI bus cards use the higher bandwidth PCI bus which provides identification
|
|||
|
and configuration of cards in software. The majority of sound cards
|
|||
|
manufactured today now use PCI. Most motherboards that provide on-board sound
|
|||
|
hardware also make use of the PCI bus.
|
|||
|
|
|||
|
USB is a newer bus architecture for external hot-pluggable devices. In theory
|
|||
|
USB bus sound cards could be developed, but I am only aware of USB-bus
|
|||
|
speakers being sold currently.
|
|||
|
-----------------------------------------------------------------------------
|
|||
|
|
|||
|
3.3. Sound Cards
|
|||
|
|
|||
|
The following sound cards are supported by the Linux kernel sound driver.
|
|||
|
Some of the items listed are audio chip sets rather than models of sound
|
|||
|
cards. The list is incomplete because there are many sound cards compatible
|
|||
|
with these that will work under Linux. To add further to the confusion, some
|
|||
|
manufacturers periodically change the design of their cards causing
|
|||
|
incompatibilities and continue to sell them as the same model.
|
|||
|
|
|||
|
|
|||
|
+------------------+------------------+-------------------+-----------------+
|
|||
|
|6850 UART MIDI |AD1816/AD1816A |AD1816/AD1816A |AD1848 sound chip|
|
|||
|
|Interface |based cards |sound chip | |
|
|||
|
+------------------+------------------+-------------------+-----------------+
|
|||
|
|ADSP-2115 |ALS-007 based |ALS-1x0 sound chip |ATARI onboard |
|
|||
|
| |cards (Avance | |sound |
|
|||
|
| |Logic) | | |
|
|||
|
+------------------+------------------+-------------------+-----------------+
|
|||
|
|ATI Stereo F/X |Acer FX-3D |AdLib |Amiga onboard |
|
|||
|
| | | |sound |
|
|||
|
+------------------+------------------+-------------------+-----------------+
|
|||
|
|Audio Excel DSP 16|AudioDrive |Aztech Sound Galaxy|Aztech Sound |
|
|||
|
| | |Washington 16 |Galaxy WaveRider |
|
|||
|
| | | |3D |
|
|||
|
+------------------+------------------+-------------------+-----------------+
|
|||
|
|Aztech Sound |Beethoven ADSP-16 |CMI8330 sound chip |CMI8338/8378 |
|
|||
|
|Galaxy WaveRider | | |sound chip |
|
|||
|
|Pro32 | | | |
|
|||
|
+------------------+------------------+-------------------+-----------------+
|
|||
|
|Cardinal DSP16 |Compaq Deskpro XL |Corel Netwinder |Crystal CS423x |
|
|||
|
| |onboard sound |WaveArtist | |
|
|||
|
+------------------+------------------+-------------------+-----------------+
|
|||
|
|Crystal CS4280 |Crystal CS46xx |ES1370 sound chip |ES1371 sound chip|
|
|||
|
+------------------+------------------+-------------------+-----------------+
|
|||
|
|ESC614 sound chip |ESS Maestro 1/2/2E|ESS Solo1 sound |ESS1688 sound |
|
|||
|
| |sound ship |chip |chip |
|
|||
|
+------------------+------------------+-------------------+-----------------+
|
|||
|
|ESS1788 sound chip|ESS1868 sound chip|ESS1869 sound chip |ESS1887 sound |
|
|||
|
| | | |chip |
|
|||
|
+------------------+------------------+-------------------+-----------------+
|
|||
|
|ESS1888 sound chip|ESS688 sound chip |Ensoniq AudioPCI |Ensoniq AudioPCI |
|
|||
|
| | |(ES1370) |97 (ES1371) |
|
|||
|
+------------------+------------------+-------------------+-----------------+
|
|||
|
|Ensoniq/Reveal/ |Gallant SC-6000 |Gallant SC-6600 |Gravis Ultrasound|
|
|||
|
|Spea SoundScape | | | |
|
|||
|
+------------------+------------------+-------------------+-----------------+
|
|||
|
|Gravis Ultrasound |Gravis Ultrasound |Gravis Ultrasound |HP Kayak |
|
|||
|
|ACE |Max |with 16 bit option | |
|
|||
|
+------------------+------------------+-------------------+-----------------+
|
|||
|
|Highscreen |IBM MWAVE |Jazz 16 |Logitech Sound |
|
|||
|
|Sound-Booster32 | | |Man 16 |
|
|||
|
|Wave3D | | | |
|
|||
|
+------------------+------------------+-------------------+-----------------+
|
|||
|
|Logitech SoundMan |Logitech SoundMan |MAD16 Pro (OpTi |Media Vision |
|
|||
|
|Games |Wave |82C9xx chipsets) |Jazz16 |
|
|||
|
+------------------+------------------+-------------------+-----------------+
|
|||
|
|MediaTriX |Microsoft Windows |MiroSOUND PCM12 |Mozart (OAK |
|
|||
|
|AudioTriX Pro |Sound System | |OTI-601) |
|
|||
|
+------------------+------------------+-------------------+-----------------+
|
|||
|
|NeoMagic 256AV/ |OpTi 82C931 |Orchid SW32 |Personal Sound |
|
|||
|
|256ZX | | |System (PSS) |
|
|||
|
+------------------+------------------+-------------------+-----------------+
|
|||
|
|Pinnacle |Power Mac onboard |Pro Audio Spectrum |Pro Audio Studio |
|
|||
|
|MultiSound |sound |16 |16 |
|
|||
|
+------------------+------------------+-------------------+-----------------+
|
|||
|
|Pro Sonic 16 |Q40 onboard sound |Roland MPU-401 MIDI|S3 SonicVibes |
|
|||
|
| | |interface | |
|
|||
|
+------------------+------------------+-------------------+-----------------+
|
|||
|
|SGI Visual |SM Games |SY-1816 |SoundBlaster 1.0 |
|
|||
|
|Workstation | | | |
|
|||
|
+------------------+------------------+-------------------+-----------------+
|
|||
|
|SoundBlaster 16 |SoundBlaster 16ASP|SoundBlaster 2.0 |SoundBlaster 32 |
|
|||
|
+------------------+------------------+-------------------+-----------------+
|
|||
|
|SoundBlaster 64 |SoundBlaster AWE32|SoundBlaster AWE64 |SoundBlaster |
|
|||
|
| | | |Live! |
|
|||
|
+------------------+------------------+-------------------+-----------------+
|
|||
|
|SoundBlaster PCI |SoundBlaster PCI |SoundBlaster Pro |SoundBlaster |
|
|||
|
|128 |512 | |Vibra16 |
|
|||
|
+------------------+------------------+-------------------+-----------------+
|
|||
|
|SoundBlaster |TI TM4000M |Terratec Base 1 |Terratec Base 64 |
|
|||
|
|Vibra16X |notebook | | |
|
|||
|
+------------------+------------------+-------------------+-----------------+
|
|||
|
|ThunderBoard |Trident 4DWave DX/|Trident Ali 5451 |Trident SiS 7018 |
|
|||
|
| |NX | | |
|
|||
|
+------------------+------------------+-------------------+-----------------+
|
|||
|
|Turtle Beach Maui |Turtle Beach |Turtle Beach |Turtle Beach |
|
|||
|
| |MultiSound Classic|MultiSound Fiji |MultiSound |
|
|||
|
| | | |Hurricane |
|
|||
|
+------------------+------------------+-------------------+-----------------+
|
|||
|
|Turtle Beach |Turtle Beach |Turtle Beach |Turtle Beach |
|
|||
|
|MultiSound |MultiSound |MultiSound Tahiti |WaveFront Maui |
|
|||
|
|Monterey |Pinnacle | | |
|
|||
|
+------------------+------------------+-------------------+-----------------+
|
|||
|
|Turtle Beach |Turtle Beach |VIA 82Cxxx chip set|VIDC 16-bit sound|
|
|||
|
|WaveFront Tropez |WaveFront Tropez+ | | |
|
|||
|
+------------------+------------------+-------------------+-----------------+
|
|||
|
|Yamaha OPL2 sound |Yamaha OPL3 sound |Yamaha OPL3-SA1 |Yamaha OPL3-SA2 |
|
|||
|
|chip |chip |sound chip |sound chip |
|
|||
|
+------------------+------------------+-------------------+-----------------+
|
|||
|
|Yamaha OPL3-SA3 |Yamaha OPL3-SAx |Yamaha OPL4 sound |Yamaha YM3812 |
|
|||
|
|sound chip |sound chip |chip |sound chip |
|
|||
|
+------------------+------------------+-------------------+-----------------+
|
|||
|
|
|||
|
|
|||
|
|
|||
|
A word about compatibility: even though most sound cards are claimed to be
|
|||
|
SoundBlaster compatible, very few currently sold cards are compatible enough
|
|||
|
to work with the Linux SoundBlaster driver. These cards usually work better
|
|||
|
using the MSS/WSS or MAD16 driver. Only real SoundBlaster cards made by
|
|||
|
Creative Labs, which use Creative's custom chips (e.g. SoundBlaster16 Vibra),
|
|||
|
MV Jazz16 and ESS688/1688 based cards generally work with the SoundBlaster
|
|||
|
driver. Trying to use a SoundBlaster Pro compatible 16 bit sound card with
|
|||
|
the SoundBlaster driver is usually just a waste of time.
|
|||
|
|
|||
|
The Linux kernel supports the SCSI port provided on some sound cards (e.g.
|
|||
|
ProAudioSpectrum 16) and the proprietary interface for some CD-ROM drives
|
|||
|
(e.g. SoundBlaster Pro). See the Linux [ftp://www.ibiblio.org/pub/Linux/docs/
|
|||
|
HOWTO/unmaintained/SCSI-HOWTO] SCSI HOWTO and [http://www.ibiblio.org/LDP/
|
|||
|
HOWTO/CDROM-HOWTO.html] CDROM HOWTO documents for more information.
|
|||
|
|
|||
|
A kernel driver to support joystick ports, including those provided on some
|
|||
|
sound cards, is included as part of the 2.2 and later kernels.
|
|||
|
|
|||
|
Note that the kernel SCSI, CD-ROM, joystick, and sound drivers are completely
|
|||
|
independent of each other.
|
|||
|
-----------------------------------------------------------------------------
|
|||
|
|
|||
|
3.4. Alternate Sound Drivers
|
|||
|
|
|||
|
3.4.1. OSS/4Front
|
|||
|
|
|||
|
Sound support in the Linux kernel was originally written by Hannu Savolainen.
|
|||
|
Hannu then went on to develop the Open Sound system, a commercial set of
|
|||
|
sound drivers sold by 4Front Technologies that is supported on a number of
|
|||
|
Unix systems. Red Hat Software sponsored Alan Cox to enhance the kernel sound
|
|||
|
drivers to make them fully modular. Various other people also contributed bug
|
|||
|
fixes and developed additional drivers for new sound cards. These modified
|
|||
|
drivers were shipped by Red Hat in their 5.0 through 5.2 releases. These
|
|||
|
changes have now been integrated into the standard kernel as of version 2.0.
|
|||
|
Alan Cox is now the maintainer of the standard kernel sound drivers, although
|
|||
|
Hannu still periodically contributes code taken from the commercial driver.
|
|||
|
|
|||
|
The commercial Open Sound System driver from 4Front Technologies tends to be
|
|||
|
easier to configure and support more sound cards, particularly the newer
|
|||
|
models. It is also compatible with applications written for the standard
|
|||
|
kernel sound drivers. The disadvantage is that you need to pay for it, and
|
|||
|
you do not get source code. You can download a free evaluation copy of the
|
|||
|
product before deciding whether to purchase it. For more information see the
|
|||
|
4Front Technologies web page at [http://www.opensound.com] http://
|
|||
|
www.opensound.com.
|
|||
|
-----------------------------------------------------------------------------
|
|||
|
|
|||
|
3.4.2. ALSA
|
|||
|
|
|||
|
Jaroslav Kysela and others started writing an alternate sound driver for the
|
|||
|
Gravis UltraSound Card. The project was renamed Advanced Linux Sound
|
|||
|
Architecture (ALSA) and has resulted in what they believe is a more generally
|
|||
|
usable sound driver that can be used as a replacement for the built-in kernel
|
|||
|
drivers. The ALSA drivers support a number of popular sound cards, are full
|
|||
|
duplex, fully modularized, and compatible with the sound architecture in the
|
|||
|
kernel. The main web site of the ALSA project is [http://
|
|||
|
www.alsa-project.org] http://www.alsa-project.org. A separate
|
|||
|
"Alsa-sound-mini-HOWTO" is available which deals with compiling and
|
|||
|
installing these drivers. The ALSA drivers may move into the standard Linux
|
|||
|
kernel as part of the 2.5 kernel development.
|
|||
|
-----------------------------------------------------------------------------
|
|||
|
|
|||
|
3.4.3. Turtle Beach
|
|||
|
|
|||
|
Markus Mummert ([mailto:mum@mmk.e-technik.tu-muenchen.de]
|
|||
|
mum@mmk.e-technik.tu-muenchen.de) has written a driver package for the Turtle
|
|||
|
Beach MultiSound (classic), Tahiti, and Monterey sound cards. The
|
|||
|
documentation states:
|
|||
|
|
|||
|
It is designed for high quality hard disk recording/playback without losing
|
|||
|
sync even on a busy system. Other features such as wave synthesis, MIDI and
|
|||
|
digital signal processor (DSP) cannot be used. Also, recording and playback
|
|||
|
at the same time is not possible. It currently replaces VoxWare and was
|
|||
|
tested on several kernel versions ranging from 1.0.9 to 1.2.1. Also, it is
|
|||
|
installable on UN*X SysV386R3.2 systems.
|
|||
|
|
|||
|
It can be found at [http://www.cs.colorado.edu/~mccreary/tbeach] http://
|
|||
|
www.cs.colorado.edu/~mccreary/tbeach.
|
|||
|
-----------------------------------------------------------------------------
|
|||
|
|
|||
|
3.4.4. Roland MPU-401
|
|||
|
|
|||
|
Kim Burgaard ([mailto:burgaard@daimi.aau.dk] burgaard@daimi.aau.dk) has
|
|||
|
written a device driver and utilities for the Roland MPU-401 MIDI interface.
|
|||
|
The Linux software map entry gives this description:
|
|||
|
|
|||
|
A device driver for true Roland MPU-401 compatible MIDI interfaces (including
|
|||
|
Roland SCC-1 and RAP-10/ATW-10). Comes with a useful collection of utilities
|
|||
|
including a Standard MIDI File player and recorder.
|
|||
|
|
|||
|
Numerous improvements have been made since version 0.11a. Among other things,
|
|||
|
the driver now features IRQ sharing policy and complies with the new kernel
|
|||
|
module interface. Metronome functionality, possibility for synchronizing e.g.
|
|||
|
graphics on a per beat basis without losing precision, advanced replay/record
|
|||
|
/overdub interface and much, much more.
|
|||
|
|
|||
|
It can be found at [ftp://www.ibiblio.org/pub/Linux/kernel/sound/
|
|||
|
mpu401-0.2.tar.gz] ftp://www.ibiblio.org/pub/Linux/kernel/sound/
|
|||
|
mpu401-0.2.tar.gz.
|
|||
|
-----------------------------------------------------------------------------
|
|||
|
|
|||
|
3.4.5. SoundBlaster Live!
|
|||
|
|
|||
|
Creative Labs has Linux drivers for several cards, including the SoundBlaster
|
|||
|
Live!, at [http://opensource.creative.com] http://opensource.creative.com.
|
|||
|
-----------------------------------------------------------------------------
|
|||
|
|
|||
|
3.4.6. Packet Radio
|
|||
|
|
|||
|
Another novel use for a sound card under Linux is as a modem for amateur
|
|||
|
packet radio. The 2.1 and later kernels include a driver that works with
|
|||
|
SoundBlaster and Windows Sound System compatible sound cards to implement
|
|||
|
1200 bps AFSK and 9600 bps FSK packet protocols. See the Linux AX25 HOWTO for
|
|||
|
details (I'm a ham myself, by the way -- callsign VE3ICH).
|
|||
|
-----------------------------------------------------------------------------
|
|||
|
|
|||
|
3.4.7. PC Speaker
|
|||
|
|
|||
|
An alternate sound driver is available that requires no additional sound
|
|||
|
hardware; it uses the internal PC speaker. It is software compatible with the
|
|||
|
sound card driver, but, as might be expected, provides much lower quality
|
|||
|
output and has much more CPU overhead. The results seem to vary, being
|
|||
|
dependent on the characteristics of the individual loudspeaker. For more
|
|||
|
information, see the documentation provided with the release.
|
|||
|
|
|||
|
The latest version of the PC speaker driver can be found at [ftp://
|
|||
|
ftp.infradead.org/pub/pcsp/] ftp://ftp.infradead.org/pub/pcsp/.
|
|||
|
-----------------------------------------------------------------------------
|
|||
|
|
|||
|
3.4.8. Parallel Port
|
|||
|
|
|||
|
Another option is to build a digital to analog converter using a parallel
|
|||
|
printer port and some additional components. This provides better sound
|
|||
|
quality than the PC speaker but still has a lot of CPU overhead. The PC sound
|
|||
|
driver package mentioned above supports this, and includes instructions for
|
|||
|
building the necessary hardware.
|
|||
|
-----------------------------------------------------------------------------
|
|||
|
|
|||
|
4. Installation
|
|||
|
|
|||
|
Configuring Linux to support sound involves the following steps:
|
|||
|
|
|||
|
|
|||
|
|
|||
|
1. Installing the sound card.
|
|||
|
|
|||
|
2. Configuring Plug and Play (if applicable).
|
|||
|
|
|||
|
3. Configuring and building the kernel for sound support.
|
|||
|
|
|||
|
4. Creating the device files.
|
|||
|
|
|||
|
5. Booting the Linux kernel and testing the installation.
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
Some Linux distributions provide a sound driver configuration utility that
|
|||
|
will detect your sound card and set up all of the necessary configuration
|
|||
|
files to load the appropriate sound drivers for your card. Red Hat Linux, for
|
|||
|
example, provides the sndconfig utility. If your distribution provides such a
|
|||
|
tool I suggest you try using it. If it works for you then you can skip the
|
|||
|
rest of the instructions in this section.
|
|||
|
|
|||
|
If this fails or you want to follow the manual method in order to better
|
|||
|
understand what you are doing, then the next sections will cover each of
|
|||
|
these steps in detail.
|
|||
|
-----------------------------------------------------------------------------
|
|||
|
|
|||
|
4.1. Installing the Sound Card
|
|||
|
|
|||
|
Follow the manufacturer's instructions for installing the hardware or have
|
|||
|
your dealer perform the installation.
|
|||
|
|
|||
|
Older sound cards usually have switch or jumper settings for IRQ, DMA
|
|||
|
channel, etc; note down the values used. If you are unsure, use the factory
|
|||
|
defaults. Try to avoid conflicts with other devices (e.g. ethernet cards,
|
|||
|
SCSI host adaptors, serial and parallel ports) if possible.
|
|||
|
|
|||
|
Usually you should use the same I/O port, IRQ, and DMA settings that work
|
|||
|
under DOS. In some cases though (particularly with PnP cards) you may need to
|
|||
|
use different settings to get things to work under Linux. Some
|
|||
|
experimentation may be needed.
|
|||
|
-----------------------------------------------------------------------------
|
|||
|
|
|||
|
4.2. Configuring ISA Plug and Play
|
|||
|
|
|||
|
Some sound cards use the ISA Plug and Play protocol to configure settings for
|
|||
|
i/o addresses, interrupts, and DMA channels. If you have a newer PCI-bus type
|
|||
|
of sound card, or one of the very old ISA sound cards that uses fixed
|
|||
|
settings or jumpers, then you can skip this section.
|
|||
|
|
|||
|
The preferred way to configure Plug and Play cards is to use the isapnp tools
|
|||
|
which ship with most Linux distributions (or you can download them from Red
|
|||
|
Hat's web site [http://www.redhat.com/] http://www.redhat.com/).
|
|||
|
|
|||
|
First check the documentation for your Linux distribution. It may already
|
|||
|
have Plug and Play support set up for you or it may work slightly differently
|
|||
|
than described here. If you need to configure it yourself,the details can be
|
|||
|
found in the man pages for the isapnp tools. Briefly the process you would
|
|||
|
normally follow is:
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<EFBFBD><EFBFBD>*<2A>Use pnpdump to capture the possible settings for all your Plug and Play
|
|||
|
devices, saving the result to the file /etc/isapnp.conf.
|
|||
|
|
|||
|
<EFBFBD><EFBFBD>*<2A>Choose settings for the sound card that do not conflict with any other
|
|||
|
devices in your system and uncomment the appropriate lines in /etc/
|
|||
|
isapnp.conf. Don't forget to uncomment the (ACT Y) command near the end.
|
|||
|
|
|||
|
<EFBFBD><EFBFBD>*<2A>Make sure that isapnp is run when your system boots up, normally done by
|
|||
|
one of the startup scripts. Reboot your system or run isapnp manually.
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
If for some reason you cannot or do not wish to use the isapnp tools, there
|
|||
|
are a couple of other options. If you use the card under Microsoft Windows 95
|
|||
|
or 98, you can use the device manager to set up the card, then soft boot into
|
|||
|
Linux using the LOADLIN program. Make sure Windows and Linux use the same
|
|||
|
card setup parameters.
|
|||
|
|
|||
|
If you use the card under DOS, you can use the icu utility that comes with
|
|||
|
SoundBlaster16 PnP cards to configure it under DOS, then soft boot into Linux
|
|||
|
using the LOADLIN program. Again, make sure DOS and Linux use the same card
|
|||
|
setup parameters.
|
|||
|
|
|||
|
True ISA PnP support is implemented in the 2.4 and later kernels. Some of the
|
|||
|
sound card drivers now support automatically detecting and configuring the
|
|||
|
cards without the isapnp tools. Check the documentation for the card's driver
|
|||
|
for details.
|
|||
|
-----------------------------------------------------------------------------
|
|||
|
|
|||
|
4.3. Configuring the Kernel
|
|||
|
|
|||
|
You need the appropriate device drivers for your sound card to be present in
|
|||
|
the kernel. The kernel running on your system may already include the drivers
|
|||
|
for your sound card. In most cases the drivers would have been built as
|
|||
|
kernel loadable modules. You can check which drivers are available as modules
|
|||
|
by looking in the /lib/modules directories. For the 2.4.4 kernel, the sound
|
|||
|
drivers would normally appear in /lib/modules/2.4.4/kernel/drivers/sound/. If
|
|||
|
you see the driver(s) for your sound card, you can try using the module
|
|||
|
directory and skip recompiling the kernel.
|
|||
|
|
|||
|
If the sound drivers are not already built, you will need to configure and
|
|||
|
build a new kernel. You can either build the sound drivers into the kernel or
|
|||
|
build them as kernel loadable modules. In most cases building as modules is
|
|||
|
preferred, as it allows you to easily experiment with loading different
|
|||
|
drivers if unsure which one to use and the drivers can be unloaded when not
|
|||
|
needed, freeing up memory. Building the drivers into the kernel itself may be
|
|||
|
desirable if you are unfamiliar with kernel modules and want a simpler
|
|||
|
solution.
|
|||
|
|
|||
|
The [http://www.ibiblio.org/LDP/HOWTO/Kernel-HOWTO.html] Linux Kernel HOWTO
|
|||
|
should be consulted for the details of building a kernel. I will just mention
|
|||
|
here some issues that are specific to sound cards.
|
|||
|
|
|||
|
If you have never configured the kernel for sound support before it is a good
|
|||
|
idea to read the relevant documentation included with the kernel sound
|
|||
|
drivers, particularly information specific to your card type. The files can
|
|||
|
be found in the kernel documentation directory, usually installed in /usr/src
|
|||
|
/linux/Documentation/sound. If this directory is missing you likely either
|
|||
|
have a very old kernel version or you have not installed the kernel source
|
|||
|
code.
|
|||
|
|
|||
|
Follow the usual procedure for building the kernel. There are currently three
|
|||
|
interfaces to the configuration process. A graphical user interface that runs
|
|||
|
under X11 can be invoked using make xconfig. A menu-based system that only
|
|||
|
requires text displays is available as make menuconfig. The original method,
|
|||
|
using make config, offers a simple text-based interface.
|
|||
|
|
|||
|
When configuring the kernel there will be many choices for selecting the type
|
|||
|
of sound card you have and the driver options to use. The on-line help within
|
|||
|
the configuration tool should provide an explanation of what each option is
|
|||
|
for. Select the appropriate options to the best of your knowledge.
|
|||
|
|
|||
|
After configuring the options you should compile and install the new kernel
|
|||
|
as per the Kernel HOWTO.
|
|||
|
-----------------------------------------------------------------------------
|
|||
|
|
|||
|
4.4. Creating the Device Files
|
|||
|
|
|||
|
For proper operation, device file entries must be created for the sound
|
|||
|
devices. These are normally created for you during installation of your Linux
|
|||
|
system. A quick check can be made using the command listed below. If the
|
|||
|
output is as shown (the date stamp will vary) then the device files are
|
|||
|
almost certainly okay.
|
|||
|
+---------------------------------------------------------------------------+
|
|||
|
|% ls -l /dev/dsp |
|
|||
|
|crw-rw-rw- 1 root root 14, 3 Apr 25 1995 /dev/dsp |
|
|||
|
+---------------------------------------------------------------------------+
|
|||
|
|
|||
|
Note that having the right device files there doesn't guarantee anything on
|
|||
|
its own. The kernel driver must also be loaded or compiled in before the
|
|||
|
devices will work (more on that later).
|
|||
|
|
|||
|
In rare cases, if you believe the device files are wrong, you can recreate
|
|||
|
them. Most Linux distributions have a /dev/MAKEDEV script which can be used
|
|||
|
for this purpose.
|
|||
|
|
|||
|
Note that if you are using the devfs filesystem support in the 2.4 kernels,
|
|||
|
the sound device files are actually found in /dev/sound, but there will be
|
|||
|
symbolic links to the older devices, such as /dev/dsp.
|
|||
|
-----------------------------------------------------------------------------
|
|||
|
|
|||
|
4.5. Booting Linux and Testing the Installation
|
|||
|
|
|||
|
You should now be ready to boot the new kernel and test the sound drivers.
|
|||
|
Follow your usual procedure for installing and rebooting the new kernel (keep
|
|||
|
the old kernel around in case of problems, of course).
|
|||
|
|
|||
|
If you are using loadable kernel modules for sound, you will need to load
|
|||
|
them using the modprobe command for the appropriate drivers, e.g. run the
|
|||
|
command modprobe sb for a SoundBlaster card.
|
|||
|
|
|||
|
After booting, or loading the kernel modules, check for a message such as the
|
|||
|
following using the dmesg command:
|
|||
|
+----------------------------------------------------------------------------+
|
|||
|
|Soundblaster audio driver Copyright (C) by Hannu Savolainen 1993-1996 |
|
|||
|
|sb: Creative SB AWE64 PnP detected |
|
|||
|
|sb: ISAPnP reports 'Creative SB AWE64 PnP' at i/o 0x220, irq 5, dma 1, 5 |
|
|||
|
|SB 4.16 detected OK (220) |
|
|||
|
|sb: 1 Soundblaster PnP card(s) found. |
|
|||
|
| |
|
|||
|
|Crystal 4280/46xx + AC97 Audio, version 1.22.32, 10:28:40 Apr 28 2001 |
|
|||
|
|cs46xx: Card found at 0xf4100000 and 0xf4000000, IRQ 11 |
|
|||
|
|cs46xx: Thinkpad 600X/A20/T20 (1014:0153) at 0xf4100000/0xf4000000, IRQ 11 |
|
|||
|
|ac97_codec: AC97 Audio codec, id: 0x4352:0x5914 (Cirrus Logic CS4297A rev B)|
|
|||
|
+----------------------------------------------------------------------------+
|
|||
|
|
|||
|
The message should indicate that a sound card was found and match your sound
|
|||
|
card type and jumper settings (if any). The driver may also display some
|
|||
|
error messages and warnings if you have incorrectly configured the driver or
|
|||
|
chosen the wrong one.
|
|||
|
|
|||
|
Previous versions of this HOWTO suggested checking the output of /dev/
|
|||
|
sndstat. This is no longer supported in the 2.4 and later kernels.
|
|||
|
|
|||
|
Now you should be ready to play a simple sound file. Get hold of a sound
|
|||
|
sample file, and send it to the sound device as a basic check of sound
|
|||
|
output, e.g.
|
|||
|
+---------------------------------------------------------------------------+
|
|||
|
|% cat endoftheworld >/dev/dsp |
|
|||
|
|% cat crash.au >/dev/audio |
|
|||
|
+---------------------------------------------------------------------------+
|
|||
|
|
|||
|
(Make sure you don't omit the ">" in the commands above).
|
|||
|
|
|||
|
Note that, in general, using cat is not the proper way to play audio files,
|
|||
|
it's just a quick check. You'll want to get a proper sound player program
|
|||
|
(described later) that will do a better job.
|
|||
|
|
|||
|
If the above commands return "I/O error", you should look at the end of the
|
|||
|
kernel messages listed using the "dmesg" command. It's likely that an error
|
|||
|
message is printed there. Very often the message is "Sound: DMA (output)
|
|||
|
timed out - IRQ/DRQ config error?". The above message means that the driver
|
|||
|
didn't get the expected interrupt from the sound card. In most cases it means
|
|||
|
that the IRQ or the DMA channel configured to the driver doesn't work. The
|
|||
|
best way to get it working is to try with all possible DMAs and IRQs
|
|||
|
supported by the device.
|
|||
|
|
|||
|
Another possible reason is that the device is not compatible with the device
|
|||
|
the driver is configured for. This is almost certainly the case when a
|
|||
|
supposedly "SoundBlaster (Pro/16) compatible" sound card doesn't work with
|
|||
|
the SoundBlaster driver. In this case you should try to find out the device
|
|||
|
your sound card is compatible with (by posting to the comp.os.linux.hardware
|
|||
|
newsgroup, for example).
|
|||
|
|
|||
|
Some sample sound files can be obtained from [ftp://tsx-11.mit.edu/pub/linux/
|
|||
|
packages/sound/snd-data-0.1.tar.Z] ftp://tsx-11.mit.edu/pub/linux/packages/
|
|||
|
sound/snd-data-0.1.tar.Z>
|
|||
|
|
|||
|
Now you can verify sound recording. If you have sound input capability, you
|
|||
|
can do a quick test of this using commands such as the following:
|
|||
|
+---------------------------------------------------------------------------+
|
|||
|
|# record 4 seconds of audio from microphone |
|
|||
|
|% dd bs=8k count=4 </dev/audio >sample.au |
|
|||
|
|4+0 records in |
|
|||
|
|4+0 records out |
|
|||
|
|# play back sound |
|
|||
|
|% cat sample.au >/dev/audio |
|
|||
|
+---------------------------------------------------------------------------+
|
|||
|
|
|||
|
Obviously for this to work you need a microphone connected to the sound card
|
|||
|
and you should speak into it. You may also need to obtain a mixer program to
|
|||
|
set the microphone as the input device and adjust the recording gain level.
|
|||
|
|
|||
|
If these tests pass, you can be reasonably confident that the sound D/A and A
|
|||
|
/D hardware and software are working. If you experience problems, refer to
|
|||
|
the next section of this document.
|
|||
|
-----------------------------------------------------------------------------
|
|||
|
|
|||
|
4.6. Troubleshooting
|
|||
|
|
|||
|
If you still encounter problems after following the instructions in the
|
|||
|
HOWTO, here are some things to check. The checks are listed in increasing
|
|||
|
order of complexity. If a check fails, solve the problem before moving to the
|
|||
|
next stage.
|
|||
|
-----------------------------------------------------------------------------
|
|||
|
|
|||
|
4.6.1. Step 1: Make sure you are really running the kernel you compiled.
|
|||
|
|
|||
|
You can check the date stamp on the kernel to see if you are running the one
|
|||
|
that you compiled with sound support. You can do this with the uname command:
|
|||
|
+---------------------------------------------------------------------------+
|
|||
|
|% uname -a |
|
|||
|
|Linux fizzbin 2.2.4 #1 Tue Mar 23 11:23:21 EST 1999 i586 unknown |
|
|||
|
+---------------------------------------------------------------------------+
|
|||
|
|
|||
|
or by displaying the file /proc/version:
|
|||
|
+----------------------------------------------------------------------------------------+
|
|||
|
|% cat /proc/version |
|
|||
|
|Linux version 2.2.4 (root@fizzbin) (gcc version 2.7.2.3) #1 Tue Mar 23 11:23:21 EST 1999|
|
|||
|
+----------------------------------------------------------------------------------------+
|
|||
|
|
|||
|
If the date stamp doesn't seem to match when you compiled the kernel, then
|
|||
|
you are running an old kernel. Did you really reboot? If you use LILO, did
|
|||
|
you re-install it (typically by running lilo)? If booting from floppy, did
|
|||
|
you create a new boot floppy and use it when booting?
|
|||
|
|
|||
|
If you are using kernel loadable modules, use the lsmod command to make sure
|
|||
|
the modules are loaded:
|
|||
|
+---------------------------------------------------------------------------+
|
|||
|
|% /sbin/lsmod |
|
|||
|
|Module Size Used by |
|
|||
|
|sb 6320 0 (unused) |
|
|||
|
|sb_lib 35040 0 [sb] |
|
|||
|
|uart401 6544 0 [sb_lib] |
|
|||
|
|sound 59888 0 [sb_lib uart401] |
|
|||
|
|soundcore 4144 5 [sb_lib sound] |
|
|||
|
|isa-pnp 28304 0 [sb] |
|
|||
|
|... |
|
|||
|
+---------------------------------------------------------------------------+
|
|||
|
-----------------------------------------------------------------------------
|
|||
|
|
|||
|
4.6.2. Step 2: Make sure the kernel sound drivers are compiled in.
|
|||
|
|
|||
|
The easiest way to do this is to check the output of dev/sndstat as described
|
|||
|
earlier. If the output is not as expected then something went wrong with the
|
|||
|
kernel configuration or build. Start the installation process again,
|
|||
|
beginning with configuration and building of the kernel.
|
|||
|
-----------------------------------------------------------------------------
|
|||
|
|
|||
|
4.6.3. Step 3: Did the kernel detect your sound card during booting?
|
|||
|
|
|||
|
Make sure that the sound card was detected when the kernel booted. You should
|
|||
|
have seen a message on bootup. If the messages scrolled off the screen, you
|
|||
|
can usually recall them using the dmesg command:
|
|||
|
+---------------------------------------------------------------------------+
|
|||
|
|% dmesg |
|
|||
|
+---------------------------------------------------------------------------+
|
|||
|
|
|||
|
|
|||
|
or
|
|||
|
+---------------------------------------------------------------------------+
|
|||
|
|% tail /var/log/messages |
|
|||
|
+---------------------------------------------------------------------------+
|
|||
|
|
|||
|
If your sound card was not found then something is wrong. Make sure it really
|
|||
|
is installed. If the sound card works under DOS then you can be reasonably
|
|||
|
confident that the hardware is working, so it is likely a problem with the
|
|||
|
kernel configuration. Either you configured your sound card as the wrong type
|
|||
|
or wrong parameters, or your sound card is not compatible with any of the
|
|||
|
Linux kernel sound card drivers.
|
|||
|
|
|||
|
One possibility is that your sound card is one of the compatible type that
|
|||
|
requires initialization by the DOS driver. Try booting DOS and loading the
|
|||
|
vendor supplied sound card driver. Then soft boot Linux using
|
|||
|
Control-Alt-Delete. Make sure that card I/O address, DMA, and IRQ settings
|
|||
|
for Linux are the same as used under DOS. Read the Readme.cards file from the
|
|||
|
sound driver source distribution for hints on configuring your card type.
|
|||
|
|
|||
|
If your sound card is not listed in this document, it is possible that the
|
|||
|
Linux drivers do not support it. You can check with some of the references
|
|||
|
listed at the end of this document for assistance.
|
|||
|
-----------------------------------------------------------------------------
|
|||
|
|
|||
|
4.6.4. Step 4: Can you read data from the dsp device?
|
|||
|
|
|||
|
Try reading from the /dev/audio device using the dd command listed earlier in
|
|||
|
this document. The command should run without errors.
|
|||
|
|
|||
|
If it doesn't work, then chances are that the problem is an IRQ or DMA
|
|||
|
conflict or some kind of hardware incompatibility (the device is not
|
|||
|
supported by Linux or the driver is configured for a wrong device).
|
|||
|
|
|||
|
A remote possibility is broken hardware. Try testing the sound card under
|
|||
|
DOS, if possible, to eliminate that as a possibility.
|
|||
|
-----------------------------------------------------------------------------
|
|||
|
|
|||
|
4.6.5. When All Else Fails
|
|||
|
|
|||
|
If you still have problems, here are some final suggestions for things to
|
|||
|
try:
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<EFBFBD><EFBFBD>*<2A>carefully re-read this HOWTO document
|
|||
|
|
|||
|
<EFBFBD><EFBFBD>*<2A>read the references listed at the end of this document and the relevant
|
|||
|
kernel source documentation files
|
|||
|
|
|||
|
<EFBFBD><EFBFBD>*<2A>post a question to one of the comp.os.linux or other Usenet newsgroups
|
|||
|
(comp.os.linux.hardware is a good choice; because of the high level of
|
|||
|
traffic in these groups it helps to put the string "sound" in the subject
|
|||
|
header for the article so the right experts will see it)
|
|||
|
|
|||
|
<EFBFBD><EFBFBD>*<2A>Using a web/Usenet search engine with an intelligently selected search
|
|||
|
criteria can give very good results quickly. One such choice is [http://
|
|||
|
www.google.com] http://www.google.com
|
|||
|
|
|||
|
<EFBFBD><EFBFBD>*<2A>try using the latest Linux kernel (but only as a last resort, the latest
|
|||
|
development kernels can be unstable)
|
|||
|
|
|||
|
<EFBFBD><EFBFBD>*<2A>send mail to the author of the sound driver
|
|||
|
|
|||
|
<EFBFBD><EFBFBD>*<2A>send mail to the author of the Sound HOWTO
|
|||
|
|
|||
|
<EFBFBD><EFBFBD>*<2A>fire up emacs and type Esc-x doctor :-)
|
|||
|
|
|||
|
|
|||
|
|
|||
|
-----------------------------------------------------------------------------
|
|||
|
|
|||
|
5. Applications Supporting Sound
|
|||
|
|
|||
|
I give here a sample of the types of applications that you likely want if you
|
|||
|
have a sound card under Linux. You can check the Linux Software Map, Internet
|
|||
|
archive sites, and/or files on your Linux CD-ROM for more up to date
|
|||
|
information.
|
|||
|
|
|||
|
If you are running a graphical desktop such as [http://www.kde.org] KDE or
|
|||
|
[http://www.gnome.org] GNOME then it should already include a number of
|
|||
|
multimedia applications that are integrated with your desktop.
|
|||
|
|
|||
|
As a minimum, you will likely want to obtain the following sound
|
|||
|
applications:
|
|||
|
|
|||
|
<EFBFBD><EFBFBD>*<2A>audio file format conversion utility (e.g. sox)
|
|||
|
|
|||
|
<EFBFBD><EFBFBD>*<2A>mixer utility (e.g. aumix or xmix)
|
|||
|
|
|||
|
<EFBFBD><EFBFBD>*<2A>digitized file player/recorder (e.g. play or wavplay)
|
|||
|
|
|||
|
<EFBFBD><EFBFBD>*<2A>MOD file player (e.g. tracker)
|
|||
|
|
|||
|
<EFBFBD><EFBFBD>*<2A>MIDI file player (e.g. playmidi)
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
There are text-based as well as GUI-based versions of most of these tools.
|
|||
|
There are also some more esoteric applications (e.g. speech synthesis and
|
|||
|
recognition) that you may wish to try.
|
|||
|
-----------------------------------------------------------------------------
|
|||
|
|
|||
|
6. Answers To Frequently Asked Questions
|
|||
|
|
|||
|
This section answers some of the questions that have been commonly asked on
|
|||
|
the Usenet news groups and mailing lists.
|
|||
|
|
|||
|
Answers to more questions can also be found at the OSS sound driver web page.
|
|||
|
-----------------------------------------------------------------------------
|
|||
|
|
|||
|
6.1. What are the various sound device files?
|
|||
|
|
|||
|
These are the most standard device file names, some Linux distributions may
|
|||
|
use slightly different names.
|
|||
|
|
|||
|
/dev/audio
|
|||
|
normally a link to /dev/audio0
|
|||
|
|
|||
|
/dev/audio0
|
|||
|
Sun workstation compatible audio device (only a partial implementation,
|
|||
|
does not support Sun ioctl interface, just u-law encoding)
|
|||
|
|
|||
|
/dev/audio1
|
|||
|
second audio device (if supported by sound card or if more than one sound
|
|||
|
card installed)
|
|||
|
|
|||
|
/dev/dsp
|
|||
|
normally a link to /dev/dsp0
|
|||
|
|
|||
|
/dev/dsp0
|
|||
|
first digital sampling device
|
|||
|
|
|||
|
/dev/dsp1
|
|||
|
second digital sampling device
|
|||
|
|
|||
|
/dev/mixer
|
|||
|
normally a link to /dev/mixer0
|
|||
|
|
|||
|
/dev/mixer0
|
|||
|
first sound mixer
|
|||
|
|
|||
|
/dev/mixer1
|
|||
|
second sound mixer
|
|||
|
|
|||
|
/dev/music
|
|||
|
high-level sequencer interface
|
|||
|
|
|||
|
/dev/sequencer
|
|||
|
low level MIDI, FM, and GUS access
|
|||
|
|
|||
|
/dev/sequencer2
|
|||
|
normally a link to /dev/music
|
|||
|
|
|||
|
/dev/midi00
|
|||
|
1st raw MIDI port
|
|||
|
|
|||
|
/dev/midi01
|
|||
|
2nd raw MIDI port
|
|||
|
|
|||
|
/dev/midi02
|
|||
|
3rd raw MIDI port
|
|||
|
|
|||
|
/dev/midi03
|
|||
|
4th raw MIDI port
|
|||
|
|
|||
|
/dev/sndstat
|
|||
|
displays sound driver status when read (also available as /proc/sound,
|
|||
|
removed in 2.4 kernels)
|
|||
|
|
|||
|
|
|||
|
The PC speaker driver provides the following devices:
|
|||
|
|
|||
|
/dev/pcaudio
|
|||
|
equivalent to /dev/audio
|
|||
|
|
|||
|
/dev/pcsp
|
|||
|
equivalent to /dev/dsp
|
|||
|
|
|||
|
/dev/pcmixer
|
|||
|
equivalent to /dev/mixer
|
|||
|
|
|||
|
|
|||
|
-----------------------------------------------------------------------------
|
|||
|
6.2. How can I play a sound sample?
|
|||
|
|
|||
|
Sun workstation (.au) sound files can be played by sending them to the /dev/
|
|||
|
audio device. Raw samples can be sent to /dev/dsp. This will generally give
|
|||
|
poor results though, and using a program such as play is preferable, as it
|
|||
|
will recognize most file types and set the sound card to the correct sampling
|
|||
|
rate, etc.
|
|||
|
|
|||
|
If you are running a graphical desktop such as [http://www.kde.org] KDE or
|
|||
|
[http://www.gnome.org] GNOME then it should already include a graphical sound
|
|||
|
file player program.
|
|||
|
|
|||
|
Programs like wavplay or vplay (in the snd-util package) will give best
|
|||
|
results with WAV files. However they don't recognize Microsoft ADPCM
|
|||
|
compressed WAV files. Also older versions of play (from the Lsox package)
|
|||
|
doesn't work well with 16 bit WAV files.
|
|||
|
|
|||
|
The splay command included in the snd-util package can be used to play most
|
|||
|
sound files if proper parameters are entered manually in the command line.
|
|||
|
-----------------------------------------------------------------------------
|
|||
|
|
|||
|
6.3. How can I record a sample?
|
|||
|
|
|||
|
Reading /dev/audio or /dev/dsp will return sampled data that can be
|
|||
|
redirected to a file. A program such as vrec makes it easier to control the
|
|||
|
sampling rate, duration, etc. You may also need a mixer program to select the
|
|||
|
appropriate input device.
|
|||
|
-----------------------------------------------------------------------------
|
|||
|
|
|||
|
6.4. Can I have more than one sound card?
|
|||
|
|
|||
|
With the current sound driver it's possible to have several SoundBlaster,
|
|||
|
SoundBlaster/Pro, SoundBlaster16, MPU-401 or MSS cards at the same time on
|
|||
|
the system. Installing two SoundBlasters is possible but requires defining
|
|||
|
the macros SB2_BASE, SB2_IRQ, SB2_DMA and (in some cases) SB2_DMA2 by editing
|
|||
|
local.h manually. It's also possible to have a SoundBlaster at the same time
|
|||
|
as a PAS16.
|
|||
|
|
|||
|
With the 2.0 and newer kernels that configure sound using make config,
|
|||
|
instead of local.h, you need to edit the file /usr/include/linux/autoconf.h.
|
|||
|
After the section containing the lines:
|
|||
|
+---------------------------------------------------------------------------+
|
|||
|
|#define SBC_BASE 0x220 |
|
|||
|
|#define SBC_IRQ (5) |
|
|||
|
|#define SBC_DMA (1) |
|
|||
|
|#define SB_DMA2 (5) |
|
|||
|
|#define SB_MPU_BASE 0x0 |
|
|||
|
|#define SB_MPU_IRQ (-1) |
|
|||
|
+---------------------------------------------------------------------------+
|
|||
|
|
|||
|
add these lines (with values appropriate for your system):
|
|||
|
+---------------------------------------------------------------------------+
|
|||
|
|#define SB2_BASE 0x330 |
|
|||
|
|#define SB2_IRQ (7) |
|
|||
|
|#define SB2_DMA (2) |
|
|||
|
|#define SB2_DMA2 (2) |
|
|||
|
+---------------------------------------------------------------------------+
|
|||
|
|
|||
|
The following drivers don't permit multiple instances:
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<EFBFBD><EFBFBD>*<2A>GUS (driver limitation)
|
|||
|
|
|||
|
<EFBFBD><EFBFBD>*<2A>MAD16 (hardware limitation)
|
|||
|
|
|||
|
<EFBFBD><EFBFBD>*<2A>AudioTrix Pro (hardware limitation)
|
|||
|
|
|||
|
<EFBFBD><EFBFBD>*<2A>CS4232 (hardware limitation)
|
|||
|
|
|||
|
|
|||
|
|
|||
|
-----------------------------------------------------------------------------
|
|||
|
|
|||
|
6.5. Error: No such file or directory for sound devices
|
|||
|
|
|||
|
You need to create the sound driver device files. See the section on creating
|
|||
|
device files. If you do have the device files, ensure that they have the
|
|||
|
correct major and minor device numbers (some older CD-ROM distributions of
|
|||
|
Linux may not create the correct device files during installation).
|
|||
|
-----------------------------------------------------------------------------
|
|||
|
|
|||
|
6.6. Error: No such device for sound devices
|
|||
|
|
|||
|
You have not booted with a kernel containing the sound driver or the I/O
|
|||
|
address configuration doesn't match your hardware. Check that you are running
|
|||
|
the newly compiled kernel and verify that the settings entered when
|
|||
|
configuring the sound driver match your hardware setup.
|
|||
|
-----------------------------------------------------------------------------
|
|||
|
|
|||
|
6.7. Error: No space left on device for sound devices
|
|||
|
|
|||
|
This can happen if you tried to record data to /dev/audio or /dev/dsp without
|
|||
|
creating the necessary device file. The sound device is now a regular file,
|
|||
|
and has filled up your disk partition. You need to run the script described
|
|||
|
in the Creating the Device Files section of this document.
|
|||
|
|
|||
|
This may also happen with Linux 2.0 and later if there is not enough free RAM
|
|||
|
on the system when the device is opened. The audio driver requires at least
|
|||
|
two pages (8k) of contiguous physical RAM for each DMA channel. This happens
|
|||
|
sometimes in machines with less than 16M of RAM or which have been running
|
|||
|
for very long time. You can preallocate the DMA buffers when the driver is
|
|||
|
loaded using the kernel option "dma_buf=1".
|
|||
|
-----------------------------------------------------------------------------
|
|||
|
|
|||
|
6.8. Error: Device busy for sound devices
|
|||
|
|
|||
|
Only one process can open a given sound device at one time. Most likely some
|
|||
|
other process is using the device in question. One way to determine this is
|
|||
|
to use the fuser command:
|
|||
|
+---------------------------------------------------------------------------+
|
|||
|
|% fuser -v /dev/dsp |
|
|||
|
|/dev/dsp: USER PID ACCESS COMMAND |
|
|||
|
| tranter 265 f.... tracker |
|
|||
|
+---------------------------------------------------------------------------+
|
|||
|
|
|||
|
In the above example, the fuser command showed that process 265 had the
|
|||
|
device open. Waiting for the process to complete or killing it will allow the
|
|||
|
sound device to be accessed once again. You should run the fuser command as
|
|||
|
root in order to report usage by users other than yourself.
|
|||
|
|
|||
|
On some systems you may need to be root when running the fuser command in
|
|||
|
order to see the processes of other users.
|
|||
|
|
|||
|
Under the KDE desktop, the artsd sound server usually take control of the
|
|||
|
sound device. Applications should make requests to play sound through the
|
|||
|
sound server, or the sound server should be paused. A similar situation
|
|||
|
exists under GNOME with the esd sound server.
|
|||
|
-----------------------------------------------------------------------------
|
|||
|
|
|||
|
6.9. I still get device busy errors!
|
|||
|
|
|||
|
According to Brian Gough, for the SoundBlaster cards which use DMA channel 1
|
|||
|
there is a potential conflict with the QIC-02 tape driver, which also uses
|
|||
|
DMA 1, causing "device busy" errors. If you are using FTAPE, you may have
|
|||
|
this driver enabled. According to the FTAPE-HOWTO the QIC-02 driver is not
|
|||
|
essential for the use of FTAPE; only the QIC-117 driver is required.
|
|||
|
Reconfiguring the kernel to use QIC-117 but not QIC-02 allows FTAPE and the
|
|||
|
sound-driver to coexist.
|
|||
|
-----------------------------------------------------------------------------
|
|||
|
|
|||
|
6.10. Partial playback of digitized sound file
|
|||
|
|
|||
|
The symptom is usually that a sound sample plays for about a second and then
|
|||
|
stops completely or reports an error message about "missing IRQ" or "DMA
|
|||
|
timeout". Most likely you have incorrect IRQ or DMA channel settings. Verify
|
|||
|
that the kernel configuration matches the sound card jumper settings and that
|
|||
|
they do not conflict with some other card.
|
|||
|
|
|||
|
Another symptom is sound samples that loop. This is usually caused by an IRQ
|
|||
|
conflict.
|
|||
|
-----------------------------------------------------------------------------
|
|||
|
|
|||
|
6.11. There are pauses when playing MOD files
|
|||
|
|
|||
|
Playing MOD files requires considerable CPU power. You may have too many
|
|||
|
processes running or your computer may be too slow to play in real time. Your
|
|||
|
options are to:
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<EFBFBD><EFBFBD>*<2A>try playing with a lower sampling rate or in mono mode
|
|||
|
|
|||
|
<EFBFBD><EFBFBD>*<2A>eliminate other processes
|
|||
|
|
|||
|
<EFBFBD><EFBFBD>*<2A>buy a faster computer
|
|||
|
|
|||
|
<EFBFBD><EFBFBD>*<2A>buy a more powerful sound card (e.g. Gravis UltraSound)
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
If you have a Gravis UltraSound card, you should use one of the mod file
|
|||
|
players written specifically for the GUS (e.g. gmod).
|
|||
|
-----------------------------------------------------------------------------
|
|||
|
|
|||
|
6.12. Compile errors when compiling sound applications
|
|||
|
|
|||
|
The version 1.0c and earlier sound driver used a different and incompatible
|
|||
|
ioctl() scheme. Obtain newer source code or make the necessary changes to
|
|||
|
adapt it to the new sound driver. See the sound driver Readme file for
|
|||
|
details.
|
|||
|
|
|||
|
Also ensure that you have used the latest version of soundcard.h and
|
|||
|
ultrasound.h when compiling the application. See the installation
|
|||
|
instructions at beginning of this text.
|
|||
|
-----------------------------------------------------------------------------
|
|||
|
|
|||
|
6.13. SEGV when running sound binaries that worked previously
|
|||
|
|
|||
|
This is probably the same problem described in the previous question.
|
|||
|
-----------------------------------------------------------------------------
|
|||
|
|
|||
|
6.14. What known bugs or limitations are there in the sound driver?
|
|||
|
|
|||
|
See the files included with the sound driver kernel source.
|
|||
|
-----------------------------------------------------------------------------
|
|||
|
|
|||
|
6.15. Where are the sound driver ioctls() etc. documented?
|
|||
|
|
|||
|
Currently the best documentation, other than the source code, is available at
|
|||
|
the 4Front Technologies web site, [http://www.opensound.com] http://
|
|||
|
www.opensound.com. Another source of information is the Linux Multimedia
|
|||
|
Guide, described in the references section.
|
|||
|
-----------------------------------------------------------------------------
|
|||
|
|
|||
|
6.16. What CPU resources are needed to play or record without pauses?
|
|||
|
|
|||
|
There is no easy answer to this question, as it depends on:
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<EFBFBD><EFBFBD>*<2A>whether using PCM sampling or FM synthesis
|
|||
|
|
|||
|
<EFBFBD><EFBFBD>*<2A>sampling rate and sample size
|
|||
|
|
|||
|
<EFBFBD><EFBFBD>*<2A>which application is used to play or record
|
|||
|
|
|||
|
<EFBFBD><EFBFBD>*<2A>Sound Card hardware
|
|||
|
|
|||
|
<EFBFBD><EFBFBD>*<2A>disk I/O rate, CPU clock speed, cache size, etc.
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
In general, any 386 machine or better should be able to play samples or FM
|
|||
|
synthesized music on an 8 bit sound card with ease.
|
|||
|
|
|||
|
Playing MOD files, however, requires considerable CPU resources. Some
|
|||
|
experimental measurements have shown that playing at 44kHz requires more than
|
|||
|
40% of the speed of a 486/50 and a 386/25 can hardly play faster than 22 kHz
|
|||
|
(these are with an 8 bit card sound such as a SoundBlaster). A card such as
|
|||
|
the Gravis UltraSound card performs more functions in hardware, and will
|
|||
|
require less CPU resources.
|
|||
|
|
|||
|
These statements assume the computer is not performing any other CPU
|
|||
|
intensive tasks.
|
|||
|
|
|||
|
Converting sound files or adding effects using a utility such as sox is also
|
|||
|
much faster if you have a math coprocessor (or CPU with on board FPU). The
|
|||
|
kernel driver itself does not do any floating point calculations, though.
|
|||
|
-----------------------------------------------------------------------------
|
|||
|
|
|||
|
6.17. Problems with a PAS16 and an Adaptec 1542 SCSI host adaptor
|
|||
|
|
|||
|
(the following explanation was supplied by seeker@indirect.com)
|
|||
|
|
|||
|
Linux only recognizes the 1542 at address 330 (default) or 334, and the PAS
|
|||
|
only allows the MPU-401 emulation at 330. Even when you disable the MPU-401
|
|||
|
under software, something still wants to conflict with the 1542 if it's at
|
|||
|
its preferred default address. Moving the 1542 to 334 makes everyone happy.
|
|||
|
|
|||
|
Additionally, both the 1542 and the PAS-16 do 16-bit DMA, so if you sample at
|
|||
|
16-bit 44 KHz stereo and save the file to a SCSI drive hung on the 1542,
|
|||
|
you're about to have trouble. The DMAs overlap and there isn't enough time
|
|||
|
for RAM refresh, so you get the dread ``PARITY ERROR - SYSTEM HALTED''
|
|||
|
message, with no clue to what caused it. It's made worse because a few
|
|||
|
second-party vendors with QIC-117 tape drives recommend setting the bus on/
|
|||
|
off times such that the 1542 is on even longer than normal. Get the
|
|||
|
SCSISEL.EXE program from Adaptec's BBS or several places on the internet, and
|
|||
|
reduce the BUS ON time or increase the BUS OFF time until the problem goes
|
|||
|
away, then move it one notch or more further. SCSISEL changes the EEPROM
|
|||
|
settings, so it's more permanent than a patch to the DOS driver line in
|
|||
|
CONFIG.SYS, and will work if you boot right into Linux (unlike the DOS
|
|||
|
patch). Next problem solved.
|
|||
|
|
|||
|
Last problem - the older Symphony chipsets drastically reduced the timing of
|
|||
|
the I/O cycles to speed up bus accesses. None of various boards I've played
|
|||
|
with had any problem with the reduced timing except for the PAS-16. Media
|
|||
|
Vision's BBS has SYMPFIX.EXE that's supposed to cure the problem by twiddling
|
|||
|
a diagnostic bit in Symphony's bus controller, but it's not a hard guarantee.
|
|||
|
You may need to:
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<EFBFBD><EFBFBD>*<2A>get the motherboard distributor to replace the older version bus chip,
|
|||
|
|
|||
|
<EFBFBD><EFBFBD>*<2A>replace the motherboard, or
|
|||
|
|
|||
|
<EFBFBD><EFBFBD>*<2A>buy a different brand of sound card.
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
Young Microsystems will upgrade the boards they import for around $30 (US);
|
|||
|
other vendors may be similar if you can figure out who made or imported the
|
|||
|
motherboard (good luck). The problem is in ProAudio's bus interface chip as
|
|||
|
far as I'm concerned; nobody buys a $120 sound card and sticks it in a 6MHz
|
|||
|
AT. Most of them wind up in 25-40MHz 386/486 boxes, and should be able to
|
|||
|
handle at least 12MHz bus rates if the chips are designed right. Exit soapbox
|
|||
|
(stage left).
|
|||
|
|
|||
|
The first problem depends on the chipset used on your motherboard, what bus
|
|||
|
speed and other BIOS settings, and the phase of the moon. The second problem
|
|||
|
depends on your refresh option setting (hidden or synchronous), the 1542 DMA
|
|||
|
rate and (possibly) the bus I/O rate. The third can be determined by calling
|
|||
|
Media Vision and asking which flavor of Symphony chip is incompatible with
|
|||
|
their slow design. Be warned, though - 3 of 4 techs I talked to were brain
|
|||
|
damaged. I would be very leery of trusting anything they said about someone
|
|||
|
else's hardware, since they didn't even know their own very well.
|
|||
|
-----------------------------------------------------------------------------
|
|||
|
|
|||
|
6.18. Is it possible to read and write samples simultaneously?
|
|||
|
|
|||
|
The drivers for some sound cards support full duplex mode. Check the
|
|||
|
documentation available from 4Front Technologies for information on how to
|
|||
|
use it.
|
|||
|
-----------------------------------------------------------------------------
|
|||
|
|
|||
|
6.19. My SB16 is set to IRQ 2, but configure does not allow this value.
|
|||
|
|
|||
|
On '286 and later machines, the IRQ 2 interrupt is cascaded to the second
|
|||
|
interrupt controller. It is equivalent to IRQ 9.
|
|||
|
-----------------------------------------------------------------------------
|
|||
|
|
|||
|
6.20. If I run Linux, then boot DOS, I get errors and/or sound applications
|
|||
|
do not work properly.
|
|||
|
|
|||
|
This happens after a soft reboot to DOS. Sometimes the error message
|
|||
|
misleadingly refers to a bad CONFIG.SYS file.
|
|||
|
|
|||
|
Most of the current sound cards have software programmable IRQ and DMA
|
|||
|
settings. If you use different settings between Linux and MS-DOS/Windows,
|
|||
|
this may cause problems. Some sound cards don't accept new parameters without
|
|||
|
a complete reset (i.e. cycle the power or use the hardware reset button).
|
|||
|
|
|||
|
The quick solution to this problem it to perform a full reboot using the
|
|||
|
reset button or power cycle rather than a soft reboot (e.g. Ctrl-Alt-Del).
|
|||
|
|
|||
|
The correct solution is to ensure that you use the same IRQ and DMA settings
|
|||
|
with MS-DOS and Linux (or not to use DOS :-).
|
|||
|
-----------------------------------------------------------------------------
|
|||
|
|
|||
|
6.21. Problems running DOOM under Linux
|
|||
|
|
|||
|
Users of the port of ID software's game DOOM for Linux may be interested in
|
|||
|
these notes.
|
|||
|
|
|||
|
For correct sound output you need version 2.90 or later of the sound driver;
|
|||
|
it has support for the real-time DOOM mode.
|
|||
|
|
|||
|
The sound samples are 16-bit. If you have an 8-bit sound card you can still
|
|||
|
get sound to work using one of several programs available in [ftp://
|
|||
|
www.ibiblio.org/pub/Linux/games/doom] ftp://www.ibiblio.org/pub/Linux/games/
|
|||
|
doom.
|
|||
|
|
|||
|
If performance of DOOM is poor on your system, disabling sound (by renaming
|
|||
|
the file sndserver) may improve it.
|
|||
|
|
|||
|
By default DOOM does not support music (as in the DOS version). The program
|
|||
|
musserver will add support for music to DOOM under Linux. It can be found at
|
|||
|
[ftp://pandora.st.hmc.edu/pub/linux/musserver.tgz] ftp://pandora.st.hmc.edu/
|
|||
|
pub/linux/musserver.tgz.
|
|||
|
-----------------------------------------------------------------------------
|
|||
|
|
|||
|
6.22. How can I reduce noise picked up by my sound card?
|
|||
|
|
|||
|
Using good quality shielded cables and trying the sound card in different
|
|||
|
slots may help reduce noise. If the sound card has a volume control, you can
|
|||
|
try different settings (maximum is probably best). Using a mixer program you
|
|||
|
can make sure that undesired inputs (e.g. microphone) are set to zero gain.
|
|||
|
|
|||
|
Philipp Braunbeck reported that on his ESS-1868 sound card there was a jumper
|
|||
|
to turn off the built-in amplifier which helped reduce noise when enabled.
|
|||
|
|
|||
|
On one 386 system I found that the kernel command line option no-hlt reduced
|
|||
|
the noise level. This tells the kernel not to use the halt instruction when
|
|||
|
running the idle process loop. You can try this manually when booting, or set
|
|||
|
it up using the command append="no-hlt" in your LILO configuration file.
|
|||
|
|
|||
|
Some sound cards are simply not designed with good shielding and grounding
|
|||
|
and are prone to noise pickup.
|
|||
|
-----------------------------------------------------------------------------
|
|||
|
|
|||
|
6.23. I can play sounds, but not record.
|
|||
|
|
|||
|
If you can play sound but not record, try these steps:
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<EFBFBD><EFBFBD>*<2A>use a mixer program to select the appropriate device (e.g. microphone)
|
|||
|
|
|||
|
<EFBFBD><EFBFBD>*<2A>use the mixer to set the input gains to maximum
|
|||
|
|
|||
|
<EFBFBD><EFBFBD>*<2A>If you can, try to test sound card recording under MS-DOS to determine if
|
|||
|
there is a hardware problem
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
Sometimes a different DMA channel is used for recording than for playback. In
|
|||
|
this case the most probable reason is that the recording DMA is set up
|
|||
|
incorrectly.
|
|||
|
-----------------------------------------------------------------------------
|
|||
|
|
|||
|
6.24. My "compatible" sound card only works if I first initialize under
|
|||
|
MS-DOS.
|
|||
|
|
|||
|
In most cases a "SoundBlaster compatible" card will work better under Linux
|
|||
|
if configured with a driver other than the SoundBlaster one. Most sound cards
|
|||
|
claim to be compatible (e.g. "16 bit SB Pro compatible" or "SB compatible 16
|
|||
|
bit") but usually this SoundBlaster mode is just a hack provided for DOS
|
|||
|
games compatibility. Most cards have a 16 bit native mode which is likely to
|
|||
|
be supported by recent Linux versions (2.0.1 and later).
|
|||
|
|
|||
|
Only with some (usually rather old) cards is it necessary to try to get them
|
|||
|
to work in the SoundBlaster mode. The only newer cards that are the exception
|
|||
|
to this rule are the Mwave-based cards.
|
|||
|
-----------------------------------------------------------------------------
|
|||
|
|
|||
|
6.25. My 16-bit SoundBlaster "compatible" sound card only works in 8-bit mode
|
|||
|
under Linux.
|
|||
|
|
|||
|
16-bit sound cards described as SoundBlaster compatible are really only
|
|||
|
compatible with the 8-bit SoundBlaster Pro. They typically have a 16-bit mode
|
|||
|
which is not compatible with the SoundBlaster 16 and not compatible with the
|
|||
|
Linux sound driver.
|
|||
|
|
|||
|
You may be able to get the card to work in 16-bit mode by using the MAD16 or
|
|||
|
MSS/WSS driver.
|
|||
|
-----------------------------------------------------------------------------
|
|||
|
|
|||
|
6.26. Where can I find sound applications for Linux?
|
|||
|
|
|||
|
Here are some good archive sites to search for Linux specific sound
|
|||
|
applications:
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<EFBFBD><EFBFBD>*<2A>[ftp://www.ibiblio.org/pub/Linux/kernel/sound/] ftp://www.ibiblio.org/pub
|
|||
|
/Linux/kernel/sound/
|
|||
|
|
|||
|
<EFBFBD><EFBFBD>*<2A>[ftp://www.ibiblio.org/pub/Linux/apps/sound/] ftp://www.ibiblio.org/pub/
|
|||
|
Linux/apps/sound/
|
|||
|
|
|||
|
<EFBFBD><EFBFBD>*<2A>[ftp://tsx-11.mit.edu/pub/linux/packages/sound/] ftp://tsx-11.mit.edu/pub
|
|||
|
/linux/packages/sound/>
|
|||
|
|
|||
|
<EFBFBD><EFBFBD>*<2A>[ftp://nic.funet.fi/pub/Linux/util/sound/] ftp://nic.funet.fi/pub/Linux/
|
|||
|
util/sound/
|
|||
|
|
|||
|
<EFBFBD><EFBFBD>*<2A>[ftp://nic.funet.fi/pub/Linux/xtra/snd-kit/] ftp://nic.funet.fi/pub/Linux
|
|||
|
/xtra/snd-kit/
|
|||
|
|
|||
|
<EFBFBD><EFBFBD>*<2A>[ftp://nic.funet.fi/pub/Linux/ALPHA/sound/] ftp://nic.funet.fi/pub/Linux/
|
|||
|
ALPHA/sound/
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
Also see the References section of this document.
|
|||
|
-----------------------------------------------------------------------------
|
|||
|
|
|||
|
6.27. Can the sound drivers be compiled as a loadable module?
|
|||
|
|
|||
|
With recent kernels the sound driver is supported as several kernel loadable
|
|||
|
modules.
|
|||
|
|
|||
|
See the files in /usr/src/linux/Documentation/sound, especially the files
|
|||
|
Introduction and README.modules.
|
|||
|
-----------------------------------------------------------------------------
|
|||
|
|
|||
|
6.28. Can I use a sound card to replace the system console beep?
|
|||
|
|
|||
|
Try the oplbeep program, found at [ftp://www.ibiblio.org/pub/Linux/apps/sound
|
|||
|
/oplbeep-2.3.tar.gz] ftp://www.ibiblio.org/pub/Linux/apps/sound/
|
|||
|
oplbeep-2.3.tar.gz
|
|||
|
|
|||
|
Another variant is the beep program found at [ftp://www.ibiblio.org/pub/Linux
|
|||
|
/kernel/patches/misc/modreq_beep.tgz] ftp://www.ibiblio.org/pub/Linux/kernel/
|
|||
|
patches/misc/modreq_beep.tgz
|
|||
|
|
|||
|
The modutils package has an example program and kernel patch that supports
|
|||
|
calling an arbitrary external program to generate sounds when requested by
|
|||
|
the kernel.
|
|||
|
|
|||
|
Version 2.0 and later of KDE allows playing a sound file for the console beep
|
|||
|
in KDE applications such as konsole.
|
|||
|
|
|||
|
Alternatively, with some sound cards you can connect the PC speaker output to
|
|||
|
the sound card so that all sounds come from the sound card speakers.
|
|||
|
-----------------------------------------------------------------------------
|
|||
|
|
|||
|
6.29. What is VoxWare?
|
|||
|
|
|||
|
The commercial version of the sound drivers sold by 4Front Technologies was
|
|||
|
previously known by other names such as VoxWare, USS (Unix Sound System), and
|
|||
|
even TASD (Temporarily Anonymous Sound Driver). It is now marketed as OSS
|
|||
|
(Open Sound System). The version included in the Linux kernel is sometimes
|
|||
|
referred to as OSS/Free.
|
|||
|
|
|||
|
For more information see the 4Front Technologies web page at [http://
|
|||
|
www.opensound.com/] http://www.opensound.com/. I wrote a review of OSS/Linux
|
|||
|
in the June 1997 issue of [http://www.ssc.com/lj/] Linux Journal.
|
|||
|
-----------------------------------------------------------------------------
|
|||
|
|
|||
|
6.30. Sox/Play/Vplay reports "invalid block size 1024"
|
|||
|
|
|||
|
A change to the sound driver in version 1.3.67 broke some sound player
|
|||
|
programs which (incorrectly) checked that the result from the
|
|||
|
SNDCTL_DSP_GETBLKSIZE ioctl was greater than 4096. The latest sound driver
|
|||
|
versions have been fixed to avoid allocating fragments shorter than 4096
|
|||
|
bytes which solves this problem with old utilities.
|
|||
|
-----------------------------------------------------------------------------
|
|||
|
|
|||
|
6.31. The mixer settings are reset whenever I load the sound driver module
|
|||
|
|
|||
|
You can build the sound driver as a loadable module and use kerneld to
|
|||
|
automatically load and unload it. This can present one problem - whenever the
|
|||
|
module is reloaded the mixer settings go back to their default values. For
|
|||
|
some sound cards this can be too loud (e.g. SoundBlaster16) or too quiet.
|
|||
|
Markus Gutschke (gutschk@uni-muenster.de) found this solution. Use a line in
|
|||
|
your /etc/conf.modules file such as the following:
|
|||
|
+---------------------------------------------------------------------------+
|
|||
|
|options sound dma_buffsize=65536 |
|
|||
|
|post-install sound /usr/bin/setmixer igain 0 ogain 0 vol 75 |
|
|||
|
+---------------------------------------------------------------------------+
|
|||
|
|
|||
|
This causes your mixer program (in this case setmixer) to be run immediately
|
|||
|
after the sound driver is loaded. The dma_buffsize parameter is just a dummy
|
|||
|
value needed because the option command requires a command line option.
|
|||
|
Change the line as needed to match your mixer program and gain settings.
|
|||
|
|
|||
|
If you have compiled the sound driver into your kernel and you want to set
|
|||
|
the mixer gains at boot time you can put a call to your mixer program in a
|
|||
|
system startup file such as /etc/rc.d/rc.local.
|
|||
|
-----------------------------------------------------------------------------
|
|||
|
|
|||
|
6.32. Only user root can record sound
|
|||
|
|
|||
|
By default the script in Readme.linux that creates the sound device files
|
|||
|
only allows the devices to be read by user root. This is to plug a potential
|
|||
|
security hole. In a networked environment, external users could conceivably
|
|||
|
log in remotely to a Linux PC with a sound card and microphone and eavesdrop.
|
|||
|
If you are not worried about this, you can change the permissions used in the
|
|||
|
script.
|
|||
|
|
|||
|
With the default setup, users can still play sound files. This is not a
|
|||
|
security risk but is a potential for nuisance.
|
|||
|
-----------------------------------------------------------------------------
|
|||
|
|
|||
|
6.33. Is the sound hardware on the IBM ThinkPad supported?
|
|||
|
|
|||
|
Information on how to use the mwave sound card on an IBM ThinkPad laptop
|
|||
|
computer can be found in the file /usr/src/linux/Documentation/sound/mwave,
|
|||
|
which is part of the kernel source distribution (note that not all IBM
|
|||
|
ThinkPads use the MWAVE sound chip).
|
|||
|
-----------------------------------------------------------------------------
|
|||
|
|
|||
|
6.34. Applications fail because my sound card has no mixer
|
|||
|
|
|||
|
Some old 8-bit SoundBlaster cards have no mixer circuitry. Some sound
|
|||
|
applications insist on being able to open the mixer device, and fail with
|
|||
|
these cards. Jens Werner ([mailto:werner@bert.emv.ing.tu-bs.de]
|
|||
|
werner@bert.emv.ing.tu-bs.de) reports a workaround for this is to link /dev/
|
|||
|
mixer to /dev/null and everything should work fine.
|
|||
|
-----------------------------------------------------------------------------
|
|||
|
|
|||
|
6.35. Problems with a SB16 CT4170
|
|||
|
|
|||
|
From Scott Manley ([mailto:spm@star.arm.ac.uk] spm@star.arm.ac.uk):
|
|||
|
|
|||
|
There seems to be a new type of Soundblaster - it was sold to us as a SB16 -
|
|||
|
the Model no. on the Card is CT4170. These Beasties only have one DMA channel
|
|||
|
so when you try to set them up then the kernel will have trouble accessing
|
|||
|
the 16 bit DMA. The solution is to set the second DMA to 1 so that the card
|
|||
|
will behave as advertised.
|
|||
|
-----------------------------------------------------------------------------
|
|||
|
|
|||
|
6.36. How to connect a MIDI keyboard to a soundcard
|
|||
|
|
|||
|
From Kim G. S. OEyhus ([mailto:kim@pvv.ntnu.no] kim@pvv.ntnu.no):
|
|||
|
|
|||
|
I looked all around the internet and in sound documentation on how to do
|
|||
|
something as simple as connecting the MIDI output from a master keyboard to
|
|||
|
the MIDI input on a sound card. I found nothing. The problem is that they
|
|||
|
both use the same device, /dev/midi, at least when using the OSS sound
|
|||
|
system. So I found a way to do it, which I want to share. This makes for a
|
|||
|
very simple synthesizer, with full MIDI support:
|
|||
|
|
|||
|
CONNECTING A MIDI MASTER-KEYBOARD DIRECTLY TO A SOUNDCARD WITH MIDI
|
|||
|
|
|||
|
A MIDI master-keyboard is a keyboard without any synthesizer, and with only a
|
|||
|
MIDI-out plug. This can be connected to the 15-pin D-SUB port on most
|
|||
|
sound-cards with a suitable cable.
|
|||
|
|
|||
|
Such a keyboard can be used to control the MIDI synthesizer device for the
|
|||
|
card, thus making a simple keyboard controlled synthesizer.
|
|||
|
|
|||
|
Compile the following program, say with 'gcc -o prog prog.c' and run it:
|
|||
|
+---------------------------------------------------------------------------+
|
|||
|
|#include <fcntl.h> |
|
|||
|
| |
|
|||
|
|main() |
|
|||
|
|{ |
|
|||
|
| int fil, a; |
|
|||
|
| char b[256]; |
|
|||
|
| |
|
|||
|
| fil=open("/dev/midi", O_RDWR); |
|
|||
|
| for(;;) |
|
|||
|
| { |
|
|||
|
| a=read(fil, b, 256); |
|
|||
|
| write(fil, b, a); |
|
|||
|
| } |
|
|||
|
|} |
|
|||
|
+---------------------------------------------------------------------------+
|
|||
|
|
|||
|
-----------------------------------------------------------------------------
|
|||
|
|
|||
|
6.37. Problems with IRQ 15 and Ensoniq PCI 128
|
|||
|
|
|||
|
From Matthew Inger ([mailto:mattinger@mindless.com] mattinger@mindless.com):
|
|||
|
|
|||
|
Information on getting an Ensoniq PCI 128 card to work.
|
|||
|
|
|||
|
The problem that it was exhibiting was that it was trying to use interrupt 15
|
|||
|
by default (Plug and Pray was responsible for this one). This interrupt is
|
|||
|
used by the secondary ide controller, and cannot be shared by other devices.
|
|||
|
You need to somehow force the es1370 to use another interrupt (should use
|
|||
|
interrupt 11 like it does under windows).
|
|||
|
|
|||
|
I figured this one out for myself believe it or not.
|
|||
|
|
|||
|
What I had to do was:
|
|||
|
|
|||
|
a) in the BIOS, you have to tell the computer that you don't have a Plug and
|
|||
|
Play OS. I believe this is under advanced options in my BIOS.
|
|||
|
|
|||
|
b) in the PCI settings in the BIOS, tell the computer to reserve interrupt 15
|
|||
|
for legacy ISA devices. In my bios, under advanced options, there is a
|
|||
|
section for PCI settings. Under there, there is a Resource Exclusion area,
|
|||
|
and that's where to do this.
|
|||
|
|
|||
|
When you reboot into linux you will be able to use sound. (I don't remember
|
|||
|
if it shows up in the boot messages or not like it used to). To be safe, I
|
|||
|
ran sndconfig again so that it would play the test message, which sounded not
|
|||
|
great, but it was there. When I played a CD however, it sounded perfect.
|
|||
|
|
|||
|
Don't worry about windows, I tried both my cards: ISA Modem, and the Sound
|
|||
|
Card out, and they work without any hitches.
|
|||
|
|
|||
|
The odds are your BIOS will be different from mine, but you just have to
|
|||
|
figure out where the settings are for the above two items. Good luck.
|
|||
|
-----------------------------------------------------------------------------
|
|||
|
|
|||
|
6.38. Where can I get freely available MIDI patches to run SoftOSS?
|
|||
|
|
|||
|
SoftOSS is a software-based wavetable synthesizer included with the kernel
|
|||
|
sound driver that is compatible with the Gravis Utrasound card. To operate
|
|||
|
the driver needs GUS compatible MIDI patch files. The documentation mentions
|
|||
|
the "public domain MIDIA patchset available from several ftp sites". Note
|
|||
|
that SoftOSS is no longer included as of the 2.4 kernels.
|
|||
|
|
|||
|
As explained on the 4Front Technologies web page [http://www.opensound.com/
|
|||
|
softoss.html] http://www.opensound.com/softoss.html they can be downloaded
|
|||
|
from [ftp://archive.cs.umbc.edu/pub/midia/instruments.tar.gz] ftp://
|
|||
|
archive.cs.umbc.edu/pub/midia/instruments.tar.gz.
|
|||
|
-----------------------------------------------------------------------------
|
|||
|
|
|||
|
7. References
|
|||
|
|
|||
|
If you have a sound card that supports a CD-ROM or SCSI interface, the Linux
|
|||
|
[ftp://www.ibiblio.org/pub/Linux/docs/HOWTO/unmaintained/SCSI-HOWTO] SCSI
|
|||
|
HOWTO and the Linux [http://www.ibiblio.org/LDP/HOWTO/CDROM-HOWTO.html]
|
|||
|
CD-ROM HOWTO have additional information that may be useful to you.
|
|||
|
|
|||
|
The [http://www.ibiblio.org/LDP/HOWTO/Sound-Playing-HOWTO.html] Sound Playing
|
|||
|
HOWTO describes how to play various types of sound and music files under
|
|||
|
Linux.
|
|||
|
|
|||
|
The [http://www.ibiblio.org/LDP/HOWTO/mini/Soundblaster-AWE.html] Linux
|
|||
|
SoundBlaster AWE32/64 Mini-HOWTO describes how to get a SoundBlaster 32 or 64
|
|||
|
card working under Linux.
|
|||
|
|
|||
|
Programming information is available from the 4Front Technologies web site at
|
|||
|
[http://www.opensound.com/pguide] http://www.opensound.com/pguide.
|
|||
|
|
|||
|
The following FAQs are regularly posted to the Usenet newsgroup [news:
|
|||
|
news.announce] news.announce as well as being archived at [ftp://rtfm.mit.edu
|
|||
|
/pub/usenet/news.answers] ftp://rtfm.mit.edu/pub/usenet/news.answers:
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<EFBFBD><EFBFBD>*<2A>PCsoundcards/generic-faq (Generic PC Soundcard FAQ)
|
|||
|
|
|||
|
<EFBFBD><EFBFBD>*<2A>PCsoundcards/soundcard-faq (comp.sys.ibm.pc.soundcard FAQ)
|
|||
|
|
|||
|
<EFBFBD><EFBFBD>*<2A>PCsoundcards/gravis-ultrasound/faq (Gravis UltraSound FAQ)
|
|||
|
|
|||
|
<EFBFBD><EFBFBD>*<2A>audio-fmts/part1 (Audio file format descriptions)
|
|||
|
|
|||
|
<EFBFBD><EFBFBD>*<2A>audio-fmts/part2 (Audio file format descriptions)
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
The FAQs also list several product specific mailing lists and archive sites.
|
|||
|
The following Usenet news groups discuss sound and/or music related issues:
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<EFBFBD><EFBFBD>*<2A>[news:alt.binaries.sounds] alt.binaries.sounds.* (various groups for
|
|||
|
posting sound files)
|
|||
|
|
|||
|
<EFBFBD><EFBFBD>*<2A>[news:alt.binaries.multimedia] alt.binaries.multimedia (for posting
|
|||
|
Multimedia files)
|
|||
|
|
|||
|
<EFBFBD><EFBFBD>*<2A>[news:alt.sb.programmer] alt.sb.programmer (Soundblaster programming
|
|||
|
topics)
|
|||
|
|
|||
|
<EFBFBD><EFBFBD>*<2A>[news:comp.multimedia] comp.multimedia (Multimedia topics)
|
|||
|
|
|||
|
<EFBFBD><EFBFBD>*<2A>[news:comp.music] comp.music (Computer music theory and research)
|
|||
|
|
|||
|
<EFBFBD><EFBFBD>*<2A>[news:comp.sys.ibm.pc.soundcard] comp.sys.ibm.pc.soundcard.* (various IBM
|
|||
|
PC sound card groups)
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
A web site dedicated to multimedia can be found at [http://www.scala.com/
|
|||
|
multimedia/] http://www.scala.com/multimedia/. Another good site for Linux
|
|||
|
MIDI and sound applications is [http://sound.condorow.net/] http://
|
|||
|
sound.condorow.net/. Creative Labs has a web site at [http://www.creaf.com/]
|
|||
|
http://www.creaf.com/.
|
|||
|
|
|||
|
The Linux mailing list has a number of "channels" dedicated to different
|
|||
|
topics. To find out how to join, send a mail message with the word "help" as
|
|||
|
the message body to [mailto:majordomo@vger.kernel.org]
|
|||
|
majordomo@vger.kernel.org.
|
|||
|
|
|||
|
As mentioned several times before, the kernel sound driver includes a number
|
|||
|
of Readme files containing useful information about the sound card driver.
|
|||
|
These can typically be found in the directory /usr/src/linux/drivers/sound.
|
|||
|
|
|||
|
Information on OSS, the commercial sound driver for Linux and other Unix
|
|||
|
compatible operating systems, can be found at the 4Front Technologies web
|
|||
|
page at [http://www.opensound.com/] http://www.opensound.com/.
|
|||
|
|
|||
|
The Linux Software Map (LSM) is an invaluable reference for locating Linux
|
|||
|
software. The LSM home page is at [http://www.ExecPC.com/lsm/] http://
|
|||
|
www.ExecPC.com/lsm/. and there is an on-line browsable version at [http://
|
|||
|
www.boutell.com/lsm/] http://www.boutell.com/lsm/.
|
|||
|
|
|||
|
Another great site for finding Linux applications is [http://
|
|||
|
www.freshmeat.net/] http://www.freshmeat.net/.
|
|||
|
|
|||
|
The Linux Documentation Project has produced several books on Linux,
|
|||
|
including Linux Installation and Getting Started. These are freely available
|
|||
|
by anonymous FTP from major Linux archive sites or can be purchased in
|
|||
|
hardcopy format.
|
|||
|
|
|||
|
Finally, a shameless plug: If you want to learn a lot more about multimedia
|
|||
|
under Linux (especially CD-ROM and sound card applications and programming),
|
|||
|
check out my book Linux Multimedia Guide, ISBN 1-56592-219-0, published by
|
|||
|
O'Reilly and Associates. As well as the original English version, French and
|
|||
|
Japanese translations are now in print. For details, call 800-998-9938 in
|
|||
|
North America or check the web page [http://www.ora.com/catalog/multilinux/
|
|||
|
noframes.html] http://www.ora.com/catalog/multilinux/noframes.html.
|