Difference between revisions of "Advanced Linux Sound Architecture (Español)"
m (Added external link) |
(Updated in relation to the English entry.) |
||
Line 29: | Line 29: | ||
ALSA ha sido incluido en los kernels 2.6 y en todos los paquetes '''kernel26*''' de Archlinux. Si quiere compilar un kernel propio no olvide habilitar el driver ALSA adecuado. | ALSA ha sido incluido en los kernels 2.6 y en todos los paquetes '''kernel26*''' de Archlinux. Si quiere compilar un kernel propio no olvide habilitar el driver ALSA adecuado. | ||
− | Todos los módulos necesarios deberían ser detectados y cargados automáticamente por udev. No se necesita de ningúna configuración especial a menos que su tarjeta de sonido sea ISA. No use alsaconf si tiene una tarjeta PCI o ISAPNP, ya que el programa añade líneas a modprobe.conf que pueden romper la autodetección de udev. Si ya ha ejecutado el programa borre todo el contenido de <code>/etc/modprobe.conf</code> (si usted ya ha agregado alguna línea no es necesario que la borre). Necesitará privilegios de root para esto. | + | Todos los módulos necesarios deberían ser detectados y cargados automáticamente por udev. No se necesita de ningúna configuración especial a menos que su tarjeta de sonido sea ISA. No use '''NUNCA''' alsaconf si tiene una tarjeta PCI o ISAPNP, ya que el programa añade líneas a modprobe.conf que pueden romper la autodetección de udev. Si ya ha ejecutado el programa borre todo el contenido de <code>/etc/modprobe.conf</code> (si usted ya ha agregado alguna línea no es necesario que la borre). Necesitará privilegios de root para esto. |
− | == Utilidades | + | == Utilidades de area de usuario == |
* Necesarios para los programas nativos de ALSA y su administración | * Necesarios para los programas nativos de ALSA y su administración | ||
Line 154: | Line 154: | ||
$ alsamixer | $ alsamixer | ||
− | * | + | * Salga de la sesión e ingrese de nuevo para que funcione el sonido. |
* <b>KDE 3.3</b> Dirígase al menu K > Multimedia > KMix | * <b>KDE 3.3</b> Dirígase al menu K > Multimedia > KMix | ||
Line 168: | Line 168: | ||
* instale también los paquetes ladspa y swh-plugins si no los tiene ya | * instale también los paquetes ladspa y swh-plugins si no los tiene ya | ||
pacman -S ladspa swh-plugins | pacman -S ladspa swh-plugins | ||
− | * si no tiene ya creados los archivos ~/.asoundrc | + | * si no tiene ya creados los archivos ~/.asoundrc o /etc/asound.conf, crée uno de ellos |
vim ~/.asoundrc | vim ~/.asoundrc | ||
* inserte lo siguiente en su archivo de configuración de alsa (~/.asoundrc o /etc/asound.conf) | * inserte lo siguiente en su archivo de configuración de alsa (~/.asoundrc o /etc/asound.conf) | ||
pcm.eq { | pcm.eq { | ||
type ladspa<br> | type ladspa<br> | ||
− | # | + | # La salida del EQ puede ir bien directamente a un dispositivo de hardware |
− | # ( | + | # (si dispone de un mezclador por hardware, p.ej. SBLive/Audigy) o bien puede ir |
− | # | + | # al mezclador por software visto aquí. |
#slave.pcm "plughw:0,0" | #slave.pcm "plughw:0,0" | ||
slave.pcm "plug:dmix"<br> | slave.pcm "plug:dmix"<br> | ||
− | # | + | # A veces tendrá que especificar la ruta a los plugins, especialmente si acaba de |
− | # | + | # instalarlos. Una vez haya abandonado la sesión y rearrancado esto no |
− | # | + | # debería ser necesario, pero si recibe mensajes de error acerca de la |
− | # | + | # imposibilidad de encontrar los plugins, pruebe a descomentar ésto. |
#path "/usr/lib/ladspa"<br> | #path "/usr/lib/ladspa"<br> | ||
plugins [ | plugins [ | ||
Line 188: | Line 188: | ||
id 1197 | id 1197 | ||
input { | input { | ||
− | # | + | #este valor está aquí como ejemplo, edítelo a su gusto |
− | # | + | #bandas: 50hz, 100hz, 156hz, 220hz, 311hz, 440hz, 622hz, 880hz, 1250hz, 1750hz, 25000hz, |
#50000hz, 10000hz, 20000hz | #50000hz, 10000hz, 20000hz | ||
controls [ -5 -5 -5 -5 -5 -10 -20 -15 -10 -10 -10 -10 -10 -3 -2 ] | controls [ -5 -5 -5 -5 -5 -10 -20 -15 -10 -10 -10 -10 -10 -3 -2 ] | ||
Line 196: | Line 196: | ||
] | ] | ||
}<br> | }<br> | ||
− | # | + | # Redirija el dispositivo por defecto via el EQ - usted querrá hacer ésto |
− | # | + | # lo último, una vez esté seguro de que todo funciona. De otro modo todos |
− | # | + | # sus programas de audio dejarán de funcionar si algo ha ido mal.<br> |
pcm.!default { | pcm.!default { | ||
type plug | type plug | ||
slave.pcm "eq" | slave.pcm "eq" | ||
}<br> | }<br> | ||
− | # | + | # Redirija también la emulación OSS por el EQ (cuando los programas corren por "aoss")<br> |
pcm.dsp0 { | pcm.dsp0 { | ||
type plug | type plug |
Revision as of 20:49, 28 April 2008
Template:I18n links start Template:I18n entry Template:I18n entry Template:I18n entry Template:I18n entry Template:I18n entry Template:I18n entry Template:I18n entry Template:I18n entry Template:I18n entry Template:I18n entry Template:I18n entry Template:I18n entry Template:I18n entry Template:I18n links end
Introducción
ALSA es el acrónimo de "Advanced Linux Sound Architecture" (que significa Arquitectura de Sonido Avanzada para Linux en español). Es un componente del kernel Linux que proporciona controladores para las tarjetas de sonido.
Mire OSS si busca alternativas.
Instalación
Drivers del kernel
ALSA ha sido incluido en los kernels 2.6 y en todos los paquetes kernel26* de Archlinux. Si quiere compilar un kernel propio no olvide habilitar el driver ALSA adecuado.
Todos los módulos necesarios deberían ser detectados y cargados automáticamente por udev. No se necesita de ningúna configuración especial a menos que su tarjeta de sonido sea ISA. No use NUNCA alsaconf si tiene una tarjeta PCI o ISAPNP, ya que el programa añade líneas a modprobe.conf que pueden romper la autodetección de udev. Si ya ha ejecutado el programa borre todo el contenido de /etc/modprobe.conf
(si usted ya ha agregado alguna línea no es necesario que la borre). Necesitará privilegios de root para esto.
Utilidades de area de usuario
- Necesarios para los programas nativos de ALSA y su administración
# pacman -Sy alsa-lib alsa-utils
- Recomendado si quiere usar aplicaciones con soporte de OSS en combinación con dmix:
# pacman -S alsa-oss
Todos los programas ALSA dependerán de la librería alsa-lib.
Configuración
Asegurándose de que los módulos estén cargados
Puede suponer que udev autodetectó su tarjeta de sonido correctamente, y que incluso cargó los módulos de compatibilidad OSS. Si quiere comprobarlo, puede hacerlo con lsmod:
$ lsmod | grep '^snd' snd_usb_audio 69696 0 snd_usb_lib 13504 1 snd_usb_audio snd_rawmidi 20064 1 snd_usb_lib snd_hwdep 7044 1 snd_usb_audio snd_seq_oss 29412 0 snd_seq_midi_event 6080 1 snd_seq_oss snd_seq 46220 4 snd_seq_oss,snd_seq_midi_event snd_seq_device 6796 3 snd_rawmidi,snd_seq_oss,snd_seq snd_pcm_oss 45216 0 snd_mixer_oss 15232 1 snd_pcm_oss snd_intel8x0 27932 0 snd_ac97_codec 87648 1 snd_intel8x0 snd_ac97_bus 1792 1 snd_ac97_codec snd_pcm 76296 4 snd_usb_audio,snd_pcm_oss,snd_intel8x0,snd_ac97_codec snd_timer 19780 2 snd_seq,snd_pcm snd 43776 12 snd_usb_audio,snd_rawmidi,snd_hwdep,snd_seq_oss,snd_seq,snd_seq_device,snd_pcm_oss,snd_mixer_oss,snd_intel8x0,snd_ac97_codec,snd_pcm,snd_timer snd_page_alloc 7944 2 snd_intel8x0,snd_pcm
Si la salida es similar, los controladores de su tarjeta de sonido fueron autodetectados correctamente (en este caso, snd_intel8x0 y snd_usb_audio son los drivers de los dispositivos de hardware). También puede verificar que en el directorio /dev/snd se encuentren los ficheros de dispositivo 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 al menos tiene el dispositivo controlC0 y pcmC0D0p (o similar) entonces los módulos de sonido han sido cargados sin problemas.
Si no es el caso, sus módulos de sonido no fueron detectados o algo impide que se carguen. Si quiere ayuda en IRC o en los foros, por favor, incluya la salida de los programas mencionados en su mensaje. Para solucionar ésto, puede intentar cargar los módulos manualmente:
- Encuentre el módulo de su tarjeta: http://www.alsa-project.org/alsa-doc/. El prefijo del módulo será 'snd-' (por ejemplo: 'snd-via82xx').
- Cargue los módulos:
# modprobe snd-NAME-OF-MODULE # modprobe snd-pcm-oss
- Busque los ficheros del dispositivo en /dev/snd (mire más arriba) y/o pruebe si alsamixer o amixer pueden producir alguna salida de audio.
- Añada snd-NOMBRE-DEL-MÓDULO y snd-pcm-oss a la lista de "MODULES" en /etc/rc.conf para que carguen al arrancar el ordenador (asegúrese de que snd-NOMBRE-DEL-MÓDULO está antes de snd-pcm-oss).
Probando la tarjeta de sonido
En esta sección damos poe supuesto que es root. Si quiere realizar los pasos en un usuario sin privilegios, debe saltar a la parte Dando Permisos primero.
- Revirtiendo el silencio por defecto de la tarjeta.
La versión actual de ALSA deja a todas las tarjetas mudas por defecto, así que aunque la instalación haya resultado exitosa y tenga todos los módulos cargados, no escuchará ningún sonido. Deberá revertir el estado de silencio de los canales manualmente. Se recomienda usar 'alsamixer
' para hacerlo. Desde la interfaz de alsamixer (basada en texto), la etiqueta "MM" bajo un canal significa que el mismo esta mudo, y "00" indica que está abierto. Presione la tecla 'm' para pasar de MM/00. Use las flechas de dirección derecha/izquierda para navegar por los canales y arriba/abajo para cambiar el volúmen.
NOTA: Cuando use amixer
, no solo debe asegurarse de revertir el silencio sino también de dejar un buen nivel de volúmen. El programa entiende los valores por porcentaje, no por números. Si usa un número (digamos, 90) entonces amixer
lo tomará como un 100%, lo que puede dañar sus altavoces.
# amixer set Master 90% unmute # amixer set PCM 85% unmute
- Trate de reproducir un archivo WAV
# aplay mywav.wav
NOTA: Algunas tarjetas (hasta ahora sólo se vió en una Soundblaster Audigy LS) necesitan la salida digital apagada o muda para poder escuchar sonido analógico.
Dando Permisos
Para poder usar el sonido siendo un usuario común, siga estos pasos:
- Añada su usuario al grupo audio:
# gpasswd -a NOMBRE_DE_USUARIO audio
- Salga de su sesión y vuelva a entrar para que los cambios tengan efecto.
Cargar la configuración de ALSAMIXER al arranque
- Ejecute 'alsactl' una vez para crear '
/etc/asound.state
':
alsactl store
- Edite '/etc/rc.conf' y añada 'alsa' a la lista de "DAEMONS". Ésto guardará la configuración de ALSA al apagado y la volverá a cargar al bootear.
Consiguiéndo la salida de SPDIF
(de gralves de los foros de Gentoo)
- En el control de volúmen de GNOME, bajo la pestaña "Opciones", cambie de IEC958 a PCM. Esta opción puede ser habilitada en "Preferencias".
- Si no tiene instalado el control de volúmen de Gnome,
- Edite
/etc/asound.state
. Este fichero es donde alsasound guarda las preferencias. - Encuentre la línea que dice: 'IEC958 Playback Switch'. Cerca de ella encontrará una línea diciendo "
value:false
". Cámbielo a "value:true
". - Ahora encuentre esta línea: 'IEC958 Playback AC97-SPSA'. Cambie su valor a 0.
- Reinicie ALSA (para hacerlo:
# /etc/rc.d/alsa restart
).
- Edite
Forma alternativa de habilitar la salida de SPDIF automáticamente en el login (probado en una SoundBlaster Audigy):
- añada las siguientes líneas a /etc/rc.local:
# Usar salida COAX-digital amixer set 'IEC958 Optical' 100 unmute amixer set 'Audigy Analog/Digital Output Jack' on
Puede ver el nombre de la salida digital de tu tarjeta con:
amixer scontrols
Configuración en KDE
- Inicia KDE:
$ startx
- Configure los niveles de volumen para este usuario (cada usuario tiene sus propios niveles):
$ alsamixer
- Salga de la sesión e ingrese de nuevo para que funcione el sonido.
- KDE 3.3 Dirígase al menu K > Multimedia > KMix
- Seleccione Opciones > Configurar KMix...
- Deseleccione la opción "Restablecer volumen al logearse"
- Presione OK, y todo debería estar terminado. Ahora el volumen será el mismo que con alsamixer o sin KDE.
Ecualizador del sistema
Nota: Este método requiere del uso de un plugin ladspa que podría suponer un elevado uso de CPU al reproducir sonido. Además, ésto se hizo con vistas a sonido estereofónico (p. ej. auriculares).
- necesitará, además de las utilidades del área de usuario ya comentadas, el paquete alsa-plugins
pacman -S alsa-plugins
- instale también los paquetes ladspa y swh-plugins si no los tiene ya
pacman -S ladspa swh-plugins
- si no tiene ya creados los archivos ~/.asoundrc o /etc/asound.conf, crée uno de ellos
vim ~/.asoundrc
- inserte lo siguiente en su archivo de configuración de alsa (~/.asoundrc o /etc/asound.conf)
pcm.eq { type ladspa
# La salida del EQ puede ir bien directamente a un dispositivo de hardware # (si dispone de un mezclador por hardware, p.ej. SBLive/Audigy) o bien puede ir # al mezclador por software visto aquí. #slave.pcm "plughw:0,0" slave.pcm "plug:dmix"
# A veces tendrá que especificar la ruta a los plugins, especialmente si acaba de # instalarlos. Una vez haya abandonado la sesión y rearrancado esto no # debería ser necesario, pero si recibe mensajes de error acerca de la # imposibilidad de encontrar los plugins, pruebe a descomentar ésto. #path "/usr/lib/ladspa"
plugins [ { label mbeq id 1197 input { #este valor está aquí como ejemplo, edítelo a su gusto #bandas: 50hz, 100hz, 156hz, 220hz, 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 ] } } ] }
# Redirija el dispositivo por defecto via el EQ - usted querrá hacer ésto # lo último, una vez esté seguro de que todo funciona. De otro modo todos # sus programas de audio dejarán de funcionar si algo ha ido mal.
pcm.!default { type plug slave.pcm "eq" }
# Redirija también la emulación OSS por el EQ (cuando los programas corren por "aoss")
pcm.dsp0 { type plug slave.pcm "eq" }
- Reinicie alsa para cargar la nueva configuración (como root)
/etc/rc.d/alsa restart
- ya debería funcionar (si no es así, pregunte en el foro)
Problemas
¿Todavía sin sonido?
Si está seguro de que ningún canal esta enmudecido, de que sus drivers están instalados correctamente, y de que el volumen está bien, pero todavía no puede escuchar nada, entonces la siguiente línea debería solucionar el problema: añádala a /etc/modprobe.conf
options snd-NOMBRE-DEL-MÓDULO ac97_quirk=0
Sin sonido en una tarjeta de sonido Intel Onboard
Puede que haya un inconveniente con dos módulos conflictivos, snd_intel8x0
y snd_intel8x0m
. En este caso, edite rc.conf
y en el array "MODULES" añada el último a la lista negra de manera que finalmenete quede como !snd_intel8x0m
.
¿Mala calidad en el sonido?
Si experimenta baja calidad de sonido, intente ajustar el volumen PCM (con alsamixer) a un nivel en el que el sonido sea bueno.
¿Ruidos cuando inicia y detiene la reproducción?
Algunos módulos pueden apagar la tarjeta cuando no está en uso. Esto puede producir un sonido audible cuando se enciende. Si le ocurre esto intente "modinfo snd-NOMBRE-DEL-MÓDULO", y busque una opción que ajuste o deshabilite esta opción.
Por ejemplo: para deshabilitar la función de ahorro de energía en una snd-hda-intel añada "options snd-hda-intel power_save=0" en /etc/modprobe.conf
, o pruebe con "modprobe snd-hda-intel power_save=0".
Alsamixer no puede iniciar
Si obtiene el siguiente error al intentar abrir Alsamixer:
alsamixer: function snd_ctl_open failed for default: No such device
Deberá reinstalar el kernel. Ejecute 'pacman -S kernel26'.
Recursos Externos
Más información: