Visita la versión flash
Propuestas
Visita el perfil del autor
Hablan del blog

SOM30


"Cómo hacer un Sistema Operativo en 30 días"
6/08/2010 19:33

Sonido (moldear, sintetizar y mezclar)

Comunicaciones de Red
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.

Comentarios

11/10/2011 09:26
Principalmente es acercar al usuario desarrollador un administrador de sonido de bajo nivel. Pero tampoco hay mucho que añadir a este apartado.

10/10/2011 21:26
bueno nada nuevo de eso

Deja tu comentario


Se enviará usando la Red Social @visitante
¿Quieres responder con otra cuenta de TuEntidad.es?
Usa MonoMola o LoTienes.

Búsqueda

Calendario

- Día 1
- Día 2
- Día 3
- Día 4
- Día 5
- Día 6
- Día 7
- Día 8
- Día 9
- Día 10
- Día 11
- Día 12
- Día 13
- Día 14
- Día 15
- Día 16
- Día 17
- Día 18
- Día 19
- Día 20
- Día 21
- Día 22
- Día 23
- Día 24
- Día 25
- Día 26
- Día 27
- Día 28
- Día 29

Código

- Sistemas Informáticos
- Compilador
- GAM
- GAE
- Kérnel
- LiSi
- ViSi
- SAM
Licencia LSW

Comentan

- Día 1 (16) 8/06 02:28
- Día 29 (19) 13/03 04:10
- Día 10 (18) 23/01 22:16
- Día 3 (9) 10/12 08:55
- Día 2 (19) 10/12 08:54
- Día 7 (4) 5/11 21:29
- Día 11 (44) 25/10 01:39
- Día 4 (3) 24/09 13:45
- Día 28 (2) 6/04 04:01
- Día 26 (1) 17/07 01:21
- Día 27 (4) 29/05 14:50
- Día 8 (9) 29/05 05:35
- Día 24 (2) 18/01 05:16
- Día 17 (5) 18/01 05:10
- Día 13 (7) 6/12 18:44
- Día 15 (1) 30/08 08:53
- Día 6 (2) 25/08 02:14
- Día 5 (4) 7/04 00:50
- Día 21 (6) 26/06 21:26
- Día 18 (2) 26/06 03:09
- Día 23 (2) 22/04 13:45
- Día 25 (1) 11/03 21:34
- Día 19 (3) 19/01 17:33
- Día 14 (2) 7/01 22:06

Valid HTML 4.01 Transitional