Mapa Sonoro del Metro: convertí los trenes de Barcelona en una partitura en tiempo real

MAPA SONORO, TOOLS

Hay música en el metro de Barcelona. Solo hace falta escucharla.

La L1 sale de Fondo. La L3 pasa por Liceu. La L5 cruza Sagrada Família. Ahora mismo, mientras lees esto, hay decenas de trenes moviéndose por debajo de la ciudad, cada uno con su posición exacta registrada en un servidor de TMB actualizado cada pocos segundos.

Esos datos existen. Están ahí, disponibles. La mayoría de la gente los usa para saber en cuántos minutos llega el próximo tren.

Yo los usé para hacer música.

Qué es Mapa Sonoro del Metro

Es una herramienta web que carga el mapa esquemático del metro de Barcelona y se conecta en tiempo real a la API de TMB. Cada vez que un tren llega a una estación, la herramienta dispara una nota musical. La nota depende de la línea: la L1 tiene su frecuencia, la L2 la suya, la L3 la suya. El resultado es una pieza musical que nunca se repite, porque depende de dónde están los trenes en ese momento exacto — una partitura que cambia a las 8 de la mañana en hora punta, a las 3 de la tarde entre semana, y a la 1 de la madrugada en un sábado.

Puedes escucharlo en directo desde el navegador, sin instalar nada. Y si quieres quedarte con un fragmento, tiene exportación de audio incorporada para grabar lo que está sonando.

Cómo lo construí (y lo que no salió bien a la primera)

La parte de hacer sonar notas con Tone.js fue la más rápida. La parte complicada fue conseguir que la API de TMB me diera lo que necesitaba de forma fiable.

TMB tiene una API pública, pero documentada de forma bastante escasa. El primer problema fue entender qué endpoint devolvía posiciones de trenes en tiempo real y no solo horarios teóricos. Eso llevó más tiempo del que debería. El segundo problema fue el formato de los identificadores de parada: los IDs que devuelve la API de posiciones no coinciden exactamente con los del GTFS (el estándar de datos de transporte público), así que tuve que cruzar ambas fuentes para construir un mapa de correspondencias correcto.

El tercer problema —el más entretenido de resolver— fue el de la concurrencia. La herramienta consulta múltiples líneas simultáneamente con polling periódico, y si no controlas bien cuántas peticiones lanzas al mismo tiempo, el navegador empieza a acumular promesas sin resolver y todo se ralentiza. Lo resolví con un sistema de concurrencia limitada: no más de N peticiones simultáneas, con cola para el resto.

Y luego estaba el tema del audio en Safari. Safari tiene sus propias reglas para cuando permite que una página web genere sonido, bastante más estrictas que Chrome o Firefox. Hubo que añadir un paso de activación explícita por parte del usuario antes de que el contexto de audio pudiera arrancar. En Safari siempre hay algo.

El resultado

Lo que más me sorprendió, una vez todo funcionó, fue que el sistema sonoro del metro tiene su propio ritmo interno. En hora punta, las notas se disparan casi sin parar, como un arpegio acelerado e impredecible. A media tarde, hay silencios entre llegadas que empiezan a tener su propio carácter. La L3, por su longitud y frecuencia, aparece mucho más que las líneas más cortas. La L9, con sus dos ramales enormes, tiene una presencia constante de fondo.

No lo planeé. Lo descubrí escuchando.

Para qué lo puedes usar

Si eres productor o haces música electrónica, la exportación de audio te da fragmentos de textura generativa que nunca vas a poder diseñar desde cero: nacen de datos reales, tienen una estructura rítmica propia, y cambian con el tiempo. Si te interesa el field recording o la sonificación de datos, es un punto de entrada concreto a cómo suena una ciudad en sus capas invisibles. Y si simplemente te apetece poner el metro de fondo mientras trabajas y que suene diferente cada día, también funciona.

Puedes probarlo directamente en bynokko.com. No hace falta cuenta, no hace falta instalar nada.


¿Qué ciudad te gustaría escuchar? Si tiene una API de transporte público abierta, técnicamente es posible hacer lo mismo con su metro, su bus o sus trenes de cercanías.