Наши партнеры








Книги по Linux (с отзывами читателей)

Библиотека сайта rus-linux.net

ALSA FAQ 
8/28/99

Maintained by John Fulmer 
Links by Patrick Shirkey

--------------------------------------------------------------------------------

Introduction


"And while we don't have a Shy Pride Week, we do have many private moments when
we keep our thought to ourselves, such as 'Shy is nice,' 'Walk short,' 'Be
proud--shut up,' and 'Shy is beautiful, for the most part.' These are some that
I thought up myself. Perhaps other persons have some of their own, I don't
know."
        -Garrison Keillor, "Shy Rights, Why Not Pretty Soon?"



This is the official FAQ for the installation and usage of the Advanced Linux
Sound Architecture, or ALSA. ALSA is currently changing quickly and hopefully
this document can keep pace with it. To keep it as current as possible,
users/testers/developers are highly encouraged to e-mail changes,
clarifications, and gripes to the FAQ maintainer (me) listed at the top of this
file. Flames go to /dev/null.  


Most information contained here has been taken from the alsa-user and alsa-devel
mailing lists. Other information has been collected through e-mail from current
ALSA users or out of my own mis-adventures. 
 

This document may always be found at
http://www.alsa-project.org/~jfulmer/alsa-faq.html It will be updated twice a
month, and change notifications will be announced on the ALSA mailing lists.  


--------------------------------------------------------------------------------

Questions


"An Oya (pronounced "O-yah") converses by means of questions, if at all. His
opening remark might be "That's quite the deal, isn't it?" if his host is busy,
or "Not too busy today, huh?" if the host is relaxing. Next, he might well ask,
"What do you have in your hand there? A sharp stick?" for by this time the host
has realized that he is in for a long afternoon unless he takes stern measures.
He must at all costs drive the Oya off before he is asked, "What is the matter?
Why don't you like me?" "
        -Garrison Keillor, "Oya Life These Days"








