Sonificación en vivo · Buenos Aires

Bondi Sonoro

Cada línea de colectivo es una cuerda. Cuando un bondi pasa, la cuerda vibra y suena. Todo con datos reales, en tiempo real, de la API de Transporte del GCBA.

Capítulo 2 · Serie datos abiertos

De los trenes al tiempo real.

Hace unas semanas hicimos AMBA Trenes Sonoros: una sonificación de los horarios programados de los ferrocarriles argentinos. Fue una decisión arquitectónica honesta — no existía GTFS-RT público para trenes, así que sonificamos el horario, no la realidad.

Este es el capítulo 2. Acá sí hay tiempo real: el GCBA publica posiciones GPS en vivo de los colectivos de Buenos Aires a través de su API Transporte. Lo que se ve y se escucha acá es — literalmente — el movimiento real de los bondis en este momento.

Las cuerdas

Cada línea (60, 152, 132, etc.) se dibuja como su recorrido real. Vienen del GTFS estático: routes.txt + trips.txt + shapes.txt procesado en build-time.

El punteo

Cada ~30 segundos pedimos las posiciones en vivo. Cuando un bondi avanza sobre su cuerda, disparamos un PluckSynth (Karplus–Strong, el mismo algoritmo que modela una cuerda real).

La honestidad

El GCBA actualiza cada ~60s. Entre polls, interpolamos suavemente para que visualmente los bondis se deslicen en vez de teleportarse. Todo cliente, sin trampa.

Decisiones técnicas clave

  • Proxy server-side (Route Handler de Next.js): las credenciales del GCBA viven solo en env vars, nunca llegan al browser.
  • Pentatónica mayor para las 20 líneas curadas: cualquier combinación simultánea suena consonante, sin importar qué bondis coincidan.
  • @turf + d3-geo para lo geométrico: proyección lat/lon → SVG, snap del bondi a su ruta, longitudes paramétricas.
  • Interpolación 30fps cliente-side: el feed llega cada 30–60s pero la visual y el audio responden continuos.