Introducción
Ingeniería de experiencias de audio para creadores
Gracias por tu interés, éste documento está pensado para acompañarte paso a paso en la comprensión y el uso de nuestro entorno de desarrollo multiplataforma.
Por su naturaleza, I/O proporciona un conjunto completo de herramientas para insertar fuentes de audio, aplicar efectos, generar visualizaciones y más, todas éstas operaciones se ejecutan dentro de un contexto, concebido para permitir un enrutamiento dinámico y modular.
Las operaciones se realizan mediante nodos, que se enlazan para conformar un grafo de procesamiento. Estos nodos se organizan en cadenas simples o redes complejas, conectando sus entradas y salidas para establecer flujos personalizados.
El procesamiento comienza con una fuente que entrega muestras en intervalos de tiempo extremadamente pequeños —a menudo decenas de miles por segundo—. La salida de cada nodo puede enviarse a otros que procesan la señal, permitiendo rutas sofisticadas.
Comenzando con I/O
Accede rápidamente a los contenidos esenciales para dar tus primeros pasos.
Comparativa
La plataforma está disponible en dos ediciones:
La versión comunitaria está orientada a la exploración, aprendizaje y prototipado, ofreciendo un conjunto reducido de capacidades que permiten experimentar con audio binaural.
Por su parte, la versión profesional incorpora todo el potencial: enrutamiento avanzado, nodos ilimitados y especializados, herramientas de análisis, soporte y mas.
Cada edición comparte el mismo núcleo, pero se diferencian en alcance, capacidades y nivel de soporte. La siguiente tabla ofrece una vista clara de lo que incluye cada una.
Reproducción de fuentes
✔️
✔️
Enrutamiento basado en nodos
✔️
✔️
Límite de nodos
✔️ Máx. 10 nodos
✔️ Nodos ilimitados
Motor modular de grafo
✔️
✔️
Procesamiento de baja latencia
✔️
✔️
Renderizado en tiempo real
✔️
✔️
Audio binaural
✔️
✔️
Soporte Multiplataforma
✔️
✔️
Nodos de FX (EQ, Reverb, Delay)
—
✔️
Visualización de señales
—
✔️
Cadenas complejas y subgrafos
—
✔️
Soporte técnico
— Comunidad
✔️
Introducción a la guía
Esta guía describe el propósito, las capacidades y los componentes fundamentales.
Asimismo, examina su arquitectura y el flujo interno de procesamiento de señal, explicando cómo cada subsistema —desde las fuentes y nodos hasta el contexto de ejecución— colabora de manera sincronizada para garantizar un comportamiento determinista, preciso y estable en entornos de procesamiento de audio en tiempo real.
I/O está construido íntegramente en Swift, un lenguaje multiplataforma que combina rendimiento con sintaxis moderna. Ofreciendo un modelo de ejecución optimizado gracias a su compilador LLVM, capaz de generar código tan rápido como C, pero con las ventajas de seguridad de memoria y gestión automática de recursos.
— Visita el sitio oficial para más información: https://www.swift.org
Como encaja I/O arquitectonicamente
Comprender el papel de I/O dentro del ecosistema, implica situarlo en el contexto de las capas tecnológicas que componen una arquitectura de procesamiento moderna.
I/O se ubica en el punto intermedio entre las APIs de bajo nivel —como CoreAudio, WASAPI o ALSA— y las capas de alto nivel dedicadas a la composición o renderizado de audio. Esto le permite actuar como un motor, capaz de orquestar el flujo de señal y ejecutar bloques DSP con precisión temporal, manteniendo independencia del sistema operativo.
A diferencia de las librerías DSP puras, I/O no se limita sólo a funciones de procesamiento: implementa un sistema completo de enrutamiento, sincronización y ejecución determinista, gestionando de forma autónoma los nodos, búferes y dependencias del grafo.
Su diseño modular permite extender o sustituir componentes, y su integración el hardware garantiza una comunicación directa con los dispositivos de entrada y salida. De esta manera, I/O actúa como el núcleo operativo: traduce las señales provenientes del hardware, organiza el procesamiento interno y entrega resultados con latencia mínima.
En la jerarquía del ecosistema, I/O proporciona la infraestructura sobre la cual pueden construirse sistemas de producción, análisis y renderizado profesional.
I/O combina diseño y rendimiento, garantizando precisión y baja latencia.
Infraestructura
Como se mencionó, en la base de la jerarquía se encuentran las APIs de bajo nivel y los drivers del sistema operativo. CoreAudio, WASAPI, ASIO o ALSA manejan el acceso directo a los dispositivos de entrada/salida, los buffers y la sincronización con el hardware.
Sobre ellas se ubica I/O, que abstrae esas diferencias y permiten una implementación multiplataforma, en conjunto operan las librerías DSP, diseñadas para proporcionar bloques funcionales, como filtros, osciladores, FFTs o generadores de envolvente.
I/O representa la primera capa en el flujo de procesamiento.
Implementación
I/O adopta una filosofía de diseño modular, declarativa y extensible.
El audio puede describirse como un conjunto de nodos interconectados, cada uno responsable de una tarea de procesamiento DSP específica. Estas conexiones forman un grafo dinámico que define el flujo de señal, permitiendo reconfiguración en tiempo real sin interrupciones.
Cada componente del sistema es autocontenible, lo que facilita tanto la construcción de cadenas simples como la de sistemas complejos de mezcla, análisis o renderizado. La comunicación entre nodos sigue un modelo pull-based determinista, asegurando que cada bloque procese solo los datos necesarios, optimizando el rendimiento y la latencia.
Los nodos procesan y el contexto coordina el flujo del audio. Esta organización promueve una arquitectura donde las operaciones son reproducibles a nivel de muestra.
I/O prioriza la transparencia del procesamiento y la extensibilidad.
Filosofía de diseño (Manifiesto)
I/O fue concebido como un motor en tiempo real que debía cumplir con cuatro principios: precisión, rendimiento, funcionalidad y estabilidad. Estos representan los fundamentos que orientan cada decisión arquitectónica del framework.
Arquitectura de Grafo
La arquitectura permite modelar el flujo como una red de operaciones, donde los nodos pueden conectarse o desconectarse dinámicamente sin interrumpir la ejecución.
Esta flexibilidad se combina con una planificación de eventos sample-accurate, ideal para automatización o reproducción sincronizada. El enfoque pull-based asegura eficiencia, y el soporte para subgrafos permite construir bloques reutilizables.
Conceptos fundamentales
Grafo dirigido: operaciones y conexiones que definen el flujo de audio.
Nodos conectables dinámicamente permite agregar/quitar nodos sin interrumpir el audio.
Sample-accurate scheduling: ejecución precisa de eventos en el timeline de audio.
Procesamiento pull-based: datos fluyen desde outputs hacia inputs sin cómputo innecesario.
Soporte para subgrafos/modularidad: encapsulación de secciones reutilizables.
Cada elemento conforma un flujo de procesamiento flexible y estable. El resultado es un sistema modular capaz de adaptarse a cualquier escenario de audio.
Existen arquitecturas alternativas, como los pipelines lineales, los modelos basados en buses, o los sistemas dirigidos por eventos. Sin embargo, el modelo basado en grafos (DAG) se ha convertido en el estándar de la industria por su capacidad para combinar flexibilidad y rendimiento.
Última actualización