-------------------------------------------------------------------------------- i. Administrivia i.2 Who do I thank? Everyone who has contributed to ALSA or this FAQ. Especial thanks to: Jaroslav Kysela <perex@suse.cz> Dan Hollis <goemon@sasami.anime.net> Brion Vibber <brion@gizmo.usc.edu> Frank van de Pol <frank@vande-pol.demon.nl> David Fries <dfries@mail.win.org> Christopher David <cdavid@umich.edu> Steve Ratcliffe <steve@parabola.demon.co.uk> Anders Semb Hermansen <ahermans@vf.telia.no> YoungLee <ymlee@core.kaist.ac.kr> Stan <skoci@teleweb.at> Dave Platt <dplatt@snulbug.mtview.ca.us> Thank you all! i.3 How can I make sure my stuff is seen by the FAQ maintainer Considering that I get several hundred e-mails a day from various mailing lists, it is possible that some things get past me. Here's a few suggestions in making sure that I see your e-mail -E-mail me directly, don't post to the list. I try to read the list every day, but I do have a day job. If I miss a day or two of the list, I tend to skim it, instead of reading every message. Direct e-mails are always read. -Put [FAQ] in the Subject of your e-mail. It REALLY helps. i.4 License The text and format of this document is released under the terms of the GNU General Public License V2, the terms of which are available HERE BACK TO TOP -------------------------------------------------------------------------------- ANSWERS -------------------------------------------------------------------------------- General/Development "In California, soon after her marriage to a prince (her first marriage, his seventh), a woman named Sharon Mittel was shut up in a dungeon under the provisions of that state's Cruel and Unnatural Parent Act, which allows the immediate imprisonment of a stepparent upon the complaint of a stepchild. The prince's oldest daughter accused Sharon of slapping her. She was later freed after an appeal to a king, but she now faces a long series of tests to prove her innocence, such as finding a tree of pure gold and a seedless grapefruit. She also must answer some riddles." -Garrison Keillor, "My Stepmother, Myself" 1.1 What does ALSA stand for? 'ALSA' stands for the "Advanced Linux Sound Architecture". 1.2 Who is writing ALSA? ALSA has been written by Jaroslav Kysela <perex@suse.cz> over the last two years, with volunteer programmers providing design ideas, driver modules, source, and patches. The full list of contributors to the ALSA project and what they have done may be found at http://www.alsa-project.org/contrib.html. Thank you all very much! Jaroslav currently works for S.U.S.E. (http://www.suse.de, or http://www.suse.com for the non German speaking), a German Linux distribution company, where he works on ALSA and other Linux related projects. 1.3 What are the goals for ALSA? ALSA has the following goals: -Create a fully GPL and LGPL'ed sound driver system for Linux. -Create a fully modularized sound driver. -Maintain backwards compatibility with most OSS applications. -Create the ALSA Manager, an interactive configuration program for the driver. -Create the ALSA Library (C, C++), which simplifies ALSA application development. In addition, ALSA will also feature: -Full Duplex playback/recording, for all hardware that supports it. -Hardware mixing of multiple audio streams, for hardware that supports it. -Professional quality MIDI sequencing subsystem. -Extensive mixer capabilities, to support advanced features of new soundcards. -Patch handling system, for wavetable soundcards. -Able to support ISA PnP soundcards without external PnP config program. -Support for multiple soundcards in same system. -All included drivers are open source in the ALSA package, although vendors may provide binary only drivers. BACK TO TOP 1.4 What is the latest version of ALSA? Latest released version is 0.4.1. This version requires Linux kernel 2.2.3+ Linux 2.0.x kernels are no longer supported. This said, most of the real action goes on in the daily CVS updates. Newer features and bugfixes show up in the CVS long before the official point-release tarballs, and the CVS versions tend to be very usable. See 2.5 below for information on how to get CVS snapshots of ALSA. 1.5 What is the current status of ALSA? Feature Feature Status Devel Status ALSA PCM audio Working Development ALSA Mixer Working Finished OSS PCM audio Working Finished OSS Mixer Working Finished ALSA Raw MIDI Working Development OSS Raw MIDI Working Development ALSA Internal Synth Partial Development OSS Internal Synth Partial Development 4 Speaker Support Working Development Full Duplex Working Finished Hardware Mixing Partial Development Patch Management Not Working Planned 3D positioning support Not Working Planned Feature Status: -Working - Feature is fully implemented for most cards that support it. -Partial - Feature is implemented for only a few cards that support it. -Not Working - Feature is not-implemented or broken. Development Status: -Finished - Feature is fully implemented for all supported cards, and design should not change for ALSA 1.0 -Development - Feature is mostly designed and implemented for at least one card. Design and API details may change before ALSA 1.0 -Planned - Feature will be designed and implemented for ALSA 1.0 The native ALSA PCM interface is about to undergo some major changes for ALSA .5. The proposed changes may be found at HERE BACK TO TOP 1.6 What is OSS/Free? OSS/Free is the name of the default sound driver system found in almost all Linux kernels since the 1.0 days. It started as the "Voxware"/"Sound-Driver-Without-A-Name" Linux drivers, which were originally written by Hannu Savolainen. It was later developed commercially by 4Front Technologies (http://www.4front-tech.com) and renamed to OSS. OSS has since been ported to many other Unices, and supports many more soundcards than the original driver. 4Front provided a stripped down version for the Linux 2.0 kernel which was named OSS/Free. Since then, much of the OSS/Free support and bugfixes have been provided by Alan Cox, partially through funding by Red Hat software. 1.7 Why should I use ALSA/What is the matter with the OSS/Free? Nothing at all is the matter with OSS/Free, but it does have some limitations: -Generally hard to configure, although some distributions have tried to create an easy to use front end. -No native PnP support. -Slow to support new soundcards. -OSS programming API is very simple and limited. No API libraries. -Primitive or no MIDI support for most soundcards. -Little or no full duplex support. -No hardware mixing support. -OSS/Free is not currently supported or under development by any working groups, although 4Front occasionally contributes code back to it. In many ways, OSS/Free is a 'teaser' to encourage people to buy OSS from 4Front, which is reported to be much easier to set up, and includes support for many cards that OSS/Free does not. ALSA is an attempt to go beyond the simple interfaces that OSS provides, and to do so in an open source fashion. It will also provide a professional quality system for recording, playback, and MIDI sequencing. 1.7.1 I read that ALSA considers OSS obsolete, and this is reflected in ALSA's documentation. Is this true? Not at all. The issue brought up was two lines in asound.h that said: /* * Obsolete interface compatible with Open Sound System API */ This was not a slap at OSS, but rather a reflection that this is an obsolete interface for ALSA, which has it's own native interface. It was not a commentary on OSS itself. However, for the sake of fairness and to keep the misunderstandings to a minimum, the word 'obsolete' was removed from asound.h. 1.8 What vendors are actively supporting ALSA? -->Note, this list is very incomplete<-- S.U.S.E Hired Jaroslav,supporting ALSA financially. TridentMicro Driver source,hardware, specs, promotes ALSA on home page. ForteMedia Specs,hardware. Cirrus Logic Specs, help with development, hardware. The above vendors are to be commended and supported by the ALSA community. BACK TO TOP 1.9 What manufacturer's cards/systems are currently supported? -->Note, this list is very incomplete, Please send working manufacturer and model information to jfulmer@appin.org<-- This is a list of manufacturer's cards/systems known to work with the current major release of ALSA: To see the official list click HERE 1.10 What cards will NOT be supported by ALSA? Why not? Creative Sound Blaster Live! Aureal Vortex RME DIGI (Except DIGI 9652) Yamaha SW1000xg Yamaha YMF744B Yamaha YMF724 Creative Vibra 16X TerraTec Xlerate + DMX (Aurreal Vortex) ESS Maestro1/2 Some manufacturers view the programming specifications for their hardware as a trade secret and will only supply information if a developer signs a NDA (non-disclosure agreement), which says that a developer will not tell or disclose the specifications to anyone. Source code inherently discloses these specifications and therefore cannot be released to the general public. This is not acceptable to the developers of ALSA or to the spirit of the GPL, so drivers may not be developed for these cards as part of the ALSA project. Some of these vendors (specifically Creative Labs) or others may provide a binary-only module for their card for ALSA, but these modules will not be distributed by ALSA or SUPPORTED BY THE ALSA DEVELOPERS. More information may be found at the ALSA black-list page 1.11 Where can I get more information about ALSA? There are a couple very good sources of information about ALSA. The primary source is ALSA's home page, http://www.alsa-project.org. There is also a Japanese-only page at http://plaza22.mbn.or.jp/%7Emomokuri/alsa/. Also, there are two mailing lists supporting the ALSA project. These are: alsa-devel@alsa-project.org Mailing list for ALSA developers. To subscribe (if you want do some work on the driver or library) send message to alsa-devel-request@alsa-project.org with the body 'subscribe <email_address>'. alsa-user@alsa-project.org Mailing list for ALSA users. To subscribe (if you need some help with the ALSA driver/library) send message to alsa-user-request@alsa-project.org with the body 'subscribe <email_address>'. BACK TO TOP 1.12 Why is there no good documentation for ALSA? Actually, there is some very good documentation, depending on what you want. If you want to set up ALSA and use it, check out the ALSA MINI HOWTO This, along with the INSTALL document that comes with the driver source, should tell you everything you need to know to set up ALSA. If you are looking for programming information, it gets at little harder. There is some documentation HERE but it is badly outdated. Stephan 'Jumpy' Bartels <jumpy@furry.de> has started a driver module documentation project for the .4 driver series. It is intended to provide guidelines and example code for developing driver modules for new soundcards. His work can be found HERE Also bear in mind that ALSA is a work in progress. Things are changing very rapidly at this time in the project and it is hard to keep up. As ALSA approaches 1.0, there will be official documentation to the driver, both for users and developers. 1.13 How can I contribute? What do I need to know? -People to do ALSA programming, a) module/soundcard programming (i.e. add new soundcards) b) MIDI c) high-level soundcard programming - already done d) work on mixers and other basic application -People to port existing applications to ALSA. -People to document "How to write an ALSA driver" -People to document the ALSA library -Driver testers and bug hunters. Contact Jaroslav (perex@suse.cz) if you want to help, or ask on the development mailing list. BACK TO TOP 1.14 What's the "best" card for ALSA? The developers of ALSA try to stay away from recommending one card or another. However, it is generally accepted that most PCI cards currently provide better quality (S/N ratio) than most ISA based cards. Other features that are good to look for include: -High Signal to Noise ratio (S/N). 85+db is considered good for most purposes -3D effects. -Onboard MIDI polyphony synth. 64 channels is the norm these days. -Surround sound support (4 speaker). Please note that no cards are currently well support for play MIDI via an onboard synth. Finally, vendors who support ALSA by providing specs, source, or hardware are should be commended ...and supported by ALSA's users (hint, hint!). See question 1.8 1.15 Will ALSA be part of the Linux kernel? Current plans are to submit ALSA to become part of the official kernel tree, but this may not happen until the Linux 2.5 development cycle. This is due to the recent feature freeze announcement by Linus Torvalds, the short development cycle for Linux 2.4, and the current development changes in ALSA. Linus has expressed that he wants all development for core linux drivers to be done in the context of the kernel tree, which may be too slow for this stage of ALSA's development. However, nothing has been officially decided. Additionally, ALSA should become the official sound driver of the S.U.S.E. Linux distribution. Hopefully other Linux vendors will follow. 1.16 How do I report bugs? ALSA now has a handy bug reporting system available HERE You should report any problem that you think may be caused by a bug in the ALSA drivers. Common things that would identify potential bugs include: -Sudden sound problems on an existing ALSA installation. -Problems with OSS apps that work fine under OSS. -Problems compiling ALSA. -Problems after updating to a newer ALSA version. -Installation problems, if you have read the INSTALL document, and are -sure that everything is properly configured. -Sound stuttering or other poor performance issues. When reporting bugs, please make sure you are using a current point release or a recent CVS version. Versions older than 0.4.1 are no longer supported. If you are only having problems installing ALSA or aren't sure if your problem is a bug, please try the mailing lists. 1.17 What sample rates, number of voices, and sample resolutions can ALSA support? From Jaroslav Kysela <perex@suse.cz>: "ALSA is able to drive this hardware: -Rate limit - 32 bit integer -Voices limit - 32 bit integer -Formats [resolution] - up to 32 bit linear or 64 bit float samples" Unfortunately, ALSA currently doesn't support any DSP or PCM devices that can take advantage of higher resolutions or sample rates. BACK TO TOP -------------------------------------------------------------------------------- Installation "Yes, many people don't have the sense that God gave geese. They just don't have both oars in the water. Millions of manhours are spent worrying about the one chance in six hundred billion that immense man-made objects will fall from the sky and cream you; meanwhile, thousands of people wander off every year and get lost in deserted areas. " -Garrison Keillor, "Be Careful" 2.1 How do I install ALSA This question is far too big for just a FAQ. Check out the 'INSTALL' file that comes with the alsa-driver package, or the ALSA MINI-HOWTO If you still have problems, ask on the mailing list. (Refer to Q 1.12) 2.2 Does ALSA support kernel 2.X.X? Support for 2.0.x kernels was removed as of .4. If you must use a 2.0 kernel, use version .3.x or before of the ALSA driver. The ALSA supports kernels 2.2.3 and above, with the 2.3 kernels being somewhat experimental. 2.3 Does ALSA work with kernels compiled with SMP support Yes. The 'configure' script detects if your kernel is compiled for SMP operation, and compiles the driver accordingly. 2.4 Does ALSA support ISA PnP cards? ALSA can configure ISA PnP cards itself, without need of using isapnp and friends. ALSA needs to be configured with --with-isapnp=yes for isapnp support. Read the INSTALL document for more information. BACK TO TOP 2.5 Where can I download ALSA? The ALSA point-release tarballs may be downloaded from the following places: Primary site (CZ): ftp://ftp.alsa-project.org/pub/ http://www.alsa-project.org/alsa/ftp/ US Mirrors ftp://ftp.silug.org/pub/alsa ftp://ftp.eecs.umich.edu/pub/linux/alsa http://bigfoot.eecs.umich.edu/pub/linux/alsa/ Europe Mirrors ftp://linux.a2000.nl/alsa ftp://ftp.tu-clausthal.de/pub/linux/alsa ftp://ftp.phacka.sk/pub/alsa http://www.phacka.sk/pub/alsa Australia Mirror ftp://ftp.suburbia.com.au/pub/alsa There are three major packages, each in their own subdirectory: alsa-driver alsa-lib alsa-util You should install all three packages. 2.6 Where can I get current development versions of ALSA. CVS and Rsync access are available. Check out HERE for more information Daily CVS snapshots are available at ftp://ftp.alsa-project.org/cvsexport. BACK TO TOP 2.7 When I try to compile ALSA, I get an error. What's wrong? <INCOMPLETE. This could have many causes. Will add as they come up> -Read the 'INSTALL' document that is in the alsa-driver tarball. It contains many suggestions and requirements that ALSA needs to compile. -If you get something similar to the following: <SNIP!> ./configure: syntax error near unexpected token 'AM_INIT_AUTOMAKE(alsa,' ./configure: ./configure: line 525: 'AM_INIT_AUTOMAKE(alsa-lib, 0.3.0.pre5)' <SNIP!> then you probably have a RedHat installation that didn't install automake and/or libtool. Make sure to install the automake and libtool packages. Check your RedHat CD or a RedHat mirror for these packages. -If you are using CVS, try deleting your entire CVS tree, and checking out a new copy of the entire tree. Old CVS files hanging around have been known to cause problems. 2.8 ALSA seems to load fine, but I get no/choppy sound. What's wrong? -ALSA by default mutes all outputs. You must unmute at least the Main volume and the PCM volume to get basic sound. The following amixer commands should unmute the appropriate mixers: amixer set Master on amixer set PCM on amixer set Master 75% amixer set PCM 75% Check Q3.5 below for more information on how to do this automatically. -You have an ISA card and used poor settings for IOPORT, IRQ, and/or DMA. Check your settings man make sure they match the card. If you are using an ISA PnP card, try setting the IRQ and/or DMA channels to known free values. If you also have Win95/Win988 installed on the same system with working sound, you can check the soundcard settings under Control Panel/System. See the INSTALL document for more details. -Make sure to use the last point release (0.4) or the latest CVS version. -Some DOS drivers set certain cards into an unusable state for ALSA and may require a clean boot into Linux. BACK TO TOP 2.9 Where can I look to get more information about my installed ALSA drivers? ALSA creates entries in the /proc filesystem under /proc/asound. 2.10 I read that I can use "--with-cards=" configure switch to compile drivers just for my soundcard. Should I do this? The '--with-cards=' switch to configure is meant to allow compilation of just the drivers for a particular sound card. While it should be working at this moment, '--with-cards-' does break frequently during the development process. It is recommended that you not use this switch, unless you know what you are doing, have the current driver working, and are helping to debug. If you decide to try --with-cards and it breaks send comment to alsa-devel list with: - The exact --with-cards option - Output of "depmod -ae" 2.11 Any idea, why my XXX soundcard with XXXX can't be detected? Ville Syrjala <villes@syrjala.pp.sci.fi> writes: Did you use the snd-card-X (in your case snd-card-fm801) module? A common mistake is to use the snd-X (in your case snd-fm801) module which is for the chipset not the whole card. 2.12 With the S3 SonicVibes, I get zero elements in the mixer. Everything seems to play but I just don't hear it. The mixer for the S3 SonicVibes has been fixed as of ALSA .4.0. 2.13 I currently have 2 sound cards, 1 PnP ISA card and 1 non-PnP ISA card. ALSA only seems to detect one of the cards. You must force the driver to look for a ISA non-PnP card with this configuration. In your /etc/conf.modules: options snd-card-NONPNPCHIPSET snd_isapnp=1,0 BACK TO TOP 2.14 How do I uninstall ALSA? Under Redhat, and probably other distributions, kernel modules for ALSA are installed under /lib/modules/kernel.version.number/misc. If you were running a 2.1.10 kernel, the modules would be under /lib/modules/2.1.10/misc. In this directory, delete the following files isapnp.o persist.o snd* Also remove: /usr/sbin/alsactl /usr/bin/amixer /usr/bin/xamixer2 /usr/bin/aplay /usr/bin/arecord /usr/bin/alsamixer /usr/lib/libasound* That's not quite all of them, but most of the important ones. 2.15 Why won't my ES1373-based soundcard initialize? Dave Platt <dplatt@snulbug.mtview.ca.us> reports: "I had quite a few conversations via email with David Sowa at Ensoniq, ran a boatload of tests, found that the card worked fine in a different system, swapped cards, and finally learned the answer. Turns out that there's a hardware bug in one batch of one vendor's codecs, which causes them to lock up if the PCI reset-line timing is just so. The ALI chipset in my ASUS motherboard tickled the bug, while the Intel chipset in my test system at work did not." 2.16 Why when installing ALSA 0.4, do I get an error mentioning 'isapnp'? Makefile.conf.in in alsa-driver is broken. You can get a new one at ftp://ftp.alsa-project.org/pub/driver/Makefile.conf.in BACK TO TOP -------------------------------------------------------------------------------- Using ALSA "...Or about the dwarves. All I can say is that they should have been named Dopey, Sleepy, Slimy, Sleazy, Dirty, Disgusting, and Sexist. The fact is that I KNEW the apple was poisoned. For me, it was the only way out." -Garrison Keillor, "My Stepmother, Myself" 3.1 What programs come with the ALSA package? Currently, the following utilities are installed by alsa-utils: aplay Simple, native command-line PCM (wav,au,raw,voc) player. arecord Simple, native command-line PCM recorder. amixer Native command-line mixer app. alsamixer Native, curses-based mixer app. (Currently Broken!) xamixer2 Native, X windows mixer app. alsactl Saves/restores mixer settings to/from /etc/asound.conf gamix Native, GTK mixer app. 3.2 What apps have native ALSA support? For the current list click HERE BACK TO TOP 3.3 What OSS programs work well with ALSA? Almost ALL existing OSS programs work well with ALSA . Only a few programs have incompatibility problems (listed below) or need features not currently supported by ALSA, like internal synth support. In general, if it's not listed below or a MIDI app, it should work fine. 3.4 What OSS programs have problems with ALSA? -Multitrack 2.3 -Real Player G2 Alpha test for Linux reportedly has problems with some newer ALSA CVS builds. Recent Real Player G2 Beta works fine. -Quake, Quakeworld, Quake2, and Quake3 test all require mmap() support. ALSA provides mmap() for cards that support it, but not all cards can handle mmap(). This is a design decision by ID software and cannot be fixed. 3.5 How can I automatically set ALSA's mixer when the drivers load? If you are using Linux's module autoloader, a way to do this is to use alsactl and the 'post-install' mechanism of the /etc/conf.modules file. Set the mixer settings where you want them using amixer or xamixer2. Make sure to un-mute the 'Master' channel and the 'PCM' channel. Type "alsactl store" to create the /etc/asound.conf file. Add the following to /etc/conf.modules <SNIP!> post-install snd-mixer /usr/sbin/alsactl restore <SNIP!> Now, when the ALSA driver modules load, the mixer settings are set immediately afterward. To change the default mixer settings, simply set them as you like with xamixer2 or another mixer application, and do another "alsactl store". BACK TO TOP 3.6 How can I get Multitrack 2.x to work with ALSA? Multitrack 2.2 has a bug in how it creates its initial config file. From the Multitrack FAQ: <SNIP!> Q. (I get the error) MultiTrack: sem_set() failed : Math result not representable A. This is an error message caused by a small bug in MultiTrack version 2.2. Just edit in the prefs file in the $(HOME)/.multitrack directory the following two lines: o_nr_buffers = 0 i_nr_buffers = 0 Change these two lines to: o_nr_buffers = 10 i_nr_buffers = 10 <SNIP!> Multitrack also depends on /dev/sndstat for operation. (See 3.7) 3.7 Is /dev/sndstat supported by ALSA? In the Linux 2.2.x kernel, /dev/sndstat is not accessible by ALSA directly. However, in /proc/asound there is a OSS compatible sndstat file. To allow OSS applications to use this sndstat file: rm /dev/sndstat ln -s /proc/asound/sndstat /dev/sndstat 3.8 Why does xamixer2 report errors? xamixer2 reports errors similar to this: Unable to read element Master Mono! Error: Input/output error. Unable to read element Headphone! Error: Input/output error. Unable to read element Master! Error: Input/output error. This is a cosmetic bug and may be ignored. BACK TO TOP 3.9 What is 'Hardware Mixing' and does ALSA support it? "Hardware mixing" is a feature that some soundcards support that allows the card to receive multiple audio streams and play them all at the same time. This is done entirely in hardware, and does not adversely affect system performance. ALSA supports hardware mixing for a few cards, particularly the Trident 4DWave, in the current CVS. 3.10 Does ALSA support 'Software Mixing'? Software mixing is not currently done by ALSA, and will probably never be done by the driver itself. The ALSA developers may support a mixing daemon that may be accessed via the ALSA API library, but nothing is planned at this time. 3.11 Why doesn't ALSA just use ESounD for software mixing? ESounD works with ALSA's OSS emulation as is. However, there are a couple of reasons why ALSA will not adopt ESounD as the 'official' ALSA software mixer: -The author of ESounD has apparently 'disappeared from the face of the earth' -ESounD does not natively support ALSA. -Many people have questioned the quality of ESounD's mixing. -Many people have looked at ESounD for inclusion in other projects and stated that it is pretty difficult to modify . For example, the Gnome team has stated its intention to write a new ESounD replacement, rather than deal with the existing code. -It has not been decided if ALSA will ever 'officially' support a software sound mixer as a part of the ALSA project. 3.12 What is Full Duplex support? Full Duplex is a feature that allows a soundcard to play and record at the same time. This is particularly important for computer telephony applications, and for 'laying down tracks' in a recording environment. 3.13 Does ALSA support Full Duplex? ALSA supports full duplex on all hardware that supports full duplex. BACK TO TOP 3.14 What is the status of MIDI music under ALSA? A note from Jaroslav, about MIDI development(6/30/99): "Under heavy development :-) We need probably one or two months to finish it." One of ALSA's under-construction features is an elegant and professional quality sequencer subsystem. It is being designed by Frank van der Pol frank@vande-pol.demon.nl and the specification may be viewed at http://www.vande-pol.demon.nl/alsa/ Much of the basic sequencer is implemented and works for most raw MPU-401 MIDI interfaces. The only onboard synth currently working is the EMU-8000 synth on Creative AWE cards. For those are impatient, Timidity++ is a software-based MIDI synth that works quite well with ALSA. It may be found at: Timidity 3.15 Why does it say TODO? (alsamixer) Is there no support for cs soundcards yet? Alsamixer was broken between 0.3.0pre4 and 0.3.1 by API changes to the mixer. It says this for all soundcards at this time. 3.16 Why doesn't my OSS mixer module load or OSS mixer work? You may have the BTTV or other Video for Linux driver loaded or compiled in the kernel. These drivers hook the OSS mixer and do not allow ALSA's OSS mixer module to work correctly. Hopefully, these drivers will be modified to fix this situation. BACK TO TOP 3.17 How do I use amixer? Amixer is the 800 pound gorilla of command line mixer apps. ALSA has a very intricate and complex mixer, and amixer reflects this. However, amixer isn't THAT bad for simple functions like unmuting and setting volumes on different channels. For unmuting and setting the volume of the Master and PCM channels to 75%, you would use the following commands: amixer set Master on amixer set PCM on amixer set Master 75% amixer set PCM 75% These commands may also be combined: amixer set Master 75% on amixer set PCM 75% on 'amixer -h' gives a good overview of the simple commands available in amixer. 3.18 How can I use an external MIDI keyboard to play piano on an internal synth with ALSA? Steve Ratcliffe <steve@parabola.demon.co.uk>: "You can use the midi-thru utility written by Andreas Voss posted to the list on Jul 06. (I can send you it -- it is really small) Use this to echo from the midi input port 64:0 to one of the synth ports 65:0. alsathru -s 64:0 -t 65:0 Alternatively you can use the command dd if=/proc/asound/0/patch0 bs=2 count=1 which will connect the ports together without the need for a program. This method is temporary and not guaranteed to work in the future though, and you will not be able to unload the sound drivers without issuing the same command with bs=3 instead of bs=2 first." The 'midi-thru' utility may be found at HERE BACK TO TOP 3.19 The documentation for Quake (1)(2)(3 Test) says that I must have a soundcard and driver that supports mmap. Does ALSA support mmap? ALSA's OSS emulation supports mmap() when possible. Some older cards, do not support mmap, due to hardware limitations. Two notes from Jaroslav: "Notes: 1) mmap() for the GUS synthesizer playback is ugly (GUS Classic) 2) mmap() for PCI chips from Cirrus Logic (snd-card-cs461x) is not implemented" 3.20 How do I enable the S/PDIF outputs on my Trident 4Dwave card? Yuqing Deng <Yuqing_Deng@Brown.Edu> writes: Here's how I enabled spdif output on my hoontech Trident 4DWave NX card with alsa 0.4.0 driver. First I did: # alsactl store This extracted the configuration to /etc/asound.conf. Here's an except of /etc/asound.conf: ------ snip ----- soundcard("card1") { mixer("SigmaTel STAC9708") { ; The type is 'bool'. switch("AC97 PCM Output Path", false) ; The type is 'bool'. switch("Simulated Stereo Enhancement", false) ; The type is 'bool'. switch("Loudness (bass boost)", false) ; The type is 'bool'. switch("AC97 Mono Output Select", false) ; The type is 'bool'. switch("AC97 Second MIC", false) ; The type is 'bool'. switch("ADC/DAC Loopback", false) ; The type is 'bool'. switch("S/PDIF Mixer Out", false) element("Input Gain Switch",0,101,Switch2(off)) ; Voice 0 : Min 0 Max 15 ; Voice 1 : Min 0 Max 15 ---- snip ----- Notice the S/PDIF switch is off. I changed the false to true: switch("S/PDIF Mixer Out", true) Then run #alsactl restore You'll see the red light shining from the optical S/PDIF output if you have one. BACK TO TOP