Difference between revisions of "Advanced Linux Sound Architecture (Español)"
(→Configuraciones de ejemplo) |
(→Sonido abrupto después de reanudar la suspensión) |
||
(40 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
+ | [[Category:Sound (Español)]] | ||
[[Category:Audio/Video (Español)]] | [[Category:Audio/Video (Español)]] | ||
+ | [[cs:Advanced Linux Sound Architecture]] | ||
[[cs:Advanced Linux Sound Architecture]] | [[cs:Advanced Linux Sound Architecture]] | ||
[[de:Alsa]] | [[de:Alsa]] | ||
Line 16: | Line 18: | ||
La [[Wikipedia: Advanced Linux Sound Architecture|Arquitectura Avanzada para el Sonido en Linux]] (conocido con el acrónimo '''ALSA''') es un componente del kernel destinado a sustituir el original Open Sound System (Open OSSv3) para proporcionar controladores de dispositivos para las tarjetas de sonido. Además de los controladores de dispositivos de sonido, '''ALSA''' también pone a disposición una amplia biblioteca en el espacio de usuario para los desarrolladores de aplicaciones que quieran utilizar las funciones del controlador mediante un API de alto nivel con una interacción directa con los controladores del kernel. | La [[Wikipedia: Advanced Linux Sound Architecture|Arquitectura Avanzada para el Sonido en Linux]] (conocido con el acrónimo '''ALSA''') es un componente del kernel destinado a sustituir el original Open Sound System (Open OSSv3) para proporcionar controladores de dispositivos para las tarjetas de sonido. Además de los controladores de dispositivos de sonido, '''ALSA''' también pone a disposición una amplia biblioteca en el espacio de usuario para los desarrolladores de aplicaciones que quieran utilizar las funciones del controlador mediante un API de alto nivel con una interacción directa con los controladores del kernel. | ||
− | {{Nota|Para un entorno de sonido alternativo, consulte la página [[Open Sound System]] }}. | + | {{Nota|Para un entorno de sonido alternativo, consulte la página [[Open Sound System (Español)|Open Sound System]]}}. |
− | |||
{{Article summary start|Sumario}} | {{Article summary start|Sumario}} | ||
− | {{Article summary text| | + | {{Article summary text|El artículo trata sobre la utilización, configuración y solución de problemas de ALSA.}} |
{{Article summary heading|Relacionado}} | {{Article summary heading|Relacionado}} | ||
− | {{Article summary wiki|Sound}} | + | {{Article summary wiki|Sound system (Español)}} |
− | {{Article summary wiki|Disable PC Speaker Beep}} | + | {{Article summary wiki|Disable PC Speaker Beep (Español)}} |
{{Article summary end}} | {{Article summary end}} | ||
Line 29: | Line 30: | ||
ALSA está incluido en el kernel de Arch por defecto como un conjunto de módulos, por lo que no es necesaria su instalación explícitamente. | ALSA está incluido en el kernel de Arch por defecto como un conjunto de módulos, por lo que no es necesaria su instalación explícitamente. | ||
− | [[ | + | [[udev (Español)|udev]] explorará automáticamente el hardware en el arranque, cargando el módulo del kernel correcto para la tarjeta de sonido encontrada. Por lo tanto, el sonido debería estar funcionando desde el inicio, pero, ha de tener en cuenta que su configuración viene, por defecto, con todos los canales de audio silenciados. |
− | Los usuarios | + | Los usuarios con un inicio de sesión local (en una terminal virtual o un gestor de pantalla) tienen habilitados los permisos para reproducir sonido y cambiar los niveles del mezclador. Para permitir esto en un inicio de sesión remoto, el usuario tiene que ser [[Users and Groups#Group management|añadido]] al grupo de {{ic|audio}}. La calidad de miembro del grupo de {{ic|audio}} también permite el acceso directo a los dispositivos, lo que puede conducir a que se graben exclusivamente las salidas de las aplicaciones (rompiendo el software de mezcla) y frustrar el rápido intercambio entre usuarios, y multisede. Por lo tanto, la adición de un usuario al grupo de {{ic|audio}} '''no''' es recomendable, a menos que se necesite específicamente [https://wiki.ubuntu.com/Audio/TheAudioGroup]. |
− | {{ | ||
− | + | ===Utilidades en el espacio de usuario=== | |
− | + | [[pacman (Español)|Instale]] el paquete {{Pkg|alsa-utils}} desde los [[Official Repositories|repositorios oficiales]] que contienen la herrameinta {{ic|alsamixer}} para el espacio de usuario, que permite la configuración de los dispositivos de sonido desde la consola o terminal. Instale también el paquete {{pkg|alsa-plugins}} si desea [[#Remuestreo de alta calidad|remuestreo en alta calidad]], [[#Upmixing/Downmixing|upmixing/downmixing]] y otras características avanzadas. | |
− | + | Si desea que las aplicaciones de OSS funcionen mediante dmix (software de mezcla), instale también el paquete {{Pkg|alsa-oss}}. Cargue los [[kernel modules (Español)|módulos del kernel]] {{ic|snd_seq_oss}}, {{ic|snd_pcm_oss}} y {{ic|snd_mixer_oss}} para activar los módulos de emulación de OSS. | |
− | |||
− | |||
− | {{ | ||
− | |||
− | == | + | ==Abrir los canales de audio== |
− | La versión actual de ALSA se instala con todos los canales '''silenciados por defecto'''. Será necesario revertir el '''enmudecimiento''' de los canales | + | La versión actual de ALSA se instala con todos los canales '''silenciados por defecto'''. Será necesario revertir manualmente el '''enmudecimiento''' de los canales. |
− | + | Lo más cómodo es utilizar la interfaz gráfica {{ic|alsamixer}} para hacer esto: | |
− | |||
− | La etiqueta {{ic|MM}} por debajo de un canal indica que el canal está silenciado, y {{ic|00}} indica que está abierto. | + | $ alsamixer |
+ | |||
+ | Como alternativa, puede usar {{ic|amixer}} desde la línea de comandos: | ||
+ | |||
+ | $ amixer sset Master unmute | ||
+ | |||
+ | La etiqueta {{ic|MM}}, por debajo de un canal, indica que el canal está silenciado, y {{ic|00}} indica que está abierto. | ||
El procedimiento a seguir es el siguiente: | El procedimiento a seguir es el siguiente: | ||
− | Desplácese hasta los canales {{ic|Master}} y {{ic|PCM}} con las teclas {{ | + | Desplácese hasta los canales {{ic|Master}} y {{ic|PCM}} con las teclas {{ic|←}} y {{ic|→}}, y retire el silencio pulsando la tecla {{ic|m}}. Utilice la tecla {{ic|↑}} para aumentar el volumen y obtener un «dB gain» con valor {{ic|0}}. El valor «gain» se puede encontrar en la parte superior izquierda junto al campo {{ic|Item:}}. Los valores más altos de «gain» producirán sonido distorsionado. |
− | Para obtener un verdadero sonido envolvente (surround) 5.1 | + | Para obtener un verdadero sonido envolvente (surround) 5.1 o 7.1 es probable que tenga que activar otros canales como Front, Surround, Center, LFE (subwoofer) y Side (estos son los nombres de los canales para el módulo Intel HD Audio, y pueden variar según el hardware). Tenga en cuenta que esto no se logrará automáticamente con Upmix para las fuentes de sonido estéreo (como, por ejemplo, la música). Con el fin de lograrlo, consulte [[#Upmixing/Downmixing|Upmixing/Downmixing]]. |
− | Salga de alsamixer pulsando {{ | + | Salga de alsamixer pulsando {{ic|Esc}}. |
{{Nota| | {{Nota| | ||
− | * Algunas tarjetas necesitan tener el canal de salida digital silenciado/apagado para poder escuchar el sonido analógico. Para | + | * Algunas tarjetas necesitan tener el canal de salida digital silenciado/apagado para poder escuchar el sonido analógico. Para la LS Soundblaster Audigy es necesario silenciar el canal IEC958. |
* Algunas máquinas, (como la Thinkpad T61), tienen un canal speaker (altavoz) que debe ser activado y ajustado también. | * Algunas máquinas, (como la Thinkpad T61), tienen un canal speaker (altavoz) que debe ser activado y ajustado también. | ||
* Algunas máquinas (como Dell E6400) también pueden requerir que el silencio sea desactivado en los canales {{ic|Front}} y {{ic|Headphone}} y ajustados}} | * Algunas máquinas (como Dell E6400) también pueden requerir que el silencio sea desactivado en los canales {{ic|Front}} y {{ic|Headphone}} y ajustados}} | ||
Line 68: | Line 69: | ||
Se puede ahora comprobar si el sonido funciona: | Se puede ahora comprobar si el sonido funciona: | ||
− | + | $ speaker-test -c 2 | |
Modifique el valor -c para ajustar la configuración de los altavoces. Por ejemplo, use -c 8 para 7.1: | Modifique el valor -c para ajustar la configuración de los altavoces. Por ejemplo, use -c 8 para 7.1: | ||
− | + | $ speaker-test -c 8 | |
+ | |||
+ | Si esto no funciona, vaya a [[#Configuración|configuración]] o consulte la sección sobre [[#Solución de problemas|solución de problemas]]. | ||
+ | |||
+ | El paquete {{pkg|alsa-utils}} incluye {{ic|alsa-restore.service}} y {{ic|alsa-store.service}}, que están preconfigurados para hacer funcionar el arranque y la parada, respectivamente. | ||
+ | |||
+ | ==Configuración== | ||
+ | ===Sin sonido en virtualbox=== | ||
+ | Si tiene problemas con virtualbox, el siguiente comando puede ser de ayuda: | ||
+ | |||
+ | {{hc|$ alsactl init|2=<nowiki> | ||
− | + | Found hardware: "ICH" "SigmaTel STAC9700,83,84" "AC97a:83847600" "0x8086" "0x0000" | |
+ | Hardware is initialized using a generic method | ||
+ | </nowiki> | ||
+ | }} | ||
− | + | Puede que tenga que activar la salida de ALSA en su software de audio también. | |
− | + | ===Establecer la tarjeta de sonido predeterminada=== | |
− | + | Si sus tarjetas de sonido cambian de orden durante el arranque, puede especificar el orden de las mismas en el archivo {{ic|/etc/modprobe.d/modprobe.conf}} (se sugiere el archivo {{ic|/etc/modprobe.d/alsa-base.conf}}). | |
+ | Por ejemplo, si desea que el tarjeta de sonido «mia» se cargue primero, colóquele el valor #0: | ||
− | + | {{hc|/etc/modprobe.d/alsa-base.conf|2=<nowiki> | |
+ | options snd slots=snd_mia,snd_hda_intel | ||
+ | options snd_mia index=0 | ||
+ | options snd_hda_intel index=1 | ||
+ | </nowiki>}} | ||
− | {{ | + | Utilice {{ic|<nowiki>$ lsmod | grep snd</nowiki>}} para obtener una lista de dispositivos. |
+ | Esta configuración asume que tiene una tarjeta de sonido «mia» usando {{ic|snd_mia}}, y una tarjeta «snd-hda-intel» (es decir, integrada) usando {{ic|snd_hda_intel}}. | ||
− | == | + | También puede proporcionar un índice de {{ic|-2}} para indicarle a ALSA que nunca use una tarjeta como la primera. Distribuciones como Linux Mint y Ubuntu utilizan la siguiente configuración para evitar que USB y de otros tipos de controladores «extraños» obtengan el índice {{ic|0}}: |
− | === | + | |
+ | {{hc|/etc/modprobe.d/alsa-base.conf|2=<nowiki> | ||
+ | options bt87x index=-2 | ||
+ | options cx88_alsa index=-2 | ||
+ | options saa7134-alsa index=-2 | ||
+ | options snd-atiixp-modem index=-2 | ||
+ | options snd-intel8x0m index=-2 | ||
+ | options snd-via82xx-modem index=-2 | ||
+ | options snd-usb-audio index=-2 | ||
+ | options snd-usb-caiaq index=-2 | ||
+ | options snd-usb-ua101 index=-2 | ||
+ | options snd-usb-us122l index=-2 | ||
+ | options snd-usb-usx2y index=-2 | ||
+ | # Keep snd-pcsp from being loaded as first soundcard | ||
+ | options snd-pcsp index=-2 | ||
+ | # Keep snd-usb-audio from beeing loaded as first soundcard | ||
+ | options snd-usb-audio index=-2 | ||
+ | </nowiki>}} | ||
+ | |||
+ | Estos cambios requieren un reinicio del sistema, para que surtan efectos. | ||
+ | |||
+ | ==== Seleccionar el PCM por defecto a través de la variable de entorno ==== | ||
+ | |||
+ | En el archivo de configuración, preferentemente el global, agregue: | ||
+ | pcm.!default { | ||
+ | type plug | ||
+ | slave.pcm { | ||
+ | @func getenv | ||
+ | vars [ ALSAPCM ] | ||
+ | default "hw:Audigy2" | ||
+ | } | ||
+ | } | ||
+ | |||
+ | Es necesario sustituir la línea «default» con el nombre de la tarjeta (en el ejemplo es {{ic|Audigy2}}). Se pueden obtener los nombres con {{ic|aplay -l}} o también puede utilizar los PCM como '''surround51'''. Pero si se necesita utilizar el micrófono es una buena idea seleccionar PCM full-duplex por defecto. | ||
+ | |||
+ | Ahora se pueden comenzar los programas seleccionando la tarjeta de sonido con solo cambiar la variable de entorno {{ic|ALSAPCM}}. Funciona muy bien para todos los programas que no permiten seleccionar la tarjeta, para los demás asegúrese de que mantener la tarjeta predeterminada. | ||
+ | Por ejemplo, asumiendo que escribió un PCM downmix llamado '''mix51to20''' se puede utilizar el mismo con {{ic|mplayer}} usando la línea de órdenes {{ic|ALSAPCM=mix51to20 mplayer example_6_channel.wav}} | ||
+ | |||
+ | ==== Método alternativo ==== | ||
− | En primer lugar, tendrá que averiguar | + | En primer lugar, tendrá que averiguar la identificación de la tarjeta y del dispositivo que desea establecer como predeterminados, ejecutando {{ic|aplay -l}}: |
− | {{hc|$ aplay -l|2= | + | {{hc|$ aplay -l|2= |
**** List of PLAYBACK Hardware Devices **** | **** List of PLAYBACK Hardware Devices **** | ||
card 0: Intel [HDA Intel], device 0: CONEXANT Analog [CONEXANT Analog] | card 0: Intel [HDA Intel], device 0: CONEXANT Analog [CONEXANT Analog] | ||
Line 105: | Line 163: | ||
Subdevices: 1/1 | Subdevices: 1/1 | ||
Subdevice #0: subdevice #0 | Subdevice #0: subdevice #0 | ||
− | + | }} | |
− | Por ejemplo, la última entrada de esta lista | + | Por ejemplo, la última entrada de esta lista tiene el ID de la tarjeta 2 y el ID de dispositivo 0. Para establecer esta tarjeta como la predeterminada, puede utilizar el archivo que afecta a todo el sistema {{ic|/etc/asound.conf}} o el archivo específico del usuario {{ic|~/.asoundrc}}. Puede que tenga que crear el archivo si no existe. A continuación, inserte las siguientes opciones con el id correspondiente del dispositivo y de la tarjeta. |
− | {{ | + | {{bc| |
− | + | pcm.!default { | |
− | + | type hw | |
− | + | card 2 | |
− | + | } | |
− | |||
− | + | ctl.!default { | |
+ | type hw | ||
+ | card 2 | ||
+ | } | ||
+ | }} | ||
+ | Las opciones 'pcm' afectan a la tarjeta y al dispositivo que se pueden utilizar para la reproducción de audio, mientras que la opción 'ctl' afecta a la tarjeta que es utilizada por la utilidades de control como alsamixer. | ||
− | + | Los cambios entrarán en vigor tan pronto se (re)inicie una aplicación (mplayer, etc.). También puede probar con una orden como aplay: | |
− | + | {{bc| | |
+ | aplay -D default <your_favourite_sound.wav> | ||
+ | }} | ||
− | + | Si recibe un error acerca de la configuración de asound, compruebe [http://www.alsa-project.org/main/index.php/Asoundrc#The_default_plugin upstream documentation] para conocer posibles cambios en el formato del archivo de configuración. | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
===Asegurarse de que los módulos de sonido se cargan=== | ===Asegurarse de que los módulos de sonido se cargan=== | ||
− | Es de suponer que udev detectará automáticamente el sonido correctamente. Puede verificar que | + | Es de suponer que udev detectará automáticamente el sonido correctamente. Puede verificar que esto ha ocurrido así con la orden siguiente: |
{{hc|<nowiki>$ lsmod | grep '^snd' | column -t</nowiki>|<nowiki> | {{hc|<nowiki>$ lsmod | grep '^snd' | column -t</nowiki>|<nowiki> | ||
Line 145: | Line 203: | ||
Si el resultado es similar, los controladores de sonido han sido reconocidos automáticamente con éxito. | Si el resultado es similar, los controladores de sonido han sido reconocidos automáticamente con éxito. | ||
− | {{Nota| | + | {{Nota|Desde {{ic|udev>=171}}, los módulos de emulación de OSS ({{ic|snd_seq_oss, snd_pcm_oss, snd_mixer_oss}}) no se cargan de forma predeterminada: [[Kernel_modules_(Español)#Cargar_módulos|Cárguelos manualmente]] si son necesarios.}} |
También puede ser que desee comprobar el directorio {{ic|/dev/snd/}} para verificar que los archivos de dispositivos son los correctos: | También puede ser que desee comprobar el directorio {{ic|/dev/snd/}} para verificar que los archivos de dispositivos son los correctos: | ||
Line 162: | Line 220: | ||
</nowiki>}} | </nowiki>}} | ||
− | {{Nota|Si solicita ayuda en el IRC o los foros, por favor envíe la salida | + | {{Nota|Si solicita ayuda en el IRC o los foros, por favor envíe la salida proporcionada por las órdenes anteriores.}} |
Si tiene presente, por lo menos, los dispositivos '''controlC0''' y '''pcmC0D0p''' o similares, entonces los módulos de sonido han sido detectados y cargados correctamente. | Si tiene presente, por lo menos, los dispositivos '''controlC0''' y '''pcmC0D0p''' o similares, entonces los módulos de sonido han sido detectados y cargados correctamente. | ||
− | Si | + | Si este no es el caso, sus módulos de sonido no se han detectado correctamente. Para solucionar esto, pruebe intentando cargar los módulos manualmente: |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | + | * Localice el módulo de la tarjeta de sonido: [http://www.alsa-project.org/main/index.php/Matrix:Main ALSA Soundcard Matrix]. El módulo contendrá el prefijo 'snd-' (por ejemplo: {{ic|snd-via82xx}}). | |
− | + | * [[Kernel_modules_(Español)#Cargar_módulos|Cargue el módulo]]. | |
− | + | * Verifique que los archivos del dispositivo en {{ic|/dev/snd}} tienen una salida razonable (véase más arriba) y/o compruebelo con {{ic|alsamixer}} o {{ic|amixer}}. | |
− | + | * Configure {{ic|snd-NAME-OF-MODULE}} y {{ic|snd-pcm-oss}} para [[Kernel_modules_(Español)#Cargar_módulos|cargar al arranque]]. | |
− | |||
− | |||
− | |||
− | * | ||
− | |||
− | * | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | {{ic| | ||
===Conseguir salida SPDIF=== | ===Conseguir salida SPDIF=== | ||
Line 195: | Line 235: | ||
(De los foros de Gentoo) | (De los foros de Gentoo) | ||
− | * En el control | + | * En el control del volumen de GNOME, en la pestaña Opciones, cambie IEC958 a PCM. Esta opción puede estar habilitada en las preferencias. |
− | * Si | + | * Si no tiene instalado el control del volumen de GNOME: |
− | ** Edite {{ic|/var/lib/alsa/asound.state}}. En este archivo alsasound | + | ** Edite {{ic|/var/lib/alsa/asound.state}}. En este archivo alsasound guarda la configuración de mixer. |
− | ** | + | ** Encuentre una línea que dice: 'IEC958 Playback Switch'. Cerca de ella se encuentra una línea que dice {{ic|value:false}}. Cambie el valor a {{ic|value:true}}. |
− | ** Ahora | + | ** Ahora busque esta línea: 'IEC958 Playback AC97-SPSA'. Cambie su valor a {{ic|0}}. |
** Reinicie ALSA. | ** Reinicie ALSA. | ||
Line 209: | Line 249: | ||
amixer set 'Audigy Analog/Digital Output Jack' on | amixer set 'Audigy Analog/Digital Output Jack' on | ||
− | Se puede ver el nombre de la salida digital de | + | Se puede ver el nombre de la salida digital de la tarjeta con: |
$ amixer scontrols | $ amixer scontrols | ||
===Ecualizador System-Wide=== | ===Ecualizador System-Wide=== | ||
− | ==== | + | ====Usar AlsaEqual (proporciona la interfaz gráfica)==== |
− | Instale {{AUR|alsaequal}} desde [[AUR]. | + | Instale {{AUR|alsaequal}} desde [[AUR]]. |
− | {{Nota|Si tiene un sistema x86_64 y está utilizando | + | {{Nota|Si tiene un sistema x86_64 y está utilizando 32bit-flashplugin, el sonido en flash no funcionará. Tendrá que, o bien desactivar alsaequal, o bien compilarlo para 32 bits.}} |
Después de instalar el paquete, introduzca lo siguiente en el archivo de configuración de ALSA ({{ic|~/.asoundrc}} o {{ic|/etc/asound.conf}}): | Después de instalar el paquete, introduzca lo siguiente en el archivo de configuración de ALSA ({{ic|~/.asoundrc}} o {{ic|/etc/asound.conf}}): | ||
Line 243: | Line 283: | ||
slave.pcm plugequal; | slave.pcm plugequal; | ||
} | } | ||
− | |||
− | |||
− | |||
− | |||
− | Y ya está listo para cambiar su ecualizador con | + | Y ya está listo para cambiar su ecualizador con la orden: |
$ alsamixer -D equal | $ alsamixer -D equal | ||
Tenga en cuenta que el archivo de configuración es diferente para cada usuario (mientras no se especifique otra cosa) que se guarda en {{ic|~/.alsaequal.bin}}. | Tenga en cuenta que el archivo de configuración es diferente para cada usuario (mientras no se especifique otra cosa) que se guarda en {{ic|~/.alsaequal.bin}}. | ||
− | Así que si desea utilizar AlsaEqual con [[mpd]] u otro software que se ejecute bajo un usuario diferente, se puede configurar mediante | + | Así que si desea utilizar AlsaEqual con [[mpd]] u otro software que se ejecute bajo un usuario diferente, se puede configurar mediante la orden: |
# su mpd -c 'alsamixer -D equal' | # su mpd -c 'alsamixer -D equal' | ||
O, por ejemplo, se puede hacer un enlace simbólico a {{ic|.alsaequal.bin}} en el directorio home de aquel usuario. | O, por ejemplo, se puede hacer un enlace simbólico a {{ic|.alsaequal.bin}} en el directorio home de aquel usuario. | ||
− | ===== | + | =====Administrar los estados de AlsaEqual===== |
− | Instale [http://xyne.archlinux.ca/projects/alsaequal-mgr/ alsaequal-mgr] desde los | + | Instale [http://xyne.archlinux.ca/projects/alsaequal-mgr/ alsaequal-mgr] desde los [http://xyne.archlinux.ca/repos/ repositorios de Xyne] o desde [https://aur.archlinux.org/packages.php?ID=62420 AUR]. |
Configure el ecualizador como de costumbre con: | Configure el ecualizador como de costumbre con: | ||
$ alsamixer -D equal | $ alsamixer -D equal | ||
− | Cuando esté satisfecho con el estado, puede darle un nombre ( | + | Cuando esté satisfecho con el estado, puede darle un nombre («foo» en este ejemplo) y guardarlo: |
$ alsaequal-mgr save foo | $ alsaequal-mgr save foo | ||
− | El estado | + | El estado «foo», entonces se puede restaurar en un momento posterior con: |
$ alsaequal-mgr load foo | $ alsaequal-mgr load foo | ||
Line 273: | Line 309: | ||
Consulte la [http://xyne.archlinux.ca/projects/alsaequal-mgr/ página del proyecto] y los consejos de ayuda para más opciones. | Consulte la [http://xyne.archlinux.ca/projects/alsaequal-mgr/ página del proyecto] y los consejos de ayuda para más opciones. | ||
− | ==== | + | ====Usar mbeq==== |
− | {{Nota|Este método requiere el uso | + | {{Nota|Este método requiere el uso del plugin ladspa que podría suponer un consumo un poco alto de la CPU cuando se reproduce el sonido. Además, esto se hizo pensando en la utilización de sonido estereofónico (por ejemplo, optimizado para escuchar a través de auriculares).}} |
Instale los paquetes {{Pkg|alsa-plugins}}, {{Pkg|ladspa}} y {{Pkg|swh-plugins}} si aún no los tiene. | Instale los paquetes {{Pkg|alsa-plugins}}, {{Pkg|ladspa}} y {{Pkg|swh-plugins}} si aún no los tiene. | ||
Line 293: | Line 329: | ||
# especialmente si acaba de instalarlos. Una vez que haya iniciado sesión | # especialmente si acaba de instalarlos. Una vez que haya iniciado sesión | ||
# salir/reiniciar no debería ser necesario, pero sí, si se producen errores | # salir/reiniciar no debería ser necesario, pero sí, si se producen errores | ||
− | # por no poder encontrar los plugins, intente eliminando el comentario de | + | # por no poder encontrar los plugins, intente eliminando el comentario de estos. |
#path "/usr/lib/ladspa" | #path "/usr/lib/ladspa" | ||
Line 310: | Line 346: | ||
} | } | ||
− | # Redirigir el dispositivo predeterminado para pasar por el EQ - es posible que desee hacer | + | # Redirigir el dispositivo predeterminado para pasar por el EQ - es posible que desee hacer esto. |
# haga esto último, una vez que esté seguro de que todo está funcionando. De lo contrario todos | # haga esto último, una vez que esté seguro de que todo está funcionando. De lo contrario todos | ||
# sus programas de audio se romperán/bloquearán si algo ha ido mal. | # sus programas de audio se romperán/bloquearán si algo ha ido mal. | ||
Line 326: | Line 362: | ||
} | } | ||
</nowiki>}} | </nowiki>}} | ||
− | |||
− | |||
− | |||
* Ahora todo debe ir bien (en su defecto, pregunte en el foro). | * Ahora todo debe ir bien (en su defecto, pregunte en el foro). | ||
Line 336: | Line 369: | ||
Cuando el software de mezcla está habilitado, ALSA se ve obligado a volver a muestrear (remuestrear) todo en la misma frecuencia (48000 por defecto cuando se admite). Dmix utiliza un algoritmo de remuestreo pobre que produce una pérdida notable de la calidad de sonido. | Cuando el software de mezcla está habilitado, ALSA se ve obligado a volver a muestrear (remuestrear) todo en la misma frecuencia (48000 por defecto cuando se admite). Dmix utiliza un algoritmo de remuestreo pobre que produce una pérdida notable de la calidad de sonido. | ||
− | Instale alsa-plugins y | + | Instale {{pkg|alsa-plugins}} y {{pkg|libsamplerate}}. |
− | {{ | ||
Cambie el convertidor de frecuencia por defecto a libsamplerate: | Cambie el convertidor de frecuencia por defecto a libsamplerate: | ||
Line 347: | Line 379: | ||
{{hc|~/.asoundrc|defaults.pcm.rate_converter "samplerate_best"}} | {{hc|~/.asoundrc|defaults.pcm.rate_converter "samplerate_best"}} | ||
− | ''' | + | '''samplerate_best''' ofrece mejor calidad de sonido, pero se necesita una CPU decente para poder usarlo, ya que requiere una gran cantidad de ciclos de CPU en tiempo real para el remuestreo. Existen otros algoritmos disponibles ('''samplerate''', etc.), pero no proporcionan una gran mejora respecto al remuestreador por defecto. |
− | {{Advertencia|En algunos sistemas, samplerate_best puede causar un problema por el que no se obtiene ningún sonido | + | {{Advertencia|En algunos sistemas, samplerate_best puede causar un problema por el que no se obtiene ningún sonido desde flashplayer.}} |
==Upmixing/Downmixing== | ==Upmixing/Downmixing== | ||
===Upmixing=== | ===Upmixing=== | ||
− | A fin de que una fuente de audio estéreo, como música, pueda ser capaz de ocupar todas las salidas de un sistema de sonido 5.1 | + | A fin de que una fuente de audio estéreo, como música, pueda ser capaz de ocupar todas las salidas de un sistema de sonido 5.1 o 7.1, es necesario utilizar upmixing. En el pasado este proceso resultaba difícil y propenso a errores, pero a día de hoy existen plugins que hacen fácil esta tarea. Por lo tanto, instale {{Pkg|alsa-plugins}}. |
A continuación, añada lo siguiente al archivo de configuración de ALSA de su elección (ya sea {{ic|/etc/asound.conf}} o {{ic|~/.asoundrc}}): | A continuación, añada lo siguiente al archivo de configuración de ALSA de su elección (ya sea {{ic|/etc/asound.conf}} o {{ic|~/.asoundrc}}): | ||
Line 364: | Line 396: | ||
} | } | ||
− | Puede cambiar fácilmente este ejemplo | + | Puede cambiar fácilmente este ejemplo de upmixing 7.1 a 5.1 o 4.0. |
Esto agrega un nuevo pcm que se puede utilizar por upmixing. Si desea que todas las fuentes de audio pasen por este pcm, agréguelo como predeterminado debajo de la definición anterior, así: | Esto agrega un nuevo pcm que se puede utilizar por upmixing. Si desea que todas las fuentes de audio pasen por este pcm, agréguelo como predeterminado debajo de la definición anterior, así: | ||
Line 384: | Line 416: | ||
} | } | ||
− | y usar | + | y usar «dmix6» en lugar de «surround71». |
− | Si experimenta problemas de sonido como saltos o distorsiones, puede aumentar el buffer_size (a 32768, por ejemplo) o utilizar un [[#Remuestreo de alta calidad|remuestreador de alta calidad.]] | + | Si experimenta problemas de sonido, como saltos o distorsiones, puede aumentar el buffer_size (a 32768, por ejemplo) o utilizar un [[#Remuestreo de alta calidad|remuestreador de alta calidad.]] |
===Downmixing=== | ===Downmixing=== | ||
− | Si quiere | + | Si se quiere efectuar downmixing (pasar las fuentes de downmix a estéreo), por ejemplo, desea escuchar una película con sonido 5.1 en un equipo de música con salida estéreo, es necesario utilizar el plugin {{ic|vdownmix}}, incluido en el paquete {{Pkg|alsa-plugins}}. |
Una vez más, en el archivo de configuración, añada lo siguiente: | Una vez más, en el archivo de configuración, añada lo siguiente: | ||
Line 402: | Line 434: | ||
} | } | ||
− | == | + | {{Nota|1=Esto podría no ser suficiente para hacer funcionar downmixing, véase [http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=541786]. So, you might also need to add {{ic|pcm.!default "plug:surround51"}} o {{ic|pcm.!default "plug:surround40"}}. Sólo se puede utilizar un plug {{ic|vdownmix}}; si tiene canales 7.1, necesitará utilizar {{ic|surround71}} en el lugar de la configuración anterior. Un buen ejemplo, que incluye una configuración que funciona tanto con{{ic|vdownmix}} como con {{ic|dmix}}, se puede encontrar [https://bbs.archlinux.org/viewtopic.php?id=167275 aquí].}} |
− | === | + | |
+ | ==Mezclar== | ||
+ | ===Mezclar con software (dmix) === | ||
{{Nota|Para versiones 1.0.9rc2 y superiores de ALSA, no es necesario configurar dmix para las salidas de sonido analógicas. Dmix está habilitado, de forma predeterminada, para las tarjetas de sonido que no son compatibles con el hardware de mezcla.}} | {{Nota|Para versiones 1.0.9rc2 y superiores de ALSA, no es necesario configurar dmix para las salidas de sonido analógicas. Dmix está habilitado, de forma predeterminada, para las tarjetas de sonido que no son compatibles con el hardware de mezcla.}} | ||
Line 420: | Line 454: | ||
Consulte el apartado sobre [[#Solución de problemas|solución de problemas]] para los problemas más comunes y sus soluciones. | Consulte el apartado sobre [[#Solución de problemas|solución de problemas]] para los problemas más comunes y sus soluciones. | ||
− | ===Hardware | + | ===Mezclar con Hardware=== |
− | + | ====Soporte==== | |
− | + | Si tiene un chipset de audio que soporte mezclar con hardware, entonces no se requiere configuración. Casi todos los chipsets de sonido incorporados no son compatibles con el hardware de mezcla y requieren que la mezcla se haga con software (véase más arriba). Muchas tarjetas de sonido no tienen soporte para la mezcla con hardware y las que tienen mejor soporte en Linux son las siguientes: | |
− | * | + | * Creative SoundBlaster Live! (modelo 5.1) |
+ | * Creative SoundBlaster Audigy (algunos modelos) | ||
+ | * Creative SoundBlaster Audidy 2 (modelos ZS) | ||
+ | * Creative SoundBlaster Audigy 4 (modelos Pro) | ||
− | {{Nota|Las | + | {{Nota| |
+ | *Las variantes de la gama baja de las tarjetas anteriores (Audigy SE, Audigy 2 NX, SoundBlaster Live! de 24 bits y SoundBlaster Live! 7.1) '''no''' proporcionan soporte de hardware de mezcla, las cuales usan otros chips. | ||
+ | *Una excepción es el chip integrado VIA8237 que soporta hardware de mezcla de 4-stream. Sin embargo, en algunas placas base solo 3 funcionan (el cuarto no produce ningún sonido), o se rompe recién se inicia. Incluso si funciona, la calidad no es buena en comparación con otras soluciones.}} | ||
− | + | ====Arreglos==== | |
− | + | Si está usando Arch 64-bit y la tarjeta ''Intel Corporation 82801I (ICH9 Family) HD Audio Controller (rev 02)'', se puede obtener sonido para que funcione con «Enemy Territory» haciendo lo siguiente: | |
− | |||
− | |||
− | |||
echo "et.x86 0 0 direct" > /proc/asound/card0/pcm0p/oss | echo "et.x86 0 0 direct" > /proc/asound/card0/pcm0p/oss | ||
echo "et.x86 0 0 disable" > /proc/asound/card0/pcm0c/oss | echo "et.x86 0 0 disable" > /proc/asound/card0/pcm0c/oss | ||
Line 441: | Line 477: | ||
Algunas combinaciones de determinados drivers ALSA y chipsets pueden causar '''saltos''' en el audio de todas las fuentes cuando se utiliza en combinación con un regulador de frecuencia de la CPU de escalamiento dinámico como {{ic|ondemand}} o {{ic|conservative}}. En la actualidad, la solución es volver al gobernador {{ic|performance}}. | Algunas combinaciones de determinados drivers ALSA y chipsets pueden causar '''saltos''' en el audio de todas las fuentes cuando se utiliza en combinación con un regulador de frecuencia de la CPU de escalamiento dinámico como {{ic|ondemand}} o {{ic|conservative}}. En la actualidad, la solución es volver al gobernador {{ic|performance}}. | ||
− | Consulte la [[CPU Frequency Scaling]] para más información. | + | Consulte la [[CPU Frequency Scaling]] para obtener más información. |
− | ===Problemas con la disponibilidad del software de mezcla por | + | ===Problemas con la disponibilidad del software de mezcla por solo un usuario a la vez=== |
− | Puede suceder que | + | Puede suceder que solo un usuario puede utilizar el dmixer a la vez. Esto probablemente pueda andar bien para la mayoría de los usuarios cuando solo ellos utilizan su máquina, pero para los que corren [[mpd]] en una máquina con usuarios distintos plantea un problema. Cuando mpd está corriendo, otro usuario normal no puede reproducir sonidos mediante dmixer. Aunque es posible solucionarlo corriendo mpd en la cuenta de inicio de sesión del usuario habilitado, otra solución es factible. Añada la línea {{Ic|ipc_key_add_uid 0}} al bloque {{ic|pcm.dmixer}} para desactivar esta limitación. El siguiente es un fragmento del código de {{ic|asound.conf}}, el resto es lo mismo que el anterior. |
... | ... | ||
pcm.dmixer { | pcm.dmixer { | ||
Line 457: | Line 493: | ||
===Problemas de reproducción simultánea=== | ===Problemas de reproducción simultánea=== | ||
− | Si está teniendo problemas de reproducción simultánea, y si [[PulseAudio]] se ha instalado (por ejemplo, utilizando [[GNOME]]), su configuración por defecto está ajustada para | + | Si está teniendo problemas de reproducción simultánea, y si [[PulseAudio]] se ha instalado (por ejemplo, utilizando [[GNOME]]), su configuración por defecto está ajustada para «secuestrar» a favor de pulseadio la tarjeta de sonido. Algunos usuarios de ALSA no desean utilizar [[PulseAudio]] y están bastante satisfechos con su actual configuración de ALSA. Una solución para resolver el problema es editar {{ic|/etc/asound.conf}} y comentar las siguientes líneas: |
# Use PulseAudio by default | # Use PulseAudio by default | ||
Line 475: | Line 511: | ||
#} | #} | ||
− | + | Esta puede ser una solución mucho más simple que desinstalar por completo [[PulseAudio]]. | |
Efectivamente, este es un ejemplo de un archivo {{ic|/etc/asound.conf}} funcionando correctamente: | Efectivamente, este es un ejemplo de un archivo {{ic|/etc/asound.conf}} funcionando correctamente: | ||
Line 490: | Line 526: | ||
}} | }} | ||
− | {{Nota|Este archivo {{ic|/etc/asound.conf}} fue creado y utilizado con éxito para una configuración de [[MPD]] | + | {{Nota|Este archivo {{ic|/etc/asound.conf}} fue creado y utilizado con éxito para una configuración global de [[MPD]]. Consulte [[Alsa#Problems_with_Availability_to_Only_One_User_at_a_Time|esta sección]] sobre múltiples usuarios}} |
− | === | + | ===Ausencia de sonido al azar en el inicio=== |
+ | Se puede probar rápidamente el sonido mediante la ejecución de {{ic|speaker-test}}. Si no hay sonido, el mensaje de error podría ser algo como: | ||
− | + | ALSA lib pcm_dmix.c:1022:(snd_pcm_dmix_open) unable to open slave | |
+ | Playback open error: -16 | ||
+ | Device or resource busy | ||
− | + | Si no tiene sonido aleatoriamente en el arranque, puede deberse a que el sistema tiene varias tarjetas de sonido, y su orden puede, a veces, cambiar al inicio. Si este es el caso, trate de [[#Establecer la tarjeta de sonido predeterminada|configurar la tarjeta de sonido predefinida]] | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | + | Si utiliza mpd y los consejos de configuración anteriores no funcionan para usted, intente [http://mpd.wikia.com/wiki/Configuration#ALSA_MPD_software_volume_control leyendo esto] en su lugar. | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | + | ==== Timidity ==== | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | + | [[Timidity]] puede ser la causa de la falta de audio. Pruebe a ejecutar: | |
− | |||
− | |||
− | |||
− | |||
− | + | $ systemctl status timidity | |
− | |||
− | Si | + | Si esto falla, pruebe {{ic|# killall -9 timidity}}. Si esto resuelve el problema, debe desactivar el demonio timidity para que no se inicie al arranque. |
===Problemas específicos de algunos programas=== | ===Problemas específicos de algunos programas=== | ||
Line 558: | Line 558: | ||
Para hacer esto en XMMS: | Para hacer esto en XMMS: | ||
* Abra XMMS | * Abra XMMS | ||
− | ** Opciones | + | ** Opciones → Preferencias. |
** Elija el plugin de salida de Alsa. | ** Elija el plugin de salida de Alsa. | ||
Line 564: | Line 564: | ||
aoss realplay | aoss realplay | ||
− | pcm.!default{ ... } | + | pcm.!default{ ... } parece que no funciona más, pruebe en su lugar: |
pcm.default pcm.dmixer | pcm.default pcm.dmixer | ||
− | === | + | ===Configurar los modelos=== |
− | Aunque Alsa detecta la tarjeta de sonido a través de la BIOS, a veces | + | Aunque Alsa detecta la tarjeta de sonido a través de la BIOS, a veces puede no ser capaz de reconocer el [http://www.kernel.org/doc/Documentation/sound/alsa/HD-Audio-Models.txt tipo de modelo]. El chip de la tarjeta de sonido puede ser encontrado en {{ic|alsamixer}} (por ejemplo ALC662) y el modelo se puede ajustar en {{ic|/etc/modprobe.d/modprobe.conf}} o {{ic|/etc/modprobe .d/sound.conf}}. Por ejemplo: |
options snd-hda-intel model=MODEL | options snd-hda-intel model=MODEL | ||
− | Hay otras opciones, según el modelo. Para la mayoría de los casos, Alsa lo hará de manera automática, por defecto. Si desea ver más opciones de configuración específica para su tarjeta de sonido, eche un vistazo a la [http://bugtrack.alsa-project.org/main/index.php/Matrix:Main Lista de Tarjetas de sonido Alsa], localice su modelo, a continuación, pinche en Detalles, a continuación, busque la sección | + | Hay otras opciones, según el modelo. Para la mayoría de los casos, Alsa lo hará de manera automática, por defecto. Si desea ver más opciones de configuración específica para su tarjeta de sonido, eche un vistazo a la [http://bugtrack.alsa-project.org/main/index.php/Matrix:Main Lista de Tarjetas de sonido Alsa], localice su modelo, a continuación, pinche en Detalles, a continuación, busque la sección «Setting up modprobe ...». Introduzca esos valores en el archivo {{ic|/etc/modprobe.d/modprobe.conf}}. Por ejemplo, para una tarjeta de audio Intel AC97: |
{{bc|# ALSA portion | {{bc|# ALSA portion | ||
Line 593: | Line 593: | ||
===Audio en conflicto con altavoz interno del PC=== | ===Audio en conflicto con altavoz interno del PC=== | ||
− | Si | + | Si está seguro de que nada está silenciado, que los controladores están instalados correctamente y que el volumen es el correcto, pero todavía no se oye nada, entonces trate de añadir la siguiente línea a {{ic|/etc/modprobe.d/modprobe.conf}}: |
options snd-NAME-OF-MODULE ac97_quirk=0 | options snd-NAME-OF-MODULE ac97_quirk=0 | ||
Line 601: | Line 601: | ||
La solución anterior se ha informado que funciona con {{ic|snd_intel8x0}} | La solución anterior se ha informado que funciona con {{ic|snd_intel8x0}} | ||
− | ===Sin | + | ===Sin entrada en el micrófono === |
− | En alsamixer, asegúrese de que todos los niveles | + | En alsamixer, asegúrese de que todos los niveles del volumen, en la sección grabación, están activados, y que la modalidad ''CAPTURE'' del micrófono está activa (por ejemplo, Mic, -micrófono interno-) y/o sobre ''capture'' (en alsamixer, seleccione estos elementos en el primer espacio). Pruebe poner Mic Boost en positivo y aumentar al máximo los niveles de Capture y Digital; esto no produce sonido o lo produce distorsionado, pero entonces podrá ajustar los niveles hacia abajo hasta oir ''algo'' cuando se graba. |
− | En la medida que pulseaudio se muestra como | + | En la medida que pulseaudio se muestra como «default» en alsamixer, puede ser necesario presionar F6 para seleccionar la propia tarjeta de sonido en primer lugar. También puede ser necesario activar y aumentar el volumen de Line-in (Línea de entrada) en la sección Playblack (reproducción). |
− | Para probar el micrófono, ejecute | + | Para probar el micrófono, ejecute estas órdenes (consulte la página del manual de arecord para más información): |
arecord -d 5 test-mic.wav | arecord -d 5 test-mic.wav | ||
aplay test-mic.wav | aplay test-mic.wav | ||
Line 613: | Line 613: | ||
Si todo falla, es posible que desee descartar un fallo de hardware, probando el micrófono con un dispositivo diferente. | Si todo falla, es posible que desee descartar un fallo de hardware, probando el micrófono con un dispositivo diferente. | ||
− | En algunos ordenadores, | + | En algunos ordenadores, silenciar un micrófono (MM) significa simplemente que su entrada no va de inmediato a los altavoces. Todavía recibe la entrada. |
− | Muchos portátiles Dell necesitan | + | Muchos portátiles Dell necesitan «-dmic», que se añade al nombre del modelo en {{ic|/etc/modprobe.d/modprobe.conf}}: |
options snd-hda-intel model=dell-m6-dmic | options snd-hda-intel model=dell-m6-dmic | ||
− | Algunos programas intenta utilizar OSS como software de entrada principal. | + | Algunos programas intenta utilizar OSS como software de entrada principal. Si tiene inicialmente activados los [[kernel modules (Español)|módulos del kernel]] {{ic|snd_pcm_oss}}, {{ic|snd_mixer_oss}} o {{ic|snd_seq_oss}} (no se cargan de forma predeterminada), pruebe entonces evitar cargarlos. |
− | |||
− | {{ | ||
− | |||
− | |||
− | |||
− | |||
Consulte también: | Consulte también: | ||
Line 632: | Line 626: | ||
=== Configuración predeterminada de Micrófono/Dispositivo de captura=== | === Configuración predeterminada de Micrófono/Dispositivo de captura=== | ||
− | Algunas aplicaciones (Pidgin, Adobe Flash) no ofrecen una opción para cambiar el dispositivo de captura. Se convierte en un problema si el micrófono está en un dispositivo separado (por ejemplo, USB | + | Algunas aplicaciones (Pidgin, Adobe Flash) no ofrecen una opción para cambiar el dispositivo de captura. Se convierte en un problema si el micrófono está en un dispositivo separado (por ejemplo, webcam USB o micrófono) de la tarjeta de sonido interna. Para cambiar solo el dispositivo de captura predeterminado, dejando el dispositivo de reproducción predeterminado como está, puede editar el archivo {{ic|~/.asoundrc}} para incluir lo siguiente: |
pcm.usb | pcm.usb | ||
Line 655: | Line 649: | ||
} | } | ||
− | Reemplace | + | Reemplace «U0x46d0x81d» con el nombre de la tarjeta del dispositivo de captura en ALSA. Es posible utilizar la orden {{ic|arecord -L}} para listar todos los dispositivos de captura detectados por ALSA. |
− | === | + | ===El micrófono interno no funciona=== |
− | En primer lugar, asegúrese, en almixer, de que todos los niveles | + | En primer lugar, asegúrese, en almixer, de que todos los niveles del volumen, en la sección de grabación, están activados. Para obtener un nuevo ajuste del volumen, llamado Capture, que registre el micrófono interno, vuelva a añadir una nueva opción al archivo /etc/sound.conf y recargue el módulo snd-*. Por ejemplo, para snd-hda-intel, añada: |
options snd-hda-intel enable_msi=1 | options snd-hda-intel enable_msi=1 | ||
− | + | Recargando el módulo (como se indica abajo), activará el nuevo ajuste del volumen de grabación (Capture) y luego pruebe. | |
{{bc|# rmmod snd-hda-intel && modprobe snd-hda-intel}} | {{bc|# rmmod snd-hda-intel && modprobe snd-hda-intel}} | ||
− | ===Sin sonido con | + | ===Sin sonido con tarjeta de sonido Intel integrada=== |
Puede haber un problema con dos módulos cargados en conflicto, a saber {{ic|snd_intel8x0}} y {{ic|snd_intel8x0m}}. En este caso, introduzca en blacklist snd_intel8x0m: | Puede haber un problema con dos módulos cargados en conflicto, a saber {{ic|snd_intel8x0}} y {{ic|snd_intel8x0m}}. En este caso, introduzca en blacklist snd_intel8x0m: | ||
Line 673: | Line 667: | ||
{{hc|/etc/modprobe.d/modprobe.conf|blacklist snd_intel8x0m}} | {{hc|/etc/modprobe.d/modprobe.conf|blacklist snd_intel8x0m}} | ||
− | ''Deshabilitar'' el canal | + | ''Deshabilitar'' el canal «External Amplifier» en {{ic|alsamixer}} o {{ic|amixer}} también puede ayudar. Consulte [http://alsa.opensrc.org/Intel8x0#Dell_Inspiron_8600_.28and_probably_others.29 la wiki de ALSA]. |
− | ===Sin sonido en auriculares con tarjeta de | + | Activar el sonido en la configuración de «Mix» en el mezclador puede ayudar, también. |
+ | |||
+ | ===Sin sonido en auriculares con tarjeta de sonido Intel integrada=== | ||
Si tiene un portatil con '''Intel Corporation 82801 I (ICH9 Family) HD Audio Controller''', puede que tenga que añadir esta línea a modprobe o sound.conf: | Si tiene un portatil con '''Intel Corporation 82801 I (ICH9 Family) HD Audio Controller''', puede que tenga que añadir esta línea a modprobe o sound.conf: | ||
Line 681: | Line 677: | ||
options snd-hda-intel model=$model | options snd-hda-intel model=$model | ||
− | Donde $model es cualquiera de los siguientes modelos(por orden de posibilidad de funcionar, no por mérito): | + | Donde $model es cualquiera de los siguientes modelos (por orden de posibilidad de funcionar, no por mérito): |
* dell-vostro | * dell-vostro | ||
Line 689: | Line 685: | ||
* laptop-hpsense | * laptop-hpsense | ||
− | {{Nota|Puede que sea necesario poner esas | + | {{Nota|Puede que sea necesario poner esas «opciones» abajo (después de) los «alias».}} |
− | Puede ver todos los modelos disponibles en la documentación del kernel. Por ejemplo [http://git.kernel.org/?p=linux/kernel/git/stable/linux-2.6.35.y.git;a=blob;f=Documentation/sound/alsa/HD-Audio-Models.txt;h=dc25bb84b83b49665a7ed850e7bf5423d50cd3ba;hb=HEAD aquí], pero | + | Puede ver todos los modelos disponibles en la documentación del kernel. Por ejemplo [http://git.kernel.org/?p=linux/kernel/git/stable/linux-2.6.35.y.git;a=blob;f=Documentation/sound/alsa/HD-Audio-Models.txt;h=dc25bb84b83b49665a7ed850e7bf5423d50cd3ba;hb=HEAD aquí], pero compruebe que se trata de la versión correcta de ese documento para su versión del kernel. |
− | Una lista de modelos disponibles también está recogida [http://www.mjmwired.net/kernel/Documentation/sound/alsa/HD-Audio-Models.txt aquí]. Para conocer el nombre de su chip debe escribir | + | Una lista de modelos disponibles también está recogida [http://www.mjmwired.net/kernel/Documentation/sound/alsa/HD-Audio-Models.txt aquí]. Para conocer el nombre de su chip debe escribir la siguiente orden (con el asterisco {{ic|*}} que permite adaptarse a las peculiaridades de sus archivos). Tenga en cuenta que algunos chips podrían haber cambiado de nombre y no corresponderse directamente a los que están disponibles en el archivo. |
cat /proc/asound/card*/codec* | grep Codec | cat /proc/asound/card*/codec* | grep Codec | ||
− | Tenga en cuenta, por último, que hay una alta probabilidad de que ninguno de los dispositivos de entrada (todos los micrófonos internos y externos) funcionen si decide hacer | + | Tenga en cuenta, por último, que hay una alta probabilidad de que ninguno de los dispositivos de entrada (todos los micrófonos internos y externos) funcionen si decide hacer esto, por lo que o funcionarán los auriculares o el micrófono. Por favor, informe a ALSA si se ve afectado por este error. |
Por otro lado, si tiene problemas con las señales acústicas (pcspkr): | Por otro lado, si tiene problemas con las señales acústicas (pcspkr): | ||
Line 715: | Line 711: | ||
install snd_hda_intel /bin/false | install snd_hda_intel /bin/false | ||
− | Si ambos dispositivos utilizan el mismo módulo, podría | + | Si ambos dispositivos utilizan el mismo módulo, entonces podría utilizar el parámetro *enable* del módulo snd-hda-intel, el cual es una matriz booleana que permite activar/desactivar la tarjeta de sonido deseada. |
+ | |||
+ | Por ejemplo: | ||
+ | options snd-hda-intel enable=1,0 | ||
+ | Lo siguiente da la lista de las tarjetas: | ||
+ | cat /proc/asound/cards | ||
===Calidad de audio deficiente=== | ===Calidad de audio deficiente=== | ||
Line 721: | Line 722: | ||
Si la calidad de sonido es pobre, intente ajustar el volumen de PCM (en alsamixer) a un nivel tal que gain sea 0. | Si la calidad de sonido es pobre, intente ajustar el volumen de PCM (en alsamixer) a un nivel tal que gain sea 0. | ||
− | Si se ha cargado el controlador snd-usb-audio, puede intentar habilitar {{ic|softvol}} en el archivo '''/etc/asound.conf'''. | + | Si se ha cargado el controlador snd-usb-audio, puede intentar habilitar {{ic|softvol}} en el archivo '''/etc/asound.conf'''. He aquí un ejemplo de configuración para el primer dispositivo de audio: |
pcm.!default { | pcm.!default { | ||
Line 781: | Line 782: | ||
===Crepiteos al iniciar y detener la reproducción === | ===Crepiteos al iniciar y detener la reproducción === | ||
− | Algunos módulos (como snd-ac97-codec y snd-hda-intel) pueden apagar la tarjeta de sonido cuando no está en uso. Esto puede provocar un ruido audible (como un crack/pop/crepiteos) al encender/apagar su tarjeta de sonido. A veces, puede ocurrir, incluso, cuando se mueve el control deslizante | + | Algunos módulos (como snd-ac97-codec y snd-hda-intel) pueden apagar la tarjeta de sonido cuando no está en uso. Esto puede provocar un ruido audible (como un crack/pop/crepiteos) al encender/apagar su tarjeta de sonido. A veces, puede ocurrir, incluso, cuando se mueve el control deslizante del volumen, o las ventanas se abren y cierran (KDE4). Si encuentra este sonido molesto, puede ejecutar {{ic|modinfo snd-MY-MODULE}}, y buscar una opción que regule o desactive esta función. |
Ejemplo: para desactivar el modo de ahorro de energía utilizando snd-hda-intel para evitar las distorsiones y resolver el problema de sonido de los altavoces, añada en {{ic|/etc/modprobe.d/modprobe.conf}} | Ejemplo: para desactivar el modo de ahorro de energía utilizando snd-hda-intel para evitar las distorsiones y resolver el problema de sonido de los altavoces, añada en {{ic|/etc/modprobe.d/modprobe.conf}} | ||
Line 788: | Line 789: | ||
[options snd-hda-intel power_save=0 power_save_controller=N] | [options snd-hda-intel power_save=0 power_save_controller=N] | ||
− | También puede probar con | + | También puede probar con {{ic|1=modprobe snd_hda_intel power_save=0}} antes. |
Puede que sea necesario también activar el canal 'Line' de alsa para que esto funcione. Cualquier valor puede servir (que no sea '0' o algo muy alto). | Puede que sea necesario también activar el canal 'Line' de alsa para que esto funcione. Cualquier valor puede servir (que no sea '0' o algo muy alto). | ||
− | ''Ejemplo:'' en una tarjeta integrada VIA VT1708S (utilizando el módulo snd-hda-intel) estas distorsiones seguían presentes a pesar de haber ajustado el parámetro 'power_save' a 0. Activando el canal ' | + | ''Ejemplo:'' en una tarjeta integrada VIA VT1708S (utilizando el módulo snd-hda-intel) estas distorsiones seguían presentes a pesar de haber ajustado el parámetro 'power_save' a 0. Activando el canal 'Line' y estableciendo el valor '1' se resolvió el problema. |
Fuente: http://www.kernel.org/doc/Documentation/sound/alsa/powersave.txt | Fuente: http://www.kernel.org/doc/Documentation/sound/alsa/powersave.txt | ||
− | Si utiliza un ordenador portátil, pm-utils cambiará {{ic|power_save}} de nuevo a {{ic|1}} cuando se utiliza la batería, incluso si se desactiva el ahorro de energía en /etc/modprobe.d. Para solucionar este problema, desactive esta opción para pm-utils mediante la desactivación del script que realiza el cambio: | + | Si utiliza un ordenador portátil, pm-utils cambiará {{ic|power_save}} de nuevo a {{ic|1}} cuando se utiliza la batería, incluso si se desactiva el ahorro de energía en {{ic|/etc/modprobe.d}}. Para solucionar este problema, desactive esta opción para pm-utils mediante la desactivación del script que realiza el cambio: |
# chmod -x /usr/lib/pm-utils/power.d/intel-audio-powersave | # chmod -x /usr/lib/pm-utils/power.d/intel-audio-powersave | ||
− | === | + | ===La salida S/PDIF no funciona=== |
− | Si la salida digital óptica/coaxial de la placa base/tarjeta de sonido no funciona o ha dejado de funcionar, y en alsamixer los correspondientes canales de sonido | + | Si la salida digital óptica/coaxial de la placa base/tarjeta de sonido no funciona o ha dejado de funcionar, y en alsamixer los correspondientes canales de sonido están activados, pruebe lo siguiente: |
# iecset audio on | # iecset audio on | ||
− | + | También puede poner esta orden en un servicio de [[systemd (Español)|systemd]] activado, ya que a veces puede dejar de funcionar después de un reinicio. | |
− | + | ===La salida HDMI no funciona=== | |
− | + | El procedimiento descrito a continuación se puede utilizar para una prueba de audio HDMI. Antes de continuar, asegúrese de que ha activado y quitado el silencio de la salida con {{ic|alsamixer}}. | |
− | Si | + | {{Nota|Si utiliza una tarjeta ATI y el kernel de linux >=3.0, tendrá desactivado, por defecto, un módulo del kernel necesario. Consulte [[ATI#HDMI_Audio]].}} |
− | + | Conecte el PC a la pantalla mediante un cable HDMI y active la pantalla con una herramienta como {{ic|xrandr}} o {{ic|arandr}}. Por ejemplo: | |
+ | $ xrandr # list outputs | ||
+ | $ xrandr --output DVI-D_1 --mode 1024x768 --right-of PANEL # enable output | ||
+ | |||
+ | Utilice la orden {{ic|aplay -l}} para descubrir el número de la tarjeta y del dispositivo. Por ejemplo: | ||
{{hc|$ aplay -l| | {{hc|$ aplay -l| | ||
**** List of PLAYBACK Hardware Devices **** | **** List of PLAYBACK Hardware Devices **** | ||
Line 829: | Line 834: | ||
Ahora que tenemos la información del dispositivo HDMI, haga una prueba. En el siguiente ejemplo, 0 es el número de tarjeta y 3 es el número de dispositivo. | Ahora que tenemos la información del dispositivo HDMI, haga una prueba. En el siguiente ejemplo, 0 es el número de tarjeta y 3 es el número de dispositivo. | ||
− | + | $ aplay -D plughw:0,3 /usr/share/sounds/alsa/Front_Center.wav | |
− | |||
− | |||
− | + | Si «aplay» no emite ningún error, pero aún no hay ningún sonido, «reinicie» el receptor, monitor o televisor. Desde la interfaz HDMI revise rigurosamente la conexión, dado que podría haber informado anteriormente de que no había flujo de audio y haber deshabilitado así la decodificación de audio.En particular, si está usando un gestor de ventanas independiente (distinto al de Gnome o KDE), puede que tenga un poco de reproducción de sonido mientras enchufa el cable HDMI. | |
Si la prueba tiene éxito, cree o modifique el archivo {{ic|~/.asoundrc}} para establecer HDMI como el dispositivo de audio predeterminado. | Si la prueba tiene éxito, cree o modifique el archivo {{ic|~/.asoundrc}} para establecer HDMI como el dispositivo de audio predeterminado. | ||
− | + | {{hc|~/.asoundrc| | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | {{hc|/ | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
pcm.!default { | pcm.!default { | ||
− | + | type hw | |
− | + | card 0 | |
+ | device 3 | ||
} | } | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
}} | }} | ||
− | + | O si la configuración de arriba no funciona, pruebe esto: | |
− | + | {{hc|~/.asoundrc| | |
− | + | defaults.pcm.card 0 | |
− | + | defaults.pcm.device 3 | |
− | + | defaults.ctl.card 0 | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | {{hc|/ | ||
− | |||
}} | }} | ||
− | + | ===La salida multicanal PCM de HDMI no funciona (Intel) === | |
− | + | En Linux 3.1 la salida multicanal PCM a través de HDMI con una tarjeta Intel (Intel Eaglelake, IbexPeak/Ironlake,SandyBridge/CougarPoint y IvyBridge/PantherPoint) aún no está soportada. El apoyo está siendo desarrollado actualmente y se espera que esté disponible para Linux 3.2. Para hacer que funcione en Linux 3.1 es necesario aplicar los siguientes parches: | |
− | |||
− | |||
− | === | ||
− | + | * [http://git.kernel.org/?p=linux/kernel/git/torvalds/linux.git;a=patch;h=76adaa34db407f174dd06370cb60f6029c33b465 drm: support routines for HDMI/DP ELD] | |
+ | * [http://git.kernel.org/?p=linux/kernel/git/torvalds/linux.git;a=patch;h=e0dac65ed45e72fe34cc7ccc76de0ba220bd38bb drm/i915: pass ELD to HDMI/DP audio driver] | ||
− | ===HP | + | ===HP TX2500=== |
Agregue estas dos líneas en {{ic|/etc/modprobe.d/modprobe.conf}}: | Agregue estas dos líneas en {{ic|/etc/modprobe.d/modprobe.conf}}: | ||
Line 981: | Line 875: | ||
===Auriculares USB y tarjetas de sonido externas USB=== | ===Auriculares USB y tarjetas de sonido externas USB=== | ||
− | Si | + | Si está usando un auricular USB con ALSA puede probar a usar {{AUR|asoundconf}} (actualmente solo disponible en [[AUR]]) para ajustar el auricular como salida de sonido principal. Antes de proseguir, asegúrese de tener el módulo usb audio habilitado ({{ic|modprobe snd-usb-audio}}). |
− | |||
− | |||
− | |||
# asoundconf is-active | # asoundconf is-active | ||
Line 999: | Line 890: | ||
Fuente: http://alsa.opensrc.org/Usb-audio#Tuning_USB_devices_for_minimal_latencies | Fuente: http://alsa.opensrc.org/Usb-audio#Tuning_USB_devices_for_minimal_latencies | ||
+ | |||
+ | ==== Conexión hot-plugging de una tarjeta de sonido USB ==== | ||
+ | Con el fin de configurar automáticamente una tarjeta de sonido USB como dispositivo de salida principal, cuando la tarjeta está conectada, puede utilizar las siguientes reglas udev (por ejemplo, añadir las dos líneas siguientes a {{ic|/etc/udev/rules.d/00-local.rules}} y reiniciar). | ||
+ | |||
+ | {{bc|1=KERNEL=="pcmC[D0-9cp]*", ACTION=="add", PROGRAM="/bin/sh -c 'K=%k; K=$${K#pcmC}; K=$${K%%D*}; echo defaults.ctl.card $$K > /etc/asound.conf; echo defaults.pcm.card $$K >>/etc/asound.conf'" | ||
+ | KERNEL=="pcmC[D0-9cp]*", ACTION=="remove", PROGRAM="/bin/sh -c 'echo defaults.ctl.card 0 > /etc/asound.conf; echo defaults.pcm.card 0 >>/etc/asound.conf'"}} | ||
===Error 'Unkown hardware' después de una actualización del Kernel=== | ===Error 'Unkown hardware' después de una actualización del Kernel=== | ||
Line 1,015: | Line 912: | ||
/usr/sbin/alsactl: set_control:1328: failed to obtain info for control #26 (No such file or directory) | /usr/sbin/alsactl: set_control:1328: failed to obtain info for control #26 (No such file or directory) | ||
− | Simplemente | + | Simplemente guarde las configuraciones del mixer de ALSA otra vez (como root): |
# alsactl -f /var/lib/alsa/asound.state store | # alsactl -f /var/lib/alsa/asound.state store | ||
Line 1,022: | Line 919: | ||
===HDA Analyzer=== | ===HDA Analyzer=== | ||
− | Si las asignaciones de los pin (conectores) de audio no se corresponden con ALSA, pero | + | Si las asignaciones de los pin (conectores) de audio no se corresponden con ALSA, pero este funciona bien, puede probar con HDA Analyzer -una interfaz gráfica de usuario pyGTK2 para el control de audio HD, que se puede encontrar en la [http://www.alsa-project.org/main/index.php/HDA_Analyzer wiki de ALSA]-. |
Trate de configurar la sección de Control Widget para gestionar los PIN, ajustando IN para micrófonos y AUT para auriculares. Puede ser buena idea hacer referencia a los valores por defecto (Config Defaults). | Trate de configurar la sección de Control Widget para gestionar los PIN, ajustando IN para micrófonos y AUT para auriculares. Puede ser buena idea hacer referencia a los valores por defecto (Config Defaults). | ||
− | + | {{Nota| | |
− | Para solucionar este problema, abra | + | *El script se ejecuta de tal manera que es incompatible con python3 (que es el actualmente proporcionado por ArchLinux) pero, no obstante, trate de usarlo.Para solucionar este problema, abra «run.py», encuentre todas las entradas de «python» (2 entradas - una en la primera línea, y la segunda en la última línea) y reemplácelas todas por «python2». |
− | + | *El script requiere acceso de root, pero no funciona a través de su/sudo. Ejecútelo mediante {{ic|kdesu}} o {{ic|gksu}}. | |
− | + | }} | |
===ALSA con SDL=== | ===ALSA con SDL=== | ||
− | Si no se obtiene ningún sonido a través de SDL, y ALSA no puede ser seleccionado desde la configuración de la aplicación, pruebe a establecer la variable de entorno SDL_AUDIODRIVER a | + | Si no se obtiene ningún sonido a través de SDL, y ALSA no puede ser seleccionado desde la configuración de la aplicación, pruebe a establecer la variable de entorno SDL_AUDIODRIVER a «alsa». |
{{bc|# export SDL_AUDIODRIVER<nowiki>=</nowiki>alsa}} | {{bc|# export SDL_AUDIODRIVER<nowiki>=</nowiki>alsa}} | ||
Line 1,061: | Line 958: | ||
Después que los cambios se carguen correctamente, aparecerá una nueva sección {{ic|Pre-Amp}} en alsamixer. Puede ajustar los niveles desde allí. | Después que los cambios se carguen correctamente, aparecerá una nueva sección {{ic|Pre-Amp}} en alsamixer. Puede ajustar los niveles desde allí. | ||
− | {{Nota|Establecer un valor alto para {{ic|Pre-Amp}} puede causar distorsión del sonido, por lo que ajustelo de acuerdo al nivel más adecuado.}} | + | {{Nota| |
+ | * Establecer un valor alto para {{ic|Pre-Amp}} puede causar distorsión del sonido, por lo que ajustelo de acuerdo al nivel más adecuado. | ||
+ | * Algunos códecs de audio pueden necesitar ajustes en el HDA Analyzer ([[#HDA analyzer|véase arriba]]) a fin de lograr un volumen adecuado y sin distorsión. Comprobar la opción HP con el control del widget en el interruptor del Playback (Node[0x14] PIN en el códec ALC892, por ejemplo) puede, a veces, mejorar la calidad del audio y del volumen significativamente.}} | ||
===Sonido abrupto después de reanudar la suspensión=== | ===Sonido abrupto después de reanudar la suspensión=== | ||
Se puede escuchar un sonido a modo de estallido después de reanudar el equipo desde la suspensión. Esto se puede solucionar editando {{ic|/etc/pm/sleep.d/90alsa}} y eliminado la línea que dice {{ic|aplay -d 1 /dev/zero}} | Se puede escuchar un sonido a modo de estallido después de reanudar el equipo desde la suspensión. Esto se puede solucionar editando {{ic|/etc/pm/sleep.d/90alsa}} y eliminado la línea que dice {{ic|aplay -d 1 /dev/zero}} | ||
+ | |||
+ | === Silencio después de reiniciar === | ||
+ | |||
+ | Tras el arranque, el ajuste de sonido establecido con alsamixer no permanece. Tal vez se pueda restablecer con la orden {{ic|sudo alsactl restore}}. Compruebe el estado del indicador {{ic|Auto-Mute}} en alsamixer: ajuste {{ic|Enabled}} a {{ic|Disabled}}. | ||
==Configuraciones de ejemplo== | ==Configuraciones de ejemplo== | ||
Line 1,074: | Line 977: | ||
* [http://www.mjmwired.net/kernel/Documentation/sound/alsa/ALSA-Configuration.txt Advanced ALSA module configuration] | * [http://www.mjmwired.net/kernel/Documentation/sound/alsa/ALSA-Configuration.txt Advanced ALSA module configuration] | ||
* [http://alsa.opensrc.org/Main_Page Unofficial ALSA Wiki] | * [http://alsa.opensrc.org/Main_Page Unofficial ALSA Wiki] | ||
− | * [ | + | * [https://bbs.archlinux.org/viewtopic.php?id=36815 HOWTO: Compile driver from svn] |
Revision as of 20:35, 4 October 2013
zh-CN:Advanced Linux Sound Architecture La Arquitectura Avanzada para el Sonido en Linux (conocido con el acrónimo ALSA) es un componente del kernel destinado a sustituir el original Open Sound System (Open OSSv3) para proporcionar controladores de dispositivos para las tarjetas de sonido. Además de los controladores de dispositivos de sonido, ALSA también pone a disposición una amplia biblioteca en el espacio de usuario para los desarrolladores de aplicaciones que quieran utilizar las funciones del controlador mediante un API de alto nivel con una interacción directa con los controladores del kernel.
Template:Article summary start Template:Article summary text Template:Article summary heading Template:Article summary wiki Template:Article summary wiki Template:Article summary end
Contents
- 1 Instalación
- 2 Abrir los canales de audio
- 3 Configuración
- 4 Remuestreo de alta calidad
- 5 Upmixing/Downmixing
- 6 Mezclar
- 7 Solución de problemas
- 7.1 Sonido con saltos durante el uso de Dynamic Frequency Scaling
- 7.2 Problemas con la disponibilidad del software de mezcla por solo un usuario a la vez
- 7.3 Problemas de reproducción simultánea
- 7.4 Ausencia de sonido al azar en el inicio
- 7.5 Problemas específicos de algunos programas
- 7.6 Configurar los modelos
- 7.7 Audio en conflicto con altavoz interno del PC
- 7.8 Sin entrada en el micrófono
- 7.9 Configuración predeterminada de Micrófono/Dispositivo de captura
- 7.10 El micrófono interno no funciona
- 7.11 Sin sonido con tarjeta de sonido Intel integrada
- 7.12 Sin sonido en auriculares con tarjeta de sonido Intel integrada
- 7.13 Sin sonido cuando se instala la tarjeta de vídeo con S/PDIF
- 7.14 Calidad de audio deficiente
- 7.15 Crepiteos al iniciar y detener la reproducción
- 7.16 La salida S/PDIF no funciona
- 7.17 La salida HDMI no funciona
- 7.18 La salida multicanal PCM de HDMI no funciona (Intel)
- 7.19 HP TX2500
- 7.20 Salto de sonido durante la reproducción MP3
- 7.21 Auriculares USB y tarjetas de sonido externas USB
- 7.22 Error 'Unkown hardware' después de una actualización del Kernel
- 7.23 HDA Analyzer
- 7.24 ALSA con SDL
- 7.25 Alternativa al sonido bajo
- 7.26 Sonido abrupto después de reanudar la suspensión
- 7.27 Silencio después de reiniciar
- 8 Configuraciones de ejemplo
- 9 Véase también
Instalación
ALSA está incluido en el kernel de Arch por defecto como un conjunto de módulos, por lo que no es necesaria su instalación explícitamente.
udev explorará automáticamente el hardware en el arranque, cargando el módulo del kernel correcto para la tarjeta de sonido encontrada. Por lo tanto, el sonido debería estar funcionando desde el inicio, pero, ha de tener en cuenta que su configuración viene, por defecto, con todos los canales de audio silenciados.
Los usuarios con un inicio de sesión local (en una terminal virtual o un gestor de pantalla) tienen habilitados los permisos para reproducir sonido y cambiar los niveles del mezclador. Para permitir esto en un inicio de sesión remoto, el usuario tiene que ser añadido al grupo de audio
. La calidad de miembro del grupo de audio
también permite el acceso directo a los dispositivos, lo que puede conducir a que se graben exclusivamente las salidas de las aplicaciones (rompiendo el software de mezcla) y frustrar el rápido intercambio entre usuarios, y multisede. Por lo tanto, la adición de un usuario al grupo de audio
no es recomendable, a menos que se necesite específicamente [1].
Utilidades en el espacio de usuario
Instale el paquete alsa-utils desde los repositorios oficiales que contienen la herrameinta alsamixer
para el espacio de usuario, que permite la configuración de los dispositivos de sonido desde la consola o terminal. Instale también el paquete alsa-plugins si desea remuestreo en alta calidad, upmixing/downmixing y otras características avanzadas.
Si desea que las aplicaciones de OSS funcionen mediante dmix (software de mezcla), instale también el paquete alsa-oss. Cargue los módulos del kernel snd_seq_oss
, snd_pcm_oss
y snd_mixer_oss
para activar los módulos de emulación de OSS.
Abrir los canales de audio
La versión actual de ALSA se instala con todos los canales silenciados por defecto. Será necesario revertir manualmente el enmudecimiento de los canales.
Lo más cómodo es utilizar la interfaz gráfica alsamixer
para hacer esto:
$ alsamixer
Como alternativa, puede usar amixer
desde la línea de comandos:
$ amixer sset Master unmute
La etiqueta MM
, por debajo de un canal, indica que el canal está silenciado, y 00
indica que está abierto.
El procedimiento a seguir es el siguiente:
Desplácese hasta los canales Master
y PCM
con las teclas ←
y →
, y retire el silencio pulsando la tecla m
. Utilice la tecla ↑
para aumentar el volumen y obtener un «dB gain» con valor 0
. El valor «gain» se puede encontrar en la parte superior izquierda junto al campo Item:
. Los valores más altos de «gain» producirán sonido distorsionado.
Para obtener un verdadero sonido envolvente (surround) 5.1 o 7.1 es probable que tenga que activar otros canales como Front, Surround, Center, LFE (subwoofer) y Side (estos son los nombres de los canales para el módulo Intel HD Audio, y pueden variar según el hardware). Tenga en cuenta que esto no se logrará automáticamente con Upmix para las fuentes de sonido estéreo (como, por ejemplo, la música). Con el fin de lograrlo, consulte Upmixing/Downmixing.
Salga de alsamixer pulsando Esc
.
- Algunas tarjetas necesitan tener el canal de salida digital silenciado/apagado para poder escuchar el sonido analógico. Para la LS Soundblaster Audigy es necesario silenciar el canal IEC958.
- Algunas máquinas, (como la Thinkpad T61), tienen un canal speaker (altavoz) que debe ser activado y ajustado también.
- Algunas máquinas (como Dell E6400) también pueden requerir que el silencio sea desactivado en los canales
Front
yHeadphone
y ajustados
Se puede ahora comprobar si el sonido funciona:
$ speaker-test -c 2
Modifique el valor -c para ajustar la configuración de los altavoces. Por ejemplo, use -c 8 para 7.1:
$ speaker-test -c 8
Si esto no funciona, vaya a configuración o consulte la sección sobre solución de problemas.
El paquete alsa-utils incluye alsa-restore.service
y alsa-store.service
, que están preconfigurados para hacer funcionar el arranque y la parada, respectivamente.
Configuración
Sin sonido en virtualbox
Si tiene problemas con virtualbox, el siguiente comando puede ser de ayuda:
$ alsactl init
Found hardware: "ICH" "SigmaTel STAC9700,83,84" "AC97a:83847600" "0x8086" "0x0000" Hardware is initialized using a generic method
Puede que tenga que activar la salida de ALSA en su software de audio también.
Establecer la tarjeta de sonido predeterminada
Si sus tarjetas de sonido cambian de orden durante el arranque, puede especificar el orden de las mismas en el archivo /etc/modprobe.d/modprobe.conf
(se sugiere el archivo /etc/modprobe.d/alsa-base.conf
).
Por ejemplo, si desea que el tarjeta de sonido «mia» se cargue primero, colóquele el valor #0:
/etc/modprobe.d/alsa-base.conf
options snd slots=snd_mia,snd_hda_intel options snd_mia index=0 options snd_hda_intel index=1
Utilice $ lsmod | grep snd
para obtener una lista de dispositivos.
Esta configuración asume que tiene una tarjeta de sonido «mia» usando snd_mia
, y una tarjeta «snd-hda-intel» (es decir, integrada) usando snd_hda_intel
.
También puede proporcionar un índice de -2
para indicarle a ALSA que nunca use una tarjeta como la primera. Distribuciones como Linux Mint y Ubuntu utilizan la siguiente configuración para evitar que USB y de otros tipos de controladores «extraños» obtengan el índice 0
:
/etc/modprobe.d/alsa-base.conf
options bt87x index=-2 options cx88_alsa index=-2 options saa7134-alsa index=-2 options snd-atiixp-modem index=-2 options snd-intel8x0m index=-2 options snd-via82xx-modem index=-2 options snd-usb-audio index=-2 options snd-usb-caiaq index=-2 options snd-usb-ua101 index=-2 options snd-usb-us122l index=-2 options snd-usb-usx2y index=-2 # Keep snd-pcsp from being loaded as first soundcard options snd-pcsp index=-2 # Keep snd-usb-audio from beeing loaded as first soundcard options snd-usb-audio index=-2
Estos cambios requieren un reinicio del sistema, para que surtan efectos.
Seleccionar el PCM por defecto a través de la variable de entorno
En el archivo de configuración, preferentemente el global, agregue:
pcm.!default { type plug slave.pcm { @func getenv vars [ ALSAPCM ] default "hw:Audigy2" } }
Es necesario sustituir la línea «default» con el nombre de la tarjeta (en el ejemplo es Audigy2
). Se pueden obtener los nombres con aplay -l
o también puede utilizar los PCM como surround51. Pero si se necesita utilizar el micrófono es una buena idea seleccionar PCM full-duplex por defecto.
Ahora se pueden comenzar los programas seleccionando la tarjeta de sonido con solo cambiar la variable de entorno ALSAPCM
. Funciona muy bien para todos los programas que no permiten seleccionar la tarjeta, para los demás asegúrese de que mantener la tarjeta predeterminada.
Por ejemplo, asumiendo que escribió un PCM downmix llamado mix51to20 se puede utilizar el mismo con mplayer
usando la línea de órdenes ALSAPCM=mix51to20 mplayer example_6_channel.wav
Método alternativo
En primer lugar, tendrá que averiguar la identificación de la tarjeta y del dispositivo que desea establecer como predeterminados, ejecutando aplay -l
:
$ aplay -l
**** List of PLAYBACK Hardware Devices **** card 0: Intel [HDA Intel], device 0: CONEXANT Analog [CONEXANT Analog] Subdevices: 1/1 Subdevice #0: subdevice #0 card 0: Intel [HDA Intel], device 1: Conexant Digital [Conexant Digital] Subdevices: 1/1 Subdevice #0: subdevice #0 card 1: JamLab [JamLab], device 0: USB Audio [USB Audio] Subdevices: 1/1 Subdevice #0: subdevice #0 card 2: Audio [Altec Lansing XT1 - USB Audio], device 0: USB Audio [USB Audio] Subdevices: 1/1 Subdevice #0: subdevice #0
Por ejemplo, la última entrada de esta lista tiene el ID de la tarjeta 2 y el ID de dispositivo 0. Para establecer esta tarjeta como la predeterminada, puede utilizar el archivo que afecta a todo el sistema /etc/asound.conf
o el archivo específico del usuario ~/.asoundrc
. Puede que tenga que crear el archivo si no existe. A continuación, inserte las siguientes opciones con el id correspondiente del dispositivo y de la tarjeta.
pcm.!default { type hw card 2 } ctl.!default { type hw card 2 }
Las opciones 'pcm' afectan a la tarjeta y al dispositivo que se pueden utilizar para la reproducción de audio, mientras que la opción 'ctl' afecta a la tarjeta que es utilizada por la utilidades de control como alsamixer.
Los cambios entrarán en vigor tan pronto se (re)inicie una aplicación (mplayer, etc.). También puede probar con una orden como aplay:
aplay -D default <your_favourite_sound.wav>
Si recibe un error acerca de la configuración de asound, compruebe upstream documentation para conocer posibles cambios en el formato del archivo de configuración.
Asegurarse de que los módulos de sonido se cargan
Es de suponer que udev detectará automáticamente el sonido correctamente. Puede verificar que esto ha ocurrido así con la orden siguiente:
$ lsmod | grep '^snd' | column -t
snd_hda_codec_hdmi 22378 4 snd_hda_codec_realtek 294191 1 snd_hda_intel 21738 1 snd_hda_codec 73739 3 snd_hda_codec_hdmi,snd_hda_codec_realtek,snd_hda_intel snd_hwdep 6134 1 snd_hda_codec snd_pcm 71032 3 snd_hda_codec_hdmi,snd_hda_intel,snd_hda_codec snd_timer 18992 1 snd_pcm snd 55132 9 snd_hda_codec_hdmi,snd_hda_codec_realtek,snd_hda_intel,snd_hda_codec,snd_hwdep,snd_pcm,snd_timer snd_page_alloc 7017 2 snd_hda_intel,snd_pcm
Si el resultado es similar, los controladores de sonido han sido reconocidos automáticamente con éxito.
udev>=171
, los módulos de emulación de OSS (snd_seq_oss, snd_pcm_oss, snd_mixer_oss
) no se cargan de forma predeterminada: Cárguelos manualmente si son necesarios.También puede ser que desee comprobar el directorio /dev/snd/
para verificar que los archivos de dispositivos son los correctos:
$ ls -l /dev/snd
total 0 crw-rw---- 1 root audio 116, 0 Apr 8 14:17 controlC0 crw-rw---- 1 root audio 116, 32 Apr 8 14:17 controlC1 crw-rw---- 1 root audio 116, 24 Apr 8 14:17 pcmC0D0c crw-rw---- 1 root audio 116, 16 Apr 8 14:17 pcmC0D0p crw-rw---- 1 root audio 116, 25 Apr 8 14:17 pcmC0D1c crw-rw---- 1 root audio 116, 56 Apr 8 14:17 pcmC1D0c crw-rw---- 1 root audio 116, 48 Apr 8 14:17 pcmC1D0p crw-rw---- 1 root audio 116, 1 Apr 8 14:17 seq crw-rw---- 1 root audio 116, 33 Apr 8 14:17 timer
Si tiene presente, por lo menos, los dispositivos controlC0 y pcmC0D0p o similares, entonces los módulos de sonido han sido detectados y cargados correctamente.
Si este no es el caso, sus módulos de sonido no se han detectado correctamente. Para solucionar esto, pruebe intentando cargar los módulos manualmente:
- Localice el módulo de la tarjeta de sonido: ALSA Soundcard Matrix. El módulo contendrá el prefijo 'snd-' (por ejemplo:
snd-via82xx
). - Cargue el módulo.
- Verifique que los archivos del dispositivo en
/dev/snd
tienen una salida razonable (véase más arriba) y/o compruebelo conalsamixer
oamixer
. - Configure
snd-NAME-OF-MODULE
ysnd-pcm-oss
para cargar al arranque.
Conseguir salida SPDIF
(De los foros de Gentoo)
- En el control del volumen de GNOME, en la pestaña Opciones, cambie IEC958 a PCM. Esta opción puede estar habilitada en las preferencias.
- Si no tiene instalado el control del volumen de GNOME:
- Edite
/var/lib/alsa/asound.state
. En este archivo alsasound guarda la configuración de mixer. - Encuentre una línea que dice: 'IEC958 Playback Switch'. Cerca de ella se encuentra una línea que dice
value:false
. Cambie el valor avalue:true
. - Ahora busque esta línea: 'IEC958 Playback AC97-SPSA'. Cambie su valor a
0
. - Reinicie ALSA.
- Edite
Otra forma alternativa para activar la salida SPDIF automáticamente al iniciar sesión (probado en SoundBlaster Audigy):
- Añada las siguientes líneas a
/etc/rc.local
:
# Use COAX-digital output amixer set 'IEC958 Optical' 100 unmute amixer set 'Audigy Analog/Digital Output Jack' on
Se puede ver el nombre de la salida digital de la tarjeta con:
$ amixer scontrols
Ecualizador System-Wide
Usar AlsaEqual (proporciona la interfaz gráfica)
Instale alsaequalAUR desde AUR.
Después de instalar el paquete, introduzca lo siguiente en el archivo de configuración de ALSA (~/.asoundrc
o /etc/asound.conf
):
ctl.equal { type equal; } pcm.plugequal { type equal; # Modifique la línea de abajo si # desea utilizar la tarjeta de sonido 0. #slave.pcm "plughw:0,0"; #por defecto funcionará con más de una fuente simultáneamente: slave.pcm "plug:dmix"; } #pcm.equal { # Si no desea que el ecualizador utilice la # tarjeta de sonido predeterminada comente la siguiente # línea y descomente la línea anterior. (Puede # elegirlo como dispositivo de salida al usar # otras aplicaciones específicas, por ejemplo, mpg123 -a equal 06.Back_In_Black.mp3) pcm.!default { type plug; slave.pcm plugequal; }
Y ya está listo para cambiar su ecualizador con la orden:
$ alsamixer -D equal
Tenga en cuenta que el archivo de configuración es diferente para cada usuario (mientras no se especifique otra cosa) que se guarda en ~/.alsaequal.bin
.
Así que si desea utilizar AlsaEqual con mpd u otro software que se ejecute bajo un usuario diferente, se puede configurar mediante la orden:
# su mpd -c 'alsamixer -D equal'
O, por ejemplo, se puede hacer un enlace simbólico a .alsaequal.bin
en el directorio home de aquel usuario.
Administrar los estados de AlsaEqual
Instale alsaequal-mgr desde los repositorios de Xyne o desde AUR.
Configure el ecualizador como de costumbre con:
$ alsamixer -D equal
Cuando esté satisfecho con el estado, puede darle un nombre («foo» en este ejemplo) y guardarlo:
$ alsaequal-mgr save foo
El estado «foo», entonces se puede restaurar en un momento posterior con:
$ alsaequal-mgr load foo
De esta forma puede crear diferentes estados de ecualizador para juegos, películas, géneros musicales, aplicaciones de VoIP, etc. y volver a cargarlos cuando sea necesario.
Consulte la página del proyecto y los consejos de ayuda para más opciones.
Usar mbeq
Instale los paquetes alsa-plugins, ladspa y swh-plugins si aún no los tiene.
- Si no ha creado el archivo
~/.asoundrc
o/etc/asound.conf
, a continuación, cree cualquiera de ellos y añada lo siguiente:
/etc/asound.conf
pcm.eq { type ladspa # La salida del EQ puede ir directamente a un dispositivo de hardware # (si usted tiene un mezclador de hardware, por ejemplo SBLive/Audigy) o puede ir # para el mezclador de software que se muestra aquí. #slave.pcm "plughw:0,0" slave.pcm "plug:dmix" # A veces es posible que necesite especificar la ruta de los plugins, # especialmente si acaba de instalarlos. Una vez que haya iniciado sesión # salir/reiniciar no debería ser necesario, pero sí, si se producen errores # por no poder encontrar los plugins, intente eliminando el comentario de estos. #path "/usr/lib/ladspa" plugins [ { label mbeq id 1197 input { #este ajuste se puede hacer aquí, por ejemplo; edite a su gusto #bandas: 50Hz, 100Hz, 220Hz, 156hz, 311hz, 440hz, 622hz, 880hz, 1250hz, 1750Hz, 25000hz, #50000hz, 10000Hz, 20000Hz controls [ -5 -5 -5 -5 -5 -10 -20 -15 -10 -10 -10 -10 -10 -3 -2 ] } } ] } # Redirigir el dispositivo predeterminado para pasar por el EQ - es posible que desee hacer esto. # haga esto último, una vez que esté seguro de que todo está funcionando. De lo contrario todos # sus programas de audio se romperán/bloquearán si algo ha ido mal. pcm.!default { type plug slave.pcm "eq" } # Redirigir la emulación OSS a través del EQ también (con programas que corren a través de "AOSS") pcm.dsp0 { type plug slave.pcm "eq" }
- Ahora todo debe ir bien (en su defecto, pregunte en el foro).
Remuestreo de alta calidad
Cuando el software de mezcla está habilitado, ALSA se ve obligado a volver a muestrear (remuestrear) todo en la misma frecuencia (48000 por defecto cuando se admite). Dmix utiliza un algoritmo de remuestreo pobre que produce una pérdida notable de la calidad de sonido.
Instale alsa-plugins y libsamplerate.
Cambie el convertidor de frecuencia por defecto a libsamplerate:
/etc/asound.conf
defaults.pcm.rate_converter "samplerate_best"
o
~/.asoundrc
defaults.pcm.rate_converter "samplerate_best"
samplerate_best ofrece mejor calidad de sonido, pero se necesita una CPU decente para poder usarlo, ya que requiere una gran cantidad de ciclos de CPU en tiempo real para el remuestreo. Existen otros algoritmos disponibles (samplerate, etc.), pero no proporcionan una gran mejora respecto al remuestreador por defecto.
Upmixing/Downmixing
Upmixing
A fin de que una fuente de audio estéreo, como música, pueda ser capaz de ocupar todas las salidas de un sistema de sonido 5.1 o 7.1, es necesario utilizar upmixing. En el pasado este proceso resultaba difícil y propenso a errores, pero a día de hoy existen plugins que hacen fácil esta tarea. Por lo tanto, instale alsa-plugins.
A continuación, añada lo siguiente al archivo de configuración de ALSA de su elección (ya sea /etc/asound.conf
o ~/.asoundrc
):
pcm.upmix71 { type upmix slave.pcm "surround71" delay 15 channels 8 }
Puede cambiar fácilmente este ejemplo de upmixing 7.1 a 5.1 o 4.0.
Esto agrega un nuevo pcm que se puede utilizar por upmixing. Si desea que todas las fuentes de audio pasen por este pcm, agréguelo como predeterminado debajo de la definición anterior, así:
pcm.!default "plug:upmix71"
El plugin permite automáticamente múltiples fuentes de sonido para trabajar a través de él sin problemas, de modo que este ajuste por defecto es, en realidad, una elección segura. Si esto no funciona, pruebe configurar su propio dmixer, para efectuar upmixing del canal PCM, así:
pcm.dmix6 { type asym playback.pcm { type dmix ipc_key 567829 slave { pcm "hw:0,0" channels 6 } } }
y usar «dmix6» en lugar de «surround71». Si experimenta problemas de sonido, como saltos o distorsiones, puede aumentar el buffer_size (a 32768, por ejemplo) o utilizar un remuestreador de alta calidad.
Downmixing
Si se quiere efectuar downmixing (pasar las fuentes de downmix a estéreo), por ejemplo, desea escuchar una película con sonido 5.1 en un equipo de música con salida estéreo, es necesario utilizar el plugin vdownmix
, incluido en el paquete alsa-plugins.
Una vez más, en el archivo de configuración, añada lo siguiente:
pcm.!surround51 { type vdownmix slave.pcm "default" } pcm.!surround40 { type vdownmix slave.pcm "default" }
pcm.!default "plug:surround51"
o pcm.!default "plug:surround40"
. Sólo se puede utilizar un plug vdownmix
; si tiene canales 7.1, necesitará utilizar surround71
en el lugar de la configuración anterior. Un buen ejemplo, que incluye una configuración que funciona tanto convdownmix
como con dmix
, se puede encontrar aquí.Mezclar
Mezclar con software (dmix)
Si eso no funciona automáticamente, sin embargo, es cuestión simplemente de crear un archivo .asoundrc
(o modificar el existente) en el directorio personal, con el siguiente contenido:
pcm.dsp { type plug slave.pcm "dmix" }
Esto debería habilitar dmix (software de mezcla) y permitir el acceso simultáneo de más de una aplicación para hacer uso de la tarjeta de sonido.
Para una salida de sonido digital como S/PDIF, el paquete ALSA todavía no habilita dmix por defecto. Así, la configuración dmix anteriormente citada se puede usar para habilitar dmix para dispositivos con salida S/PDIF.
Consulte el apartado sobre solución de problemas para los problemas más comunes y sus soluciones.
Mezclar con Hardware
Soporte
Si tiene un chipset de audio que soporte mezclar con hardware, entonces no se requiere configuración. Casi todos los chipsets de sonido incorporados no son compatibles con el hardware de mezcla y requieren que la mezcla se haga con software (véase más arriba). Muchas tarjetas de sonido no tienen soporte para la mezcla con hardware y las que tienen mejor soporte en Linux son las siguientes:
- Creative SoundBlaster Live! (modelo 5.1)
- Creative SoundBlaster Audigy (algunos modelos)
- Creative SoundBlaster Audidy 2 (modelos ZS)
- Creative SoundBlaster Audigy 4 (modelos Pro)
- Las variantes de la gama baja de las tarjetas anteriores (Audigy SE, Audigy 2 NX, SoundBlaster Live! de 24 bits y SoundBlaster Live! 7.1) no proporcionan soporte de hardware de mezcla, las cuales usan otros chips.
- Una excepción es el chip integrado VIA8237 que soporta hardware de mezcla de 4-stream. Sin embargo, en algunas placas base solo 3 funcionan (el cuarto no produce ningún sonido), o se rompe recién se inicia. Incluso si funciona, la calidad no es buena en comparación con otras soluciones.
Arreglos
Si está usando Arch 64-bit y la tarjeta Intel Corporation 82801I (ICH9 Family) HD Audio Controller (rev 02), se puede obtener sonido para que funcione con «Enemy Territory» haciendo lo siguiente:
echo "et.x86 0 0 direct" > /proc/asound/card0/pcm0p/oss echo "et.x86 0 0 disable" > /proc/asound/card0/pcm0c/oss
Solución de problemas
Sonido con saltos durante el uso de Dynamic Frequency Scaling
Algunas combinaciones de determinados drivers ALSA y chipsets pueden causar saltos en el audio de todas las fuentes cuando se utiliza en combinación con un regulador de frecuencia de la CPU de escalamiento dinámico como ondemand
o conservative
. En la actualidad, la solución es volver al gobernador performance
.
Consulte la CPU Frequency Scaling para obtener más información.
Problemas con la disponibilidad del software de mezcla por solo un usuario a la vez
Puede suceder que solo un usuario puede utilizar el dmixer a la vez. Esto probablemente pueda andar bien para la mayoría de los usuarios cuando solo ellos utilizan su máquina, pero para los que corren mpd en una máquina con usuarios distintos plantea un problema. Cuando mpd está corriendo, otro usuario normal no puede reproducir sonidos mediante dmixer. Aunque es posible solucionarlo corriendo mpd en la cuenta de inicio de sesión del usuario habilitado, otra solución es factible. Añada la línea ipc_key_add_uid 0
al bloque pcm.dmixer
para desactivar esta limitación. El siguiente es un fragmento del código de asound.conf
, el resto es lo mismo que el anterior.
... pcm.dmixer { type dmix ipc_key 1024 ipc_key_add_uid 0 ipc_perm 0660 slave { ...
Problemas de reproducción simultánea
Si está teniendo problemas de reproducción simultánea, y si PulseAudio se ha instalado (por ejemplo, utilizando GNOME), su configuración por defecto está ajustada para «secuestrar» a favor de pulseadio la tarjeta de sonido. Algunos usuarios de ALSA no desean utilizar PulseAudio y están bastante satisfechos con su actual configuración de ALSA. Una solución para resolver el problema es editar /etc/asound.conf
y comentar las siguientes líneas:
# Use PulseAudio by default #pcm.!default { # type pulse # fallback "sysdefault" # hint { # show on # description "Default ALSA Output (currently PulseAudio Sound Server)" # } #}
Comentando lo siguiente también puede resulta útil:
#ctl.!default { # type pulse # fallback "sysdefault" #}
Esta puede ser una solución mucho más simple que desinstalar por completo PulseAudio.
Efectivamente, este es un ejemplo de un archivo /etc/asound.conf
funcionando correctamente:
pcm.dmixer { type dmix ipc_key 1024 ipc_key_add_uid 0 ipc_perm 0660 } pcm.dsp { type plug slave.pcm "dmix" }
/etc/asound.conf
fue creado y utilizado con éxito para una configuración global de MPD. Consulte esta sección sobre múltiples usuariosAusencia de sonido al azar en el inicio
Se puede probar rápidamente el sonido mediante la ejecución de speaker-test
. Si no hay sonido, el mensaje de error podría ser algo como:
ALSA lib pcm_dmix.c:1022:(snd_pcm_dmix_open) unable to open slave Playback open error: -16 Device or resource busy
Si no tiene sonido aleatoriamente en el arranque, puede deberse a que el sistema tiene varias tarjetas de sonido, y su orden puede, a veces, cambiar al inicio. Si este es el caso, trate de configurar la tarjeta de sonido predefinida
Si utiliza mpd y los consejos de configuración anteriores no funcionan para usted, intente leyendo esto en su lugar.
Timidity
Timidity puede ser la causa de la falta de audio. Pruebe a ejecutar:
$ systemctl status timidity
Si esto falla, pruebe # killall -9 timidity
. Si esto resuelve el problema, debe desactivar el demonio timidity para que no se inicie al arranque.
Problemas específicos de algunos programas
Algunos programas definen por sí su propia configuración de audio, por ejemplo, XMMS o Mplayer, con lo cual tendría que configurar sus opciones específicas.
Para mplayer, abra ~/.mplayer/config
(o /etc/mplayer/mplayer.conf
para el ajuste global) y añada la siguiente línea:
ao=alsa
Para XMMS/Beep Media Player, entre en sus opciones y asegúrese de que el controlador de sonido está ajustado a ALSA y no, a OSS.
Para hacer esto en XMMS:
- Abra XMMS
- Opciones → Preferencias.
- Elija el plugin de salida de Alsa.
Para las aplicaciones que no proporcionan compatibilidad con ALSA, puede usar AOSS desde el paquete alsa-oss. Para utilizar aoss, se ejecuta el programa, anteponiendo el prefijo aoss
, por ejemplo:
aoss realplay
pcm.!default{ ... } parece que no funciona más, pruebe en su lugar:
pcm.default pcm.dmixer
Configurar los modelos
Aunque Alsa detecta la tarjeta de sonido a través de la BIOS, a veces puede no ser capaz de reconocer el tipo de modelo. El chip de la tarjeta de sonido puede ser encontrado en alsamixer
(por ejemplo ALC662) y el modelo se puede ajustar en /etc/modprobe.d/modprobe.conf
o /etc/modprobe .d/sound.conf
. Por ejemplo:
options snd-hda-intel model=MODEL
Hay otras opciones, según el modelo. Para la mayoría de los casos, Alsa lo hará de manera automática, por defecto. Si desea ver más opciones de configuración específica para su tarjeta de sonido, eche un vistazo a la Lista de Tarjetas de sonido Alsa, localice su modelo, a continuación, pinche en Detalles, a continuación, busque la sección «Setting up modprobe ...». Introduzca esos valores en el archivo /etc/modprobe.d/modprobe.conf
. Por ejemplo, para una tarjeta de audio Intel AC97:
# ALSA portion alias char-major-116 snd alias snd-card-0 snd-intel8x0 # module options should go here # OSS/Free portion alias char-major-14 soundcore alias sound-slot-0 snd-card-0 # card #1 alias sound-service-0-0 snd-mixer-oss alias sound-service-0-1 snd-seq-oss alias sound-service-0-3 snd-pcm-oss alias sound-service-0-8 snd-seq-oss alias sound-service-0-12 snd-pcm-oss
Audio en conflicto con altavoz interno del PC
Si está seguro de que nada está silenciado, que los controladores están instalados correctamente y que el volumen es el correcto, pero todavía no se oye nada, entonces trate de añadir la siguiente línea a /etc/modprobe.d/modprobe.conf
:
options snd-NAME-OF-MODULE ac97_quirk=0
La solución anterior se ha observado que funciona con via82xx
options snd-NAME-OF-MODULE ac97_quirk=1
La solución anterior se ha informado que funciona con snd_intel8x0
Sin entrada en el micrófono
En alsamixer, asegúrese de que todos los niveles del volumen, en la sección grabación, están activados, y que la modalidad CAPTURE del micrófono está activa (por ejemplo, Mic, -micrófono interno-) y/o sobre capture (en alsamixer, seleccione estos elementos en el primer espacio). Pruebe poner Mic Boost en positivo y aumentar al máximo los niveles de Capture y Digital; esto no produce sonido o lo produce distorsionado, pero entonces podrá ajustar los niveles hacia abajo hasta oir algo cuando se graba.
En la medida que pulseaudio se muestra como «default» en alsamixer, puede ser necesario presionar F6 para seleccionar la propia tarjeta de sonido en primer lugar. También puede ser necesario activar y aumentar el volumen de Line-in (Línea de entrada) en la sección Playblack (reproducción).
Para probar el micrófono, ejecute estas órdenes (consulte la página del manual de arecord para más información):
arecord -d 5 test-mic.wav aplay test-mic.wav
Si todo falla, es posible que desee descartar un fallo de hardware, probando el micrófono con un dispositivo diferente.
En algunos ordenadores, silenciar un micrófono (MM) significa simplemente que su entrada no va de inmediato a los altavoces. Todavía recibe la entrada.
Muchos portátiles Dell necesitan «-dmic», que se añade al nombre del modelo en /etc/modprobe.d/modprobe.conf
:
options snd-hda-intel model=dell-m6-dmic
Algunos programas intenta utilizar OSS como software de entrada principal. Si tiene inicialmente activados los módulos del kernel snd_pcm_oss
, snd_mixer_oss
o snd_seq_oss
(no se cargan de forma predeterminada), pruebe entonces evitar cargarlos.
Consulte también:
Configuración predeterminada de Micrófono/Dispositivo de captura
Algunas aplicaciones (Pidgin, Adobe Flash) no ofrecen una opción para cambiar el dispositivo de captura. Se convierte en un problema si el micrófono está en un dispositivo separado (por ejemplo, webcam USB o micrófono) de la tarjeta de sonido interna. Para cambiar solo el dispositivo de captura predeterminado, dejando el dispositivo de reproducción predeterminado como está, puede editar el archivo ~/.asoundrc
para incluir lo siguiente:
pcm.usb { type hw card U0x46d0x81d } pcm.!default { type asym playback.pcm { type plug slave.pcm "dmix" } capture.pcm { type plug slave.pcm "usb" } }
Reemplace «U0x46d0x81d» con el nombre de la tarjeta del dispositivo de captura en ALSA. Es posible utilizar la orden arecord -L
para listar todos los dispositivos de captura detectados por ALSA.
El micrófono interno no funciona
En primer lugar, asegúrese, en almixer, de que todos los niveles del volumen, en la sección de grabación, están activados. Para obtener un nuevo ajuste del volumen, llamado Capture, que registre el micrófono interno, vuelva a añadir una nueva opción al archivo /etc/sound.conf y recargue el módulo snd-*. Por ejemplo, para snd-hda-intel, añada:
options snd-hda-intel enable_msi=1
Recargando el módulo (como se indica abajo), activará el nuevo ajuste del volumen de grabación (Capture) y luego pruebe.
# rmmod snd-hda-intel && modprobe snd-hda-intel
Sin sonido con tarjeta de sonido Intel integrada
Puede haber un problema con dos módulos cargados en conflicto, a saber snd_intel8x0
y snd_intel8x0m
. En este caso, introduzca en blacklist snd_intel8x0m:
/etc/modprobe.d/modprobe.conf
blacklist snd_intel8x0m
Deshabilitar el canal «External Amplifier» en alsamixer
o amixer
también puede ayudar. Consulte la wiki de ALSA.
Activar el sonido en la configuración de «Mix» en el mezclador puede ayudar, también.
Sin sonido en auriculares con tarjeta de sonido Intel integrada
Si tiene un portatil con Intel Corporation 82801 I (ICH9 Family) HD Audio Controller, puede que tenga que añadir esta línea a modprobe o sound.conf:
options snd-hda-intel model=$model
Donde $model es cualquiera de los siguientes modelos (por orden de posibilidad de funcionar, no por mérito):
- dell-vostro
- olpc-xo-1_5
- laptop
- dell-m6
- laptop-hpsense
Puede ver todos los modelos disponibles en la documentación del kernel. Por ejemplo aquí, pero compruebe que se trata de la versión correcta de ese documento para su versión del kernel.
Una lista de modelos disponibles también está recogida aquí. Para conocer el nombre de su chip debe escribir la siguiente orden (con el asterisco *
que permite adaptarse a las peculiaridades de sus archivos). Tenga en cuenta que algunos chips podrían haber cambiado de nombre y no corresponderse directamente a los que están disponibles en el archivo.
cat /proc/asound/card*/codec* | grep Codec
Tenga en cuenta, por último, que hay una alta probabilidad de que ninguno de los dispositivos de entrada (todos los micrófonos internos y externos) funcionen si decide hacer esto, por lo que o funcionarán los auriculares o el micrófono. Por favor, informe a ALSA si se ve afectado por este error.
Por otro lado, si tiene problemas con las señales acústicas (pcspkr):
options snd-hda-intel model=$model enable=1 index=0
Sin sonido cuando se instala la tarjeta de vídeo con S/PDIF
Localice los módulos disponibles y su orden:
$ cat /proc/asound/modules 0 snd_hda_intel 1 snd_ca0106
Desactive el códec de audio de la tarjeta de vídeo en /etc/modprobe.d/modprobe.conf
:
# /etc/modprobe.d/modprobe.conf # install snd_hda_intel /bin/false
Si ambos dispositivos utilizan el mismo módulo, entonces podría utilizar el parámetro *enable* del módulo snd-hda-intel, el cual es una matriz booleana que permite activar/desactivar la tarjeta de sonido deseada.
Por ejemplo:
options snd-hda-intel enable=1,0
Lo siguiente da la lista de las tarjetas:
cat /proc/asound/cards
Calidad de audio deficiente
Si la calidad de sonido es pobre, intente ajustar el volumen de PCM (en alsamixer) a un nivel tal que gain sea 0.
Si se ha cargado el controlador snd-usb-audio, puede intentar habilitar softvol
en el archivo /etc/asound.conf. He aquí un ejemplo de configuración para el primer dispositivo de audio:
pcm.!default { type plug slave.pcm "softvol" } pcm.dmixer { type dmix ipc_key 1024 slave { pcm "hw:0" period_time 0 period_size 4096 buffer_size 131072 rate 50000 } bindings { 0 0 1 1 } } pcm.dsnooper { type dsnoop ipc_key 1024 slave { pcm "hw:0" channels 2 period_time 0 period_size 4096 buffer_size 131072 rate 50000 } bindings { 0 0 1 1 } } pcm.softvol { type softvol slave { pcm "dmixer" } control { name "Master" card 0 } } ctl.!default { type hw card 0 } ctl.softvol { type hw card 0 } ctl.dmixer { type hw card 0 }
Crepiteos al iniciar y detener la reproducción
Algunos módulos (como snd-ac97-codec y snd-hda-intel) pueden apagar la tarjeta de sonido cuando no está en uso. Esto puede provocar un ruido audible (como un crack/pop/crepiteos) al encender/apagar su tarjeta de sonido. A veces, puede ocurrir, incluso, cuando se mueve el control deslizante del volumen, o las ventanas se abren y cierran (KDE4). Si encuentra este sonido molesto, puede ejecutar modinfo snd-MY-MODULE
, y buscar una opción que regule o desactive esta función.
Ejemplo: para desactivar el modo de ahorro de energía utilizando snd-hda-intel para evitar las distorsiones y resolver el problema de sonido de los altavoces, añada en /etc/modprobe.d/modprobe.conf
[options snd-hda-intel power_save=0]
o
[options snd-hda-intel power_save=0 power_save_controller=N]
También puede probar con modprobe snd_hda_intel power_save=0
antes.
Puede que sea necesario también activar el canal 'Line' de alsa para que esto funcione. Cualquier valor puede servir (que no sea '0' o algo muy alto).
Ejemplo: en una tarjeta integrada VIA VT1708S (utilizando el módulo snd-hda-intel) estas distorsiones seguían presentes a pesar de haber ajustado el parámetro 'power_save' a 0. Activando el canal 'Line' y estableciendo el valor '1' se resolvió el problema.
Fuente: http://www.kernel.org/doc/Documentation/sound/alsa/powersave.txt
Si utiliza un ordenador portátil, pm-utils cambiará power_save
de nuevo a 1
cuando se utiliza la batería, incluso si se desactiva el ahorro de energía en /etc/modprobe.d
. Para solucionar este problema, desactive esta opción para pm-utils mediante la desactivación del script que realiza el cambio:
# chmod -x /usr/lib/pm-utils/power.d/intel-audio-powersave
La salida S/PDIF no funciona
Si la salida digital óptica/coaxial de la placa base/tarjeta de sonido no funciona o ha dejado de funcionar, y en alsamixer los correspondientes canales de sonido están activados, pruebe lo siguiente:
# iecset audio on
También puede poner esta orden en un servicio de systemd activado, ya que a veces puede dejar de funcionar después de un reinicio.
La salida HDMI no funciona
El procedimiento descrito a continuación se puede utilizar para una prueba de audio HDMI. Antes de continuar, asegúrese de que ha activado y quitado el silencio de la salida con alsamixer
.
Conecte el PC a la pantalla mediante un cable HDMI y active la pantalla con una herramienta como xrandr
o arandr
. Por ejemplo:
$ xrandr # list outputs $ xrandr --output DVI-D_1 --mode 1024x768 --right-of PANEL # enable output
Utilice la orden aplay -l
para descubrir el número de la tarjeta y del dispositivo. Por ejemplo:
$ aplay -l
**** List of PLAYBACK Hardware Devices **** card 0: NVidia [HDA NVidia], device 0: ALC1200 Analog [ALC1200 Analog] Subdevices: 1/1 Subdevice #0: subdevice #0 card 0: NVidia [HDA NVidia], device 1: ALC1200 Digital [ALC1200 Digital] Subdevices: 1/1 Subdevice #0: subdevice #0 card 0: NVidia [HDA NVidia], device 3: NVIDIA HDMI [NVIDIA HDMI] Subdevices: 0/1 Subdevice #0: subdevice #0
Ahora que tenemos la información del dispositivo HDMI, haga una prueba. En el siguiente ejemplo, 0 es el número de tarjeta y 3 es el número de dispositivo.
$ aplay -D plughw:0,3 /usr/share/sounds/alsa/Front_Center.wav
Si «aplay» no emite ningún error, pero aún no hay ningún sonido, «reinicie» el receptor, monitor o televisor. Desde la interfaz HDMI revise rigurosamente la conexión, dado que podría haber informado anteriormente de que no había flujo de audio y haber deshabilitado así la decodificación de audio.En particular, si está usando un gestor de ventanas independiente (distinto al de Gnome o KDE), puede que tenga un poco de reproducción de sonido mientras enchufa el cable HDMI.
Si la prueba tiene éxito, cree o modifique el archivo ~/.asoundrc
para establecer HDMI como el dispositivo de audio predeterminado.
~/.asoundrc
pcm.!default { type hw card 0 device 3 }
O si la configuración de arriba no funciona, pruebe esto:
~/.asoundrc
defaults.pcm.card 0 defaults.pcm.device 3 defaults.ctl.card 0
La salida multicanal PCM de HDMI no funciona (Intel)
En Linux 3.1 la salida multicanal PCM a través de HDMI con una tarjeta Intel (Intel Eaglelake, IbexPeak/Ironlake,SandyBridge/CougarPoint y IvyBridge/PantherPoint) aún no está soportada. El apoyo está siendo desarrollado actualmente y se espera que esté disponible para Linux 3.2. Para hacer que funcione en Linux 3.1 es necesario aplicar los siguientes parches:
HP TX2500
Agregue estas dos líneas en /etc/modprobe.d/modprobe.conf
:
options snd-cmipci mpu_port=0x330 fm_port=0x388 options snd-hda-intel index=0 model=toshiba position_fix=1
options snd-hda-intel model=hp (funciona para tx2000cto)
Salto de sonido durante la reproducción MP3
Si tiene saltos de sonido al reproducir archivos MP3 y tiene más de dos altavoces conectados al ordenador (es decir, dos o más sistema de altavoces), ejecute alsamixer
y desactive los canales para los altavoces que NO tiene (es decir, deshabilite, por ejemplo, el canal del altavoz central si no se dispone de un altavoz central).
Auriculares USB y tarjetas de sonido externas USB
Si está usando un auricular USB con ALSA puede probar a usar asoundconfAUR (actualmente solo disponible en AUR) para ajustar el auricular como salida de sonido principal. Antes de proseguir, asegúrese de tener el módulo usb audio habilitado (modprobe snd-usb-audio
).
# asoundconf is-active # asoundconf list # asoundconf set-default-card <tarjeta-de-sonido elegida>
Sonido crepitante con dispositivos USB
Si usted experimenta crepiteos o crujidos en dispositivos USB, puede intentar ajustar el snd-usb-audio para una latencia mínima.
Agregue lo siguiente a su /etc/modprobe.d/modprobe.conf
:
options snd-usb-audio nrpacks=1
Fuente: http://alsa.opensrc.org/Usb-audio#Tuning_USB_devices_for_minimal_latencies
Conexión hot-plugging de una tarjeta de sonido USB
Con el fin de configurar automáticamente una tarjeta de sonido USB como dispositivo de salida principal, cuando la tarjeta está conectada, puede utilizar las siguientes reglas udev (por ejemplo, añadir las dos líneas siguientes a /etc/udev/rules.d/00-local.rules
y reiniciar).
KERNEL=="pcmC[D0-9cp]*", ACTION=="add", PROGRAM="/bin/sh -c 'K=%k; K=$${K#pcmC}; K=$${K%%D*}; echo defaults.ctl.card $$K > /etc/asound.conf; echo defaults.pcm.card $$K >>/etc/asound.conf'" KERNEL=="pcmC[D0-9cp]*", ACTION=="remove", PROGRAM="/bin/sh -c 'echo defaults.ctl.card 0 > /etc/asound.conf; echo defaults.pcm.card 0 >>/etc/asound.conf'"
Error 'Unkown hardware' después de una actualización del Kernel
Los siguientes mensajes pueden aparecer durante la puesta en marcha de ALSA después de la actualización del kernel:
Unknown hardware "foo" "bar" ... Hardware is initialized using a guess method /usr/sbin/alsactl: set_control:nnnn:failed to obtain info for control #mm (No such file or directory)
o
Found hardware: "HDA-Intel" "VIA VT1705" "HDA:11064397,18490397,00100000" "0x1849" "0x0397" Hardware is initialized using a generic method /usr/sbin/alsactl: set_control:1328: failed to obtain info for control #1 (No such file or directory) /usr/sbin/alsactl: set_control:1328: failed to obtain info for control #2 (No such file or directory) /usr/sbin/alsactl: set_control:1328: failed to obtain info for control #25 (No such file or directory) /usr/sbin/alsactl: set_control:1328: failed to obtain info for control #26 (No such file or directory)
Simplemente guarde las configuraciones del mixer de ALSA otra vez (como root):
# alsactl -f /var/lib/alsa/asound.state store
Puede ser necesario configurar de nuevo ALSA con alsamixer
.
HDA Analyzer
Si las asignaciones de los pin (conectores) de audio no se corresponden con ALSA, pero este funciona bien, puede probar con HDA Analyzer -una interfaz gráfica de usuario pyGTK2 para el control de audio HD, que se puede encontrar en la wiki de ALSA-. Trate de configurar la sección de Control Widget para gestionar los PIN, ajustando IN para micrófonos y AUT para auriculares. Puede ser buena idea hacer referencia a los valores por defecto (Config Defaults).
- El script se ejecuta de tal manera que es incompatible con python3 (que es el actualmente proporcionado por ArchLinux) pero, no obstante, trate de usarlo.Para solucionar este problema, abra «run.py», encuentre todas las entradas de «python» (2 entradas - una en la primera línea, y la segunda en la última línea) y reemplácelas todas por «python2».
- El script requiere acceso de root, pero no funciona a través de su/sudo. Ejecútelo mediante
kdesu
ogksu
.
ALSA con SDL
Si no se obtiene ningún sonido a través de SDL, y ALSA no puede ser seleccionado desde la configuración de la aplicación, pruebe a establecer la variable de entorno SDL_AUDIODRIVER a «alsa».
# export SDL_AUDIODRIVER=alsa
Alternativa al sonido bajo
Si se obtiene un sonido bajo, incluso después usar al máximo sus altavoces/auriculares, puede intentar solucionar el problema probando el plugin softvol. Agregue lo siguiente a /etc/asound.conf
.
pcm.!default { type plug slave.pcm "softvol" } pcm.softvol { type softvol slave { pcm "dmix" } control { name "Pre-Amp" card 0 } min_dB -5.0 max_dB 20.0 resolution 6 }
plug
con hw
en la configuración antes expuestaDespués que los cambios se carguen correctamente, aparecerá una nueva sección Pre-Amp
en alsamixer. Puede ajustar los niveles desde allí.
- Establecer un valor alto para
Pre-Amp
puede causar distorsión del sonido, por lo que ajustelo de acuerdo al nivel más adecuado. - Algunos códecs de audio pueden necesitar ajustes en el HDA Analyzer (véase arriba) a fin de lograr un volumen adecuado y sin distorsión. Comprobar la opción HP con el control del widget en el interruptor del Playback (Node[0x14] PIN en el códec ALC892, por ejemplo) puede, a veces, mejorar la calidad del audio y del volumen significativamente.
Sonido abrupto después de reanudar la suspensión
Se puede escuchar un sonido a modo de estallido después de reanudar el equipo desde la suspensión. Esto se puede solucionar editando /etc/pm/sleep.d/90alsa
y eliminado la línea que dice aplay -d 1 /dev/zero
Silencio después de reiniciar
Tras el arranque, el ajuste de sonido establecido con alsamixer no permanece. Tal vez se pueda restablecer con la orden sudo alsactl restore
. Compruebe el estado del indicador Auto-Mute
en alsamixer: ajuste Enabled
a Disabled
.
Configuraciones de ejemplo
Consulte Advanced Linux Sound Architecture/Example Configurations.