Informática musical

Audio en iOS y OS X: hacia la convergencia

El año pasado pudimos ver algunos avances importantes en dos frentes de iOS: Inter-app Audio y MIDI general (especialmente a través de Bluetooth LE), así que en la WWDC 2015 le tocaba un notable repaso al audio, con novedades que cambian en gran medida las reglas del juego.

iPad, iPhone y iPod Touch como dispositivos audio USB

Cualquier dispositivo iOS es ahora también un dispositivo de audio USB 2.0 Class Compilant, pudiendo entrar en este modo mediante su activación en un nuevo panel que se ha dispuesto en la configuración Audio/MIDI de OS X para tal efecto.

Dispositivos iOS

¿Qué demonios supone esto? Dos cosas que suponen un cambio crucial:

  • Grabación digital directa del audio producido por un dispositivo iOS en un Mac, con resolución de hasta 24bit/48KHz cuando lo conectamos con su cable lightning. A este nuevo modo de funcionamiento se le denomina Inter Device Audio Mode (IDAM). Si antes necesitábamos hardware adicional tal como el ofrecido por las interfaces de iConnectivity o soluciones software de terceros con múltiples aplicaciones corriendo en paralelo, ahora esta funcionalidad viene de serie con iOS 9 con la máxima simplicidad. Incluso se ha pensado en los sonidos del sistema y las notificaciones, que pasarían a reproducirse por los altavoces de iPad/iPhone pero no a través del audio emitido por USB. Un detalle.
  • Se puede usar un dispositivo iOS como si fuera una tarjeta de audio USB de baja latencia conectada a un Mac, con sus entradas y salidas disponibles en nuestro host. De hecho incluso se pueden agregar varios dispositivos iOS y actuar como si fueran una única interfaz de audio con múltiples entradas y salidas.

Este modo de funcionamiento especial estará disponible en todos los dispositivos iOS con conector lightning, a excepción del iPad mini de primera generación.

Audio Unit Extensions: plugins en iOS

Plugins en iOS

Inter-App Audio era la solución rápida temporal para los problemas de comunicación entre apps musicales, pero presenta graves limitaciones como la comunicación de parámetros, o el incómodo cambio entre aplicaciones. En iOS 9 llega la verdadera solución esperada por muchos: Audio Unit Extensions. La posibilidad de tener plugins reales supone la integración directa con software de terceros desde una app que hace las funciones de host, sin tener que andar cambiando de una app a otra dejando su audio en segundo plano y demás soluciones engorrosas que implican terceras apps en funcionamiento.

Plugins en iOS

Desde ahora, las apps tienen la posibilidad de publicarse como Audio Units en iOS de modo que el host sea capaz de visualizarlas en su propia interfaz, de manera completamente transparente. Como sucede con un plugin tradicional, el host se encarga de la comunicación tanto audio como MIDI y los desarrolladores pueden seguir vendiendo sus apps en la App Store mientras incluyen la nueva funcionalidad. De esta manera una app puede englobar en el mismo paquete un instrumento “stand-alone” y su correspondiente Audio Unit Extension que será ofrecido dentro del host. Todo el mundo contento.

Filter Demo Anatomy

Audio Unit V3: Audio Unit Extensions, también en Mac

Audio Unit es el formato de plugin nativo utilizado en todo el sistema Mac OS X desde prácticamente sus inicios, siendo Logic Pro, GarageBand o Ableton Live algunos de los hosts más populares que usan este formato. Las APIs (en su segunda versión) sin embargo son relativamente antiguas y con esta WWDC llega la Audio Unit V3, primera gran revisión importante en años.

Compatible con iOS y OS X, el código puede ser casi totalmente compartido entre plataformas a excepción de las APIs que se encargan del manejo del plugin a nivel interfaz, bien mediante ratón (OS X), bien mediante eventos táctiles (iOS). La especificación también se moderniza otorgando a los plugins su proceso independiente, de modo que cuando se produzca un fallo en el Audio Unit no afecte en absoluto al host. La estabilidad que esto proporciona es extremadamente buena. Pudimos, de hecho, ver una demo donde se simulaba un cuelgue de un plugin mientras el host reproducía audio, sin notar ni una sola interrupción del sonido en ningún momento.

De cara a los desarrolladores, las APIs de Audio Unit Extensions/Audio Unit V3 simplifican el código, flexibilizan el manejo de parámetros del plugin, lo hacen compatible con el lenguaje de programación Swift y unifican criterios entre iOS y OS X para maximizar la portabilidad del código entre ambos sistemas operativos.

En cuanto a compatibilidad entre V2 y V3 se han previsto mecanismos de puente entre ambos para que el soporte de hosts y plugins sea transparente al usuario mientras todos los fabricantes adoptan el nuevo formato, de modo que las incompatibilidades sean mínimas.

Compatibility iOS OS X audio

Las Audio Unit Extensions estarán disponibles en todas las aplicaciones de Apple (Garageband Mac/iOS, Logic Pro X y MainStage) cuando iOS 9 y OS X El Capitan vean la luz a la vuelta de verano.

Para más detalles se pueden visualizar las siguientes sesiones de la WWCD 2015:

Jesús Gallego
EL AUTOR

Soy entusiasta de la tecnología musical, iOS y Mac OS X. Produzco música bajo el nombre de Autoy. Podéis escuchar mi trabajo en https://soundcloud.com/autoy.

¿Te gustó este artículo?
11
Comentarios

Regístrate o para poder comentar