Si ayer le dábamos color al asunto, hoy le vamos a poner sonido al Sistema continuando con los administradores de recursos a alto nivel.
Dentro del
Primer Sector del
Espacio de Direcciones, en el
GAM, encontrábamos un pequeño
componente (mapeado en tan solo un registro de
1 bit en la posición
0xFE) llamado
Altavoz del Sistema, y cuyo cometido es simplemente
pitar, aunque también puede ser sustituido por un
led que
emita luz, en el momento que su
registro tome el
valor 1. Este
componente es la única manera estándar que cualquier
Sistema Informático tiene, por definición estándar, para comunicarse con el exterior.
Por lo que hemos visto, el Altavoz del Sistema no es la mejor manera de hacer sonar al Sistema. Para ese cometido usaremos el Control de Sonido, a través del Administrador de Sonido, para hacer uso de las capacidades que nos ofrece el Gestor de Sonido que tendrá el Sistema Informático.
El Control de Sonido, como controlador estándar que es, funciona con el paradigma del Sistema de Paquetes. El sonido se representará como una onda de sonido totalmente digital que estará formada, por defecto, a bajo nivel, por 32 (25) canales divididos, cada uno, en 2.251.799.813.685.248 (251) puntos sonoros que tomarán un valor entre 0 y 72.057.594.037.927.935 (256-1). Cada 65.536 (216) puntos se representará un segundo, lo que conlleva a ciclos de 34.359.738.368 (235) segundos (397.682 días) de sonido ininterrumpido. Estos ciclos comienzan al iniciar el sistema. Se puede forzar el reseteo de los ciclos y la modificación de esos intervalos y datos en tiempo de ejecución.
La idea para generar el sonido es ir escribiendo los valores de cada punto por delante del punto sonoro actual. En cuanto el punto sonoro actual llegue al punto donde hemos escrito, la onda de sonido que está emitiendo a través de los altavoces crecerá en un punto con el valor que contenga éste. Esta tarea se repetirá de forma iterativa 65.536 veces (por defecto) por segundo; es decir, la frecuencia del sonido es de 65.536 hercios.
El Administrador de Sonido permite trabajar a este nivel tan bajo, pero es mucho más abstracto utilizar otras alternativas. En total el Administrador de Sonido permite tres formas de generar sonido:
- Moldear sonido: consiste en trabajar a bajo nivel. Se puede obtener el punto sonoro actual y, a partir de ahí, modificar el valor de la onda de sonido. Cada solución informática reservaría una de las 32 ondas (por defecto) y la moldearía a su gusto. El Gestor de Sonido se encargaría de fusionarlas de la mejor manera posible en una única onda de sonido real que será el que se escuche a través de los altavoces.
- Sintetizar sonido: sirve para reproducir un sonido indicando su frecuencia, duración y comienzo. Se puede seleccionar también el tipo de onda que llevará ese sonido. Generalmente el Administrador de Sonido reservará uno de los canales para este fin.
- Mezclar sonido: es similar a la primera alternativa, pero a alto nivel. El Administrador de Sonido obtiene pistas de sonido que fusionará en un solo canal dependiendo de los parámetros y configuraciones que se le indique. Igual que la anterior, el Administrador de Sonido suele reservar uno de los canales para poner la onda resultante.
Estas opciones son suficientes para generar sonido de forma sencilla. Al igual que pasa con el tema del vídeo, los controles pueden extenderse para permitir mayores, mejores, y más eficientes funcionalidades, pero todos los controladores, al final, permitirán trabajar a este nivel dotando a cualquier Sistema que los incluya la capacidad para representar tanto gráficos como sonido de forma estándar.