Arquitectura

De CursosGpl

Tabla de contenidos

[editar] Introducción general

El sistema de sonido en linux es una gran aplicación de audio en la que los diferentes programas cumplen distintas funciones.

Los programas pueden pasarse entre si las señales de audio o distintas señales de control (midi, osc...) para definir el contenido de la composición.

En el sistema de sonido jack es el responsable de conectar el audio entre los programas, y alsa de los mensajes midi. Los mensajes OSC se mueven en el espacio de usuario.

[editar] Tipos de Señales

[editar] Midi

Los mensajes midi son pequeños mensajes de control. Se utilizan para controlar sintetizadores, y hay diversos tipos para indicar todo tipo de parámetros respecto de la nota que está sonando.

[editar] Tipos de mensajes

Algunos tipos de mensajes midi:

- Note On / Note Off

Indica que una nota ha comenzado o dejado de sonar

- Controller

Representa el valor de un controlador genérico, como una ruedecilla

- Pitchbend

Representa un controlador de pitch, tiene más resolución que el tipo Controller

- Programa

Representa un cambio en el programa, puede corresponder a un cambio de los instrumentos o de la canción

[editar] Canales

El protocolo midi define una serie de canales de forma que podemos tener diferentes programas o dispositivos funcionando simultáneamente. El canal relativo a cada mensaje nos permite discriminar entre diferentes fuentes de mensajes midi.

Por ejemplo, un sintetizador puede tener un instrumento respondiendo en cada canal, o diferentes sintetizadores pueden responder a diferentes canales.

[editar] El secuenciador de ALSA

En linux los mensajes midi son enrutados por los drivers de sonido utilizando un secuenciador interno de alsa. El secuenciador permite a las aplicaciónes encolar mensajes, y sobre todo, enrutar los mensajes entre las diferentes aplicaciones a nuestro gusto, de forma que podemos conectar cada dispositivo o aplicación a otros usuarios del secuenciador directamente.

Por ejemplo, podemos tener un piano conectado a un programa de sintetizado y una mesa dj conectada a un programa de remezclado de audio en tiempo real independientemente.

[editar] Enlaces

Tutorial sobre midi

[editar] Audio

Las señales de audio son representaciones digitales de las señales acústicas. Las señales de audio vienen definidas por una serie de parámetros.

- Frecuencia de muestreo: Representa el número de valores por segundo que se tomaron de la señal original, o que se van a usar para renderizar el sonido.

- Bits por muestra: El número de bits que ocupa cada muestra del sonido. A más bits más calidad en la reproducción (ondas más finas).

- Nº de canales: Indica el número de canales de la señal. Mono sería un canal, estéreo dos canales.

[editar] Enrutamiento de sonido en jack

El enrutamiento de las señales de sonido de forma configurable es posible gracias al jack. Un demonio de sonido de baja latencia para sistemas operativos POSIX.

En el entorno jack todas las aplicaciones se conectan al demonio, y este nos permite realizar las conexiones entre ellas y los dispositivos de audio de forma configurable (podemos reconectarlos en tiempo real).

[editar] OSC

Los mensajes control OSC son una evolución del midi para adaptarse a las redes y capacidades de los dispositivos de hoy en día.

La limitación del midi es que los mensajes tienen un tamaño máximo de tres bytes, por lo que la información que puede representarse es muy limitada. Por contra, los mensajes OSC no tienen limitación de ancho de banda y pueden representar todo tipo de datos. Además el protocolo define una serie de mecanismos para descubrir los parámetros controlables en una determinada aplicación o dispositivo.

Página del proyecto OSC

Herramientas personales