Existen muchas aplicaciones para dispositivos móviles que basan todo su potencial en el sonido,
pero muy pocas teminan llegando a Android:
la mayoría no sale de iOS, y son muy pocas las excepciones que llegan a
nuestros dispositivos. ¿Pero por qué ocurre esto, por qué los
desarrolladores centrados en el sonido tienen a la plataforma del
androide tan abandonada?
La respuesta a todo esto está en un término muy simple:
la latencia de sonido, el retardo que tiene el audio desde que sale hasta que llega a nuestros oídos.
Unos pocos milisegundos pueden suponer la diferencia entre un sonido
perfectamente sincronizado, a un sonido que ya no sirve para nada, y hoy
os explicamos cual es el problema de Android con el sonido y la
latencia.
¿Qué es la latencia?
La latencia es el
pequeño retraso entre que una señal de audio se comienza a reproducir (en nuestro ordenador o en nuestro Android, por ejemplo)
y sale del sistema
(a través de nuestros altavoces o auriculares), aunque tenemos que
añadir más camino si estamos sacando el sonido de una fuente como un
micrófono o un instrumento. Normalmente medimos la latencia en
milisegundos, y es algo que puede resultar muy frustrante para un músico
o alguien que trabaja con el sonido. Imaginaros que intentamos aplicar
efectos “en directo” a un sonido con nuestro ordenador, y que estos
tardan como medio segundo en hacer efecto: eso es la latencia frustrante
de la que estamos hablando.
La razón de existencia de la latencia es que
nuestro sonido tiene un camino largo que recorrer,
y el sistema operativo que utilicemos también juega un papel importante
en ese sentido. Por ejemplo, muchos artistas utilizan ordenadores Mac
porque su latencia en sonido es muy baja de por sí (aunque la latencia
cero sea un mito), lo cual hace su uso ideal para directos y
espectáculos en comparación a ordenadores con Windows, aunque tened
claro una cosa:
siempre vamos a tener latencia, por muy baja que sea, porque estamos metiendo pasos extra al introducir un ordenador en la ecuación. El truco es que
nuestro oído está cómodo con latencias que rondan los 10 milisegundos: a partir de los 15 milisegundos empezaremos a notar que la señal tiene algo de retardo.
¿Cual es el problema de la latencia en Android?
Los chicos de Superpowered han hecho
un completísimo estudio sobre la latencia en Android
(de muy recomendada lectura si sabéis inglés), el cual nos revela la
verdad sobre la latencia en nuestro sistema operativo móvil:
la latencia media del sonido en una aplicación Android es de 100 milisegundos
si sólo sacamos sonido, y aumenta a 200 milisegundos si lo combinamos
con grabar sonido. Para que os hagáis una idea, es como si un batería
estuviera medio pulso por detrás del resto de la banda durante toda la
canción. Esta lista de reproducción de SoundCloud es una buena muestra
de ello: compara la “latencia cero” con la latencia de iOS y la latencia
de Android, y este último sale muy mal parado.
La Nexus 9 de Google es el dispositivo Android que menos latencia produce, en comparación al resto de dispositivos, y con ese dispositivo han hecho
pruebas para determinar cuánto tiempo tarda Android
desde que el sonido se graba hasta que sale en condiciones ideales: 35
milisegundos, todavía por encima de esa cifra ideal, pero muy por debajo
de la mayoría de dispositivos Android. Viene todo muy bien explicado en
la animación que ellos mismos han preparado con el Nexus 9 a modo de
ejemplo, y podéis ver la explicación técnica de qué hace cada paso
dentro del estudio.
¿Cómo afecta a Android?
Esto afecta a Android de muchas formas, aunque tenemos cuatro
ejemplos perfectos que podríamos vincular a posibles aplicaciones para Android:
- Aplicaciones de instrumentos y efectos de sonido | El
sonido está medio pulso por detrás, como os hemos dicho con el ejemplo
de la batería, así que es imposible utilizar Android en un escenario o
en una práctica.
- DJs y mezcladores de canciones | La persona que
está mezclando no puede sincronizar dos canciones porque la señal de sus
auriculares está muy por detrás de la señal maestra que llega a los
altavoces que dan a la audiencia. Además, aplicar efectos es muy
complicado con tanta latencia.
- Juegos varios y realidad virtual | El sonido (desde
efectos especiales como explosiones o disparos, hasta el sonido en
general) están unos frames por detrás, un pequeño detalle que se carga
la experiencia.
- Aplicaciones VoIP | Si dos personas realizan una
llamada vía Internet a través de sus Android, la latencia aumenta más
que la latencia que genera la red de por sí: el sonido tarda más en
pasar por nuestros Android que en recorrer medio país.
Pero el verdadero problema nos lo encontramos en Google Play, porque
es una realidad que los desarrolladores involucrados con el sonido pasan
de Android. La categoría de
música ni siquiera está entre los sectores que más dinero generan,
según datos de App Annie, cuando en la App Store de Apple son una de
las principales fuentes de ganancias: los desarrolladores no hacen
aplicaciones de sonido para Android por culpa de la latencia, y los
músicos no compran en Google Play por la falta de estas herramientas.
¿Cual es la solución?
Por el momento, Google introdujo con Lollipop
mejoras en la latencia del sonido, pero esto no parece ser suficiente: tanto los desarrolladores como Google
necesitan ponerse urgentemente las pilas si quieren pillar a Apple
en el campo del sonido, algo que parece muy difícil cuando iOS ya está
más que asentado en ese sentido. Eso y prepararse para el futuro, porque
campos como los juegos y la realidad virtual también dejan caer mucho
peso en la latencia del sonido para conseguir una experiencia inmersiva.