Capítulo 10. Sonido

Tabla de Contenidos

10.1. Elementos Básicos del hardware
10.2. Configuración de la BIOS
10.3. Configurando el dispositivo de sonido
10.4. Configurando el núcleo de los dispositivos de sonido
10.5. Comandos avanzados
10.5.1. audioctl(1)
10.5.2. mixerctl(1)
10.5.3. audioplay(1)
10.5.4. audiorecord(1)

Este capítulo es una breve introducción sobre el uso de dispositivos de sonido en NetBSD (¿Quién quiere un ordenador mudo?).

10.1. Elementos Básicos del hardware

Para hacer funcionar en su sistema el sonido debe conocer la tarjeta de sonido instalada. Por desgracia a menudo no basta con saber la marca y modelo de tarjeta, porque muchas tarjetas utilizan chipsets fabricados por terceros. Por lo tanto saber el chipset instalado en la tarjeta de sonido a veces puede ser útil. El núcleo de NetBSD puede reconocer muchos chipsets y una mirada rápida a dmesg es suficiente para la mayoría de los casos.

por tanto, escriba el siguiente comando:

# dmesg | more

y busque la tarjeta de sonido y el chipset. Si tiene suerte no tendrán que hacer nada más porque NetBSD detecta y configura muchas tarjetas de sonido automáticamente.

A veces el sonido no funciona porque la tarjeta no es soportada o porque necesita hacer alguna cosa para que la tarjeta sea detectada por NetBSD. Muchas tarjetas de sonido son hoy día muy baratas, y esto hace pensar que merece la pena comprar una tarjeta diferente sino funciona, pero antes de hacer esto debe intentar unos pasos simples para hacer que la tarjeta funcione con NetBSD.

10.2. Configuración de la BIOS

Esta sección es útil solamente para los propietarios de PCs i386; sobre otras arquitecturas (por ejemplo Amiga) no hay tales características. La cosa más importante para determinar el uso de la tarjeta de sonido con NetBSD es el tipo de bus soportado por la tarjeta.

Las interfaces más comunes son ISA y PCI.

Las tarjetas ISA Plug and Play son normalmente más difíciles de configurar sobre todo debido a la interacción con la BIOS del ordenador.

En los equipos más nuevos (Esos producidos después de 1997) hay una opción en la BIOS que causa muchos dolores de cabezas para la configuración de las tarjetas de sonido ISA Plug and Play (pero no solo tarjetas de sonido): esta opción es generalmente llamada “Instalado PNP OS” y se encuentra normalmente en la “Configuración PNP/PCI” (el nombre puede ser diferente en su BIOS). Como norma general normalmente es mejor desactivar (es decir, ponerla en “NO”) esta opción para NetBSD.

Nota

En muchos sistemas todo funciona bien incluso si esta opción esta habilitada. Esto depende del sistema.

10.3. Configuración del dispositivo de sonido

Durante la instalación de NetBSD los dispositivos son creados en el directorio /dev. Estamos principalmente interesados en:

/dev/audio
/dev/sound
/dev/mixer

Si no existen pueden ser creados con:

# cd /dev
# ./MAKEDEV all

Este comando crea todos los dispositivos, incluidos los dispositivos de sonido.

La tarjeta de sonido probablemente ahora está disponible para ser utilizada sin más.

Puede hacer una comprobación rápida y enviar un archivos de sonido al dispositivo (los archivos de sonido generalmente tienen la extensión .au), pero si no tiene un archivo de sonido puede enviar un archivo texto o binario (por supuesto no oir&acaute; nada útil...). Use /dev/audio o /dev/sound:

# cat filename > /dev/audio

o

# cat filename > /dev/sound

Si oye algo significa que la tarjeta es soportada por NetBSD y fue reconocida y configurada por el núcleo en el arranque; en caso contrario deberá configura las opciones del núcleo para instalar el dispositivo de sonido en el sistema (asumiendo que la tarjeta/chipset es soportada).

10.4. Configurando el núcleo de los dispositivos de sonido

NetBSD soporta una amplia gama de tarjetas de sonido y el núcleo GENERIC ya permite y configura la mayoría. A veces es necesario configurar manualmente el IRQ y el DMA para tarjetas ISA no PnP.

Note

Cuando crea un núcleo personalizado es mejor que trabaje sobre una copia del archivo GENERIC (GENERICO), como se describe en Capítulo28. Compilando el núcleo.

Si aun tiene problemas puede intentar habilitar todos los dispositivos, porque algunas tarjetas de sonido pueden ser hechas para funcionar sólo por emulación de otra tarjeta.

Muchos chipset aprovechan la compatibilidad de SoundBlaster y de OPL, pero gran número de ellas funcionan con la emulación WSS.

OPL es un sintetizador MIDI producido por Yamaha; hay muchas variantes de OPL (por ejemplo OPL2, OPL3SA, OPL3SA2, etc.). Muchas tarjetas de sonido confían en este componente o en una compatible. Por ejemplo, todos los chips producidos por Crystal (y entre ellos el más común CS423x) tienen ese chipset, y por eso funcionan con NetBSD.

WSS no es un microchip; es el acrónimo de Windos Sound System (Sistema de Sonido de Windows). WSS es el nombre del driver del núcleo de NetBSD que soporta el sistema de sonido de Microsoft Windows. Muchas tarjetas de sonido funcionan con Windows porque se apoyan en este estándar (WSS), al igual que en NetBSS.

De todas las tarjetas de sonido que probé en NetBSD, un gran número funcionaban solo si estaban habilitados en el núcleo opl* y wss*.

No debería tener problemas para funcionar con tarjetas SoundBlaster de Creative en NetBSD: ¡la mayoría de ellas son soportadas, incluyendo la Sound Blaster Live 1024!.

Cuando todo funcione podrá deshabilitar en el archivo de configuración del núcleo los dispositivos que no necesite.

10.5. Comandos avanzados

NetBSD viene con una serie de comandos relacionados con los dispositivos de sonido. Estos son:

10.5.1. audioctl(1)

audioctl(1) hizo su aparición en NetBSD 1.3 y es utilizado para configurar manualmente algunas variables relacionadas con la entrada/salida de sonido, como las frecuencias para reproducir y grabar. Los parámetros disponibles se pueden ver en con el siguiente comando:

# audioctl -a | more

Por ejemplo, para oír un CD de música de calidad puede ejecutar el siguiente comando:

# audioctl -w play=44100,2,16,slinear_le

Este comando establece la frecuencia a 44100Hz, 2 canales de audio, 16 bit, codificación slinear_le.

Puede ver las codificaciones soportadas con:

# audioctl encodings

Este comando muestra la lista de todas las codificaciones soportadas por la tarjeta de sonido de su sistema.

10.5.2. mixerctl(1)

Este comando se utiliza para configurar la mezcla del sonido y tiene una interfaz similar a la de audioctl(1).

10.5.3. audioplay(1)

Con este comando puede reproducir archivos de sonido en formatos simples como ULAW y WAV. Para necesidades más sofisticados puede querer instalar alguno de los muchos programas disponibles en el sistema de paquetes que le permita reproducir archivos de sonido en diferentes formatos (por ejemplo, MP3, etc).

10.5.4. audiorecord(1)

Este comando se utiliza para grabar, archivos de sonido.