个人工具

“UbuntuHelp:DebuggingSoundProblemsMisc”的版本间的差异

来自Ubuntu中文

跳转至: 导航, 搜索
(新页面: {{From|https://help.ubuntu.com/community/DebuggingSoundProblemsMisc}} {{Languages|UbuntuHelp:DebuggingSoundProblemsMisc}} This wiki tries to capture some of the sound issue corner cases. ...)
 
第2行: 第2行:
 
{{Languages|UbuntuHelp:DebuggingSoundProblemsMisc}}
 
{{Languages|UbuntuHelp:DebuggingSoundProblemsMisc}}
 
This wiki tries to capture some of the sound issue corner cases.  For general information regarding debugging sound issues, please refer to:
 
This wiki tries to capture some of the sound issue corner cases.  For general information regarding debugging sound issues, please refer to:
 
 
https://help.ubuntu.com/community/DebuggingSoundProblems
 
https://help.ubuntu.com/community/DebuggingSoundProblems
 
 
=== Compatibility ===
 
=== Compatibility ===
 
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. [1]
 
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. [1]
 
 
=== Manual installation of sound drivers ===
 
=== Manual installation of sound drivers ===
 
Now figure out which module you need go to [http://www.alsa-project.org/main/index.php/Matrix:Main Sound Drivers] and pick the manufacturer.  With the information provided by previous commands it should be easy to find the right module.
 
Now figure out which module you need go to [http://www.alsa-project.org/main/index.php/Matrix:Main Sound Drivers] and pick the manufacturer.  With the information provided by previous commands it should be easy to find the right module.
 
 
To see if this module is available on your system (it usually is) try the following command:
 
To see if this module is available on your system (it usually is) try the following command:
 
<pre><nowiki> $ modinfo [modulename]
 
<pre><nowiki> $ modinfo [modulename]
第16行: 第12行:
 
This will also list the possible parameters for the module. For example some ISA cards require you to pass isapnp=0 to modprobe.  
 
This will also list the possible parameters for the module. For example some ISA cards require you to pass isapnp=0 to modprobe.  
 
It may also require the IRQ and IO of the card if that's the case, these can be found in the output of the aadebug script.
 
It may also require the IRQ and IO of the card if that's the case, these can be found in the output of the aadebug script.
 
 
Now that you've figured out all this information, lets try loading the module
 
Now that you've figured out all this information, lets try loading the module
 
<pre><nowiki> #modprobe example
 
<pre><nowiki> #modprobe example
 
$ sudo modprobe snd_es18xx isapnp=0 port=0x220 mpu_port=0x330 dma1=1 dma2=5 irq=5 fm_port=0x388
 
$ sudo modprobe snd_es18xx isapnp=0 port=0x220 mpu_port=0x330 dma1=1 dma2=5 irq=5 fm_port=0x388
 
</nowiki></pre>
 
</nowiki></pre>
 
 
If this doesn't return any errors, we can save the parameters.
 
If this doesn't return any errors, we can save the parameters.
 
<pre><nowiki> $ echo options [module-name] [module-options] | sudo tee /etc/modprobe.d/[module-name]
 
<pre><nowiki> $ echo options [module-name] [module-options] | sudo tee /etc/modprobe.d/[module-name]
 
</nowiki></pre>
 
</nowiki></pre>
 
 
Now we can test our setup
 
Now we can test our setup
 
<pre><nowiki> #aplay should now list your sound card
 
<pre><nowiki> #aplay should now list your sound card
第36行: 第29行:
 
$ /usr/bin/speaker-test   
 
$ /usr/bin/speaker-test   
 
</nowiki></pre>
 
</nowiki></pre>
 
 
== Other problems & troubleshooting ==
 
== Other problems & troubleshooting ==
 
=== PulseAudio ===
 
=== PulseAudio ===
第43行: 第35行:
 
If you have issues with Flash playback and sound, see [https://help.ubuntu.com/community/RestrictedFormats/Flash#head-f036b17c3150dd72f58d952a0e13094568c9f92e Restricted Formats - Troubleshooting].
 
If you have issues with Flash playback and sound, see [https://help.ubuntu.com/community/RestrictedFormats/Flash#head-f036b17c3150dd72f58d952a0e13094568c9f92e Restricted Formats - Troubleshooting].
 
=== Software Mixing ===
 
=== Software Mixing ===
 
 
A much better way of getting esd to work with non-esd-aware apps is to make alsa use its software mixer.
 
A much better way of getting esd to work with non-esd-aware apps is to make alsa use its software mixer.
 
 
<pre><nowiki> sudo /etc/init.d/alsa-utils stop
 
<pre><nowiki> sudo /etc/init.d/alsa-utils stop
 
</nowiki></pre>
 
</nowiki></pre>
第55行: 第45行:
 
# /var/lib/alsa/asound.state.  You only need to add
 
# /var/lib/alsa/asound.state.  You only need to add
 
# it once -- it is saved across reboots.
 
# it once -- it is saved across reboots.
 
 
pcm.asymed {
 
pcm.asymed {
 
type asym
 
type asym
第95行: 第84行:
 
<pre><nowiki> sudo /etc/init.d/alsa-utils start
 
<pre><nowiki> sudo /etc/init.d/alsa-utils start
 
</nowiki></pre>
 
</nowiki></pre>
 
 
 
Now as many programs as you want can all use the sound card simultaneously, both the output and the microphone!  ESD-aware apps can use ESD, other apps will still work fine.
 
Now as many programs as you want can all use the sound card simultaneously, both the output and the microphone!  ESD-aware apps can use ESD, other apps will still work fine.
 
 
One notable misfeature of ESD is that it often ruins the A/V sync when playing videos.  After setting up the software mixer, you might find it useful to turn esd off altogether (in tthe Sound control panel uncheck "Enable Software Mixing").  Now, especially with GStreamer 0.10, your movies should have perfect A/V sync.
 
One notable misfeature of ESD is that it often ruins the A/V sync when playing videos.  After setting up the software mixer, you might find it useful to turn esd off altogether (in tthe Sound control panel uncheck "Enable Software Mixing").  Now, especially with GStreamer 0.10, your movies should have perfect A/V sync.
 
 
It's a shame that software mixing isn't enabled on Ubuntu by default.
 
It's a shame that software mixing isn't enabled on Ubuntu by default.
 
 
=== More on Software Mixing ===
 
=== More on Software Mixing ===
 
 
A problem is the default config is OSS doesn't let 2 apps make sound at the same time.  Here is a report of how it was dealt with:  Basically get esd to relinquish control of the sound when its not in use.  Then add mixing for oss so you can use multiple oss programs at once, like Quake3 and Teamspeak, or in my case, Wolfenstein and Teamspeak
 
A problem is the default config is OSS doesn't let 2 apps make sound at the same time.  Here is a report of how it was dealt with:  Basically get esd to relinquish control of the sound when its not in use.  Then add mixing for oss so you can use multiple oss programs at once, like Quake3 and Teamspeak, or in my case, Wolfenstein and Teamspeak
 
 
First use section 3 here: [https://help.ubuntu.com/community/RestrictedFormats Restricted Formats] then do this: http://alsa.opensrc.org/index.php?page=DmixPlugin
 
First use section 3 here: [https://help.ubuntu.com/community/RestrictedFormats Restricted Formats] then do this: http://alsa.opensrc.org/index.php?page=DmixPlugin
 
 
 
== References ==
 
== References ==
 
 
[1] http://www.tldp.org/HOWTO/Sound-HOWTO/x96.html#AEN120
 
[1] http://www.tldp.org/HOWTO/Sound-HOWTO/x96.html#AEN120
  
 
[[category:UbuntuHelp]]
 
[[category:UbuntuHelp]]

2007年11月30日 (五) 16:41的版本

This wiki tries to capture some of the sound issue corner cases. For general information regarding debugging sound issues, please refer to: https://help.ubuntu.com/community/DebuggingSoundProblems

Compatibility

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. [1]

Manual installation of sound drivers

Now figure out which module you need go to Sound Drivers and pick the manufacturer. With the information provided by previous commands it should be easy to find the right module. To see if this module is available on your system (it usually is) try the following command:

 $ modinfo [modulename]

This will also list the possible parameters for the module. For example some ISA cards require you to pass isapnp=0 to modprobe. It may also require the IRQ and IO of the card if that's the case, these can be found in the output of the aadebug script. Now that you've figured out all this information, lets try loading the module

 #modprobe example
$ sudo modprobe snd_es18xx isapnp=0 port=0x220 mpu_port=0x330 dma1=1 dma2=5 irq=5 fm_port=0x388

If this doesn't return any errors, we can save the parameters.

 $ echo options [module-name] [module-options] | sudo tee /etc/modprobe.d/[module-name]

Now we can test our setup

 #aplay should now list your sound card
root@ubuntu:/etc # aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: ES1878 [ESS AudioDrive ES1878], device 0: ES1878 [ESS AudioDrive ES1878]
Subdevices: 1/1
Subdevice #0: subdevice #0
#the speaker should beep
$ /usr/bin/speaker-test  

Other problems & troubleshooting

PulseAudio

The recommended method is to use the pulseaudio daemon (esd replacement) and to leave/set applications to use ESounD output. See the Sound section in /usr/share/doc/mozilla-firefox/README.Debian

Flash

If you have issues with Flash playback and sound, see Restricted Formats - Troubleshooting.

Software Mixing

A much better way of getting esd to work with non-esd-aware apps is to make alsa use its software mixer.

 sudo /etc/init.d/alsa-utils stop

Then edit

 /var/lib/alsa/asound.state

and add the following text verbatim to the start of this file

 # This text should be added to the beginning of
# /var/lib/alsa/asound.state.  You only need to add
# it once -- it is saved across reboots.
pcm.asymed {
type asym
playback.pcm dmix
capture.pcm dsnoop
}
pcm.default {
type plug
slave.pcm asymed
}
pcm.dmix {
type dmix
ipc_key 5678293
ipc_key_add_uid yes
slave {
pcm 'hw:0,0'
period_time 0
period_size 128
buffer_size 2048
format S16_LE
rate 48000
}
}
pcm.dsnoop {
type dsnoop
ipc_key 5778293
ipc_key_add_uid yes
slave {
pcm 'hw:0,0'
period_time 0
period_size 128
buffer_size 2048
format S16_LE
rate 48000
}
}

then

 sudo /etc/init.d/alsa-utils start

Now as many programs as you want can all use the sound card simultaneously, both the output and the microphone! ESD-aware apps can use ESD, other apps will still work fine. One notable misfeature of ESD is that it often ruins the A/V sync when playing videos. After setting up the software mixer, you might find it useful to turn esd off altogether (in tthe Sound control panel uncheck "Enable Software Mixing"). Now, especially with GStreamer 0.10, your movies should have perfect A/V sync. It's a shame that software mixing isn't enabled on Ubuntu by default.

More on Software Mixing

A problem is the default config is OSS doesn't let 2 apps make sound at the same time. Here is a report of how it was dealt with: Basically get esd to relinquish control of the sound when its not in use. Then add mixing for oss so you can use multiple oss programs at once, like Quake3 and Teamspeak, or in my case, Wolfenstein and Teamspeak First use section 3 here: Restricted Formats then do this: http://alsa.opensrc.org/index.php?page=DmixPlugin

References

[1] http://www.tldp.org/HOWTO/Sound-HOWTO/x96.html#AEN120