El Talón de Aquiles de Android siempre será la cancelación de ruido

¿Por qué Android no tendrá nunca una app de cancelación de ruido?

Las aplicaciones de música están entre las más utilizadas en Android. Desde las dedicadas a streaming y listas offline, como Spotify o Play Music, a los reproductores capaces de poner todas las pistas almacenadas en Mp3, como PlayerPro o PowerAmp. ¿Sueles escuchar música con el móvil? Seguro que has probado alguna de estas cuatro apps.

Vale, tenemos el reproductor y las canciones, ahora toca elegir auriculares. ¿In-ear, de diadema, Bluetooth, con cable… Muchas opciones donde elegir y una que no suele encontrarse: los auriculares con cancelación de ruido. Son mucho más caros, aunque compensan por su capacidad de eliminar las interferencias sonoras del ambiente.

Los auriculares con cancelación de ruido funcionan filtrando los sonidos constantes del exterior para que sólo escuches la música. Incluyen un sistema de micrófonos y software exclusivo que les permite funcionar. De hecho, y dadas esas especificaciones, podría desarrollarse una aplicación Android que emulase a los auriculares con cancelación de ruido. ¿A que suena bien? Pues es imposible.

Latencia, el muro insalvable

¿Por qué Android no tendrá nunca una app de cancelación de ruido?

El principal obstáculo para crear una aplicación Android capaz de cancelar el ruido ambiente es la latencia. Explicada grosso modo, la latencia de sonido es el retraso entre que se produce el audio y éste se emite por un dispositivo externo, como los auriculares. También hay latencia entre el audio que emite una fuente y el dispositivo que la graba.

La latencia de sonido es el retraso entre el procesamiento de sonido y su emisión/recepción

La latencia de sonido ha ido disminuyendo con las distintas actualizaciones de Android, pero aún sigue siendo un problema para los profesionales del audio. Hay que tener en cuenta que cualquier sistema digital de sonido tendrá cierta latencia. En Android, la latencia más baja es de unos 108 ms; en iOS es de 5,8 (ambos datos sólo para reproducción, sin incluir grabación). Android Police tiene un post sensacional sobre la latencia en Android.

Para la cancelación de ruido en Android la aplicación debería actuar en 3 pasos:

  • Captar el sonido ambiente.
  • Procesar dicho sonido.
  • Emitir el resultado del proceso.

La latencia que se acumularía en la grabación-procesamiento-reproducción hacen que sea insalvable la cancelación de audio en Android ejecutada como app. Habría un retraso perceptible en la escucha de música. Algo parecido a lo que sufre un reportero con el retorno de satélite, por ejemplo; lo suficiente como para que la experiencia no fuese agradable.

La cancelación de ruido explicada

¿Por qué Android no tendrá nunca una app de cancelación de ruido?

Ya hicimos un post extenso sobre cómo funciona la cancelación de ruido en los auriculares con esta opción, pero dejaré una breve explicación para que quede en contexto. No obstante, puedes ampliar la información a través del siguiente link.

Los auriculares con cancelación de ruido disponen de micrófonos con los que captan el sonido ambiente. El proceso para cancelar los ruidos constantes del exterior es el siguiente:

  • Un procesador analiza los sonidos que provienen del exterior de los auriculares (a través de los micrófonos).
  • Identificando el sonido constante y predecible, el procesador genera ondas iguales al ruido, pero opuestas en fase.
  • Igual que si tiramos una piedra en cada lado de un estanque y las ondas terminan anulándose en el centro, el ruido ambiente también se anula quedando sólo la música.
  • El dueño de los auriculares sólo percibe la música dado que la cancelación de ruido se ocupa de filtrar el ambiente exterior.
  • Este sistema funciona sólo con los sonidos constantes y predecibles, como el motor de un avión o la muchedumbre. Cuando se producen ruidos súbitos el sistema no será capaz de anularlos, por lo que se escucharán a través de la música.

¿Por qué Android no tendrá nunca una app de cancelación de ruido?

Escuchar música mediante auriculares con cancelación de ruido es una experiencia interesante. Dependiendo de la calidad y potencia del sistema de cancelación se escucha más o menos ambiente, pero siempre hay un contraste alto entre activar o no la función. Como si de repente fueras la única persona de la estancia.

Distancia entre los micrófonos y las orejas

Cómo funciona la cancelación de ruido de los auriculares

Además de la latencia, que es un muro insalvable en Android, hay otro problema añadido: los micrófonos que captan el ruido han de estar lo más cerca posible de las orejas.

El sonido se desplaza por el aire manteniendo el ángulo de la fuente. Y no suena con la misma potencia a dos distancias distintas, por más que estén separadas por unos centímetros. Esto implica que las ondas de fase opuesta tienen que generarse teniendo en cuenta la posición del oído, que es quien capta los sonidos.

Los micrófonos deben estar en el mismo sitio que las orejas, que recibirán la música sin el ruido ambiente

Como una aplicación obtendría el ruido a cancelar de los micrófonos del móvil, lo único viable sería llevar dicho móvil en la oreja para que así captase el audio en el ángulo y volumen necesario. Bueno, más bien un móvil en sendas orejas: dada su posición, el ambiente llega de manera distinta a cada una.

Ésta es la razón por la que todos los auriculares con cancelación de ruido poseen un micrófono en cada auricular: se encargan de generar el sonido de cancelación para la posición exacta donde debe emitirse, los oídos.

Seguiremos soñando con una app de cancelación de ruido

¿Por qué Android no tendrá nunca una app de cancelación de ruido?

Confieso que es algo que siempre me he preguntado: ¿por qué no hay una aplicación que emule el funcionamiento de unos auriculares con cancelación de ruido si el móvil tiene todo lo necesario para hacerlo? Auriculares, salida de audio y chips capaces de procesar los sonidos. ¿Qué más necesita? Resolver el problema con la latencia y posición de los micrófonos. Con lo simple que parece…

No hay solución: si quieres cancelación de ruido para tu música debes pasar por la compra de unos auriculares con esta función. Cancelación de ruido activa, por supuesto: cualquier auricular aísla en mayor o menor medida del ambiente.

La entrada El Talón de Aquiles de Android siempre será la cancelación de ruido aparece primero en El Androide Libre.