[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Tutorial sobre dispositivos ALSA; default, hw, plughw



Pido perdón por anticipado por el /crossposting/, pero creo que la
información a la que enlazo es útil para los miembros de ambas listas
de correo.

Me he permitido escribir este artículo sobre una de las cuestiones más
confusas y menos documentadas a las que se enfrenta cualquier recién
llegado a la creación multimedia utilizando GNU/Linux. En particular
al subsistema de sonido ALSA.
-- 
Si necesito que cierto software maneje directamente mi tarjeta de
sonido, ¿debo usar hw o plughw?

El dispositivo hw accede directamente a la tarjeta, tal y como en
realidad también hace plughw. Pero, digamos que tienes una tarjeta de
cuatro canales a 48 kHz. Tu reproductor de audio utilizando hw
intentará abrir esos cuatro canales y a 48 kHz. Con plughw, sin
embargo, hay una conversión automática. Si le proporcionas audio
estéreo, se encargará de convertirlo al formato adecuado para serle
entregado a los cuatro canales a la frecuencia indicada, convirtiendo
ésta si es necesario. Así que no es necesario preocuparse por la
frecuencia de muestreo del audio, ni por la soportada por la tarjeta
de sonido. Es por lo que plughw suele ser la mejor opción. Mejor aún,
por supuesto, definiendo algunos plug-ins pcm en asoundrc. Magia
negra, pero funciona de maravilla.

El dispositivo plughw soporta muchos más formatos de muestra y
configuraciones de canales de las que el hardware que corre por debajo
puede manejar. Realiza también las conversiones necesarias. El
dispositivo hw no realiza conversiones, soporta menos configuraciones,
a veces realmente oscuras, pero si lo utilizas puedes estar seguro de
que no hay ninguna conversión de por medio.

La mayor parte de las veces, en realidad, quieres que haya
conversiones, como transformar mono en estéreo o S16LE en S32LE,
dependiendo de las características de la tarjeta de sonido.

Es posible utilizar directamente hw, pero en realidad no está
recomendado a no ser que sepas EXACTAMENTE cómo utilizarlo, y sepas
también que va a soportar cualquier combinación en cualquier formato
absurdo. Estamos hablando de conocer todos los detalles del hardware
que corre por debajo, y la mayor parte de las aplicaciones no quieren
tener que hacerse cargo de eso.

Por ejemplo; considera una tarjeta de sonido que soporta sólo el
formato S24_3BE —24 bits por muestra empaquetados en 3 bytes, big
endian. No puedes entonces abrir el dispositivo hw en cualquier otro
modo. Si quieres sacar sonido S16LE —16 bits por muestra, little
endian— tienes que utilizar plughw y no tienes otra posibilidad. De
hecho la mayor parte de las aplicaciones no saben manejar los formatos
S24_3, por no decir la variante BE. El dispositivo p16v en la Audigy2
soporta sólo modos de 8 canales; no es posible enviar una señal típica
de audio estéreo hacia él, no importa lo que intentes. Así que puedes
enviar 8 canales de audio al dispositivo hw, o confiar en que el
dispositivo plughw haga la conversión estéreo a 8 canales
automáticamente por ti.

El artículo completo en [1]Linux AV.

1. http://linuxav.blogspot.com/2008/10/dispositivos-alsa-default-hw-plughw.html

Un saludo, Ismael
-- 
Ismael Valladolid Torres                   GnuPG key: DE721AF4

SHS Polar (3.4.3)   Google Talk/Jabber/MSN Messenger: ivalladt@gmail.com
C/ Emilio Vargas 1        Jaiku/Twitter/Skype/Yahoo!: ivalladt
Edif. Fiteni II                              AIM/ICQ: 264472328
28043 Madrid (Spain)

T 0034915153817           http://www.polar.es/
F 0034915153755           http://lamediahostia.blogspot.com
M 0034609884094 (Yoigo)   http://www.flickr.com/photos/ivalladt/

The opinions expressed here represent my own and not those of my employer.
Las opiniones expresadas representan las mías propias y no las de mi empresa.


Reply to: