Takafumi Horiuchi

Un metrónomo que late

Descripción general

El círculo del centro de la pantalla late al mismo tiempo y con la misma intensidad que cada clic. Creé un metrónomo para iPhone sin anuncios, cuentas ni pantalla de ajustes.

Pantalla del metrónomo. Un círculo blanco en el centro de una pantalla negra, cuatro puntos de pulso arriba y 120 BPM con −/+ abajo. El círculo se expande y vuelve a su tamaño con cada pulso.
Esta pantalla funciona dentro de la página con las mismas ecuaciones que la app (120 BPM, cuatro pulsos por compás). Toca el círculo para detenerla.

Lo hice para mis prácticas de saxofón tenor. Se puede abrir y empezar a usar al instante; el pulso sigue siendo visible cuando cuesta oírlo. Hice todo por mi cuenta: la concepción, el diseño, la implementación en SwiftUI y la síntesis de los clics.

Controles — tocar lo que se quiere cambiar

En la pantalla solo hay puntos de pulso, un círculo y el valor del tempo. Sin menús ni instrucciones: se toca directamente lo que se quiere cambiar.

Pantalla en reposo. Un círculo gris claro con un triángulo de reproducción, cuatro puntos arriba, 120 BPM y −/+ abajo y un pequeño ⓘ en la esquina superior izquierda.
ⓘ
Abre la página de soporte.
Puntos
Toca para añadir un pulso (1–7). Desliza para aumentar o reducir la cantidad.
Círculo
Toca para iniciar o detener. Mantén pulsado y luego marca el ritmo de una canción para fijar el tempo.
Números
Arrastra para acelerar o ralentizar. Muévete despacio para ajustar con precisión. −/+ cambia de uno en uno.
La pantalla en reposo. El único texto son los números y «BPM».

Latido — el mismo instante, la misma intensidad

El círculo se expande cuando el sonido llega al oído, no cuando se emite. Compensa el retraso de unos 0.1–0.3 segundos de los auriculares Bluetooth mediante la latencia de salida que informa iOS. La expansión es proporcional al volumen del clic: el primer pulso suena más agudo y fuerte, y el círculo se expande visiblemente más.

Gráfico de los clics y del tamaño del círculo en un compás de cuatro pulsos. La curva sube inmediatamente con cada clic: alcanza 1.25 veces el tamaño de reposo en el primer pulso y 1.15 en los pulsos 2–4, baja un poco de 1 y se estabiliza.
Clics (relleno) y tamaño del círculo (línea) durante un compás a 120 BPM, con cuatro pulsos. El círculo alcanza su máximo 0.02 segundos después del sonido, se contrae un poco de más, como gelatina, y se detiene.

El hilo de audio determina el instante de cada pulso con precisión de muestra. El cálculo evita acumular errores: incluso tras una hora de reproducción continua, la desviación no supera 0.5 muestras.

Tempo por toques — silencio mientras marcas el ritmo

Al mantener pulsado el círculo, empieza a temblar como gelatina. Toca al ritmo de una canción o del tempo que imaginas: el círculo se hunde donde lo tocas, oscila y recupera su forma. La vibración te devuelve el tempo.

Seis fotogramas del contorno tras un toque en el borde superior. Se hunde a los 0.03 segundos, empieza a volver a los 0.08, se deforma ligeramente en vertical y horizontal a los 0.17 y 0.3 y vuelve a ser circular a los 1.3 segundos.
El contorno tras un toque en el borde superior, dibujado con las mismas ecuaciones que la app. La línea de puntos es un círculo perfecto.
Versión de desarrollo. El círculo está gris en el modo de tempo por toques. Debajo, un panel en japonés de «Ajuste de gelatina» muestra deslizadores y explicaciones, como «Elasticidad (velocidad de oscilación): 3.6 ciclos/segundo» y «Viscosidad (amortiguación): 0.10».
Ajusté la oscilación con un panel exclusivo de la versión de desarrollo. Movía diez valores, como elasticidad y viscosidad, mediante deslizadores mientras tocaba el círculo para comprobar el resultado. Comparé «flan», «warabi mochi» y «más líquido», y elegí «gelatina» como opción predeterminada: un rebote vivo que se calma en unos 0.9 segundos.

Mientras marcas el ritmo, no suena nada a propósito. Una respuesta sonora inmediata llegaría tarde por Bluetooth y se superpondría al metrónomo. Al dejar de tocar, los clics a ese tempo empiezan casi inaudibles y suben al volumen habitual en seis segundos.

Tras cinco toques, los puntos de vibración se reducen gradualmente y las barras de los clics crecen desde un nivel casi inaudible durante seis segundos.
Cinco toques a 120 BPM y después una pausa. De abajo arriba: toques, vibración (más pequeño significa más débil) y clics (más alto significa más fuerte). El volumen aumenta uniformemente en decibelios para evitar un salto brusco desde un sonido tenue.

Sonido — elegir de oído un tono que se distinga del saxofón

Los clics se sintetizan con ondas sinusoidales, sin archivos de audio. Creé una página de comparación e hice tres pruebas de escucha con el altavoz del iPhone mientras tocaba el saxofón tenor. Elegí 1875 Hz y 1250 Hz, 1.25 veces las frecuencias originales: por encima de la zona más intensa del saxofón y por debajo de la que suele resultar estridente.

Eje de frecuencias de 100 Hz a 10 kHz. El saxofón tenor ocupa la zona baja; la franja estridente está en 2.5–4 kHz. Los clics de 1250 Hz y 1875 Hz quedan entre ambas. Las frecuencias originales de 1000 Hz y 1500 Hz aparecen punteadas.
La banda sombreada indica dónde se concentra la energía del saxofón tenor (más débil hacia la derecha); el rayado marca los 2.5–4 kHz que pueden resultar estridentes. Las líneas de puntos son los sonidos originales (1000/1500 Hz); las continuas, los elegidos. La altura representa el volumen.

Los sonidos más agudos y largos, o con armónicos añadidos, se oían mejor. Aun así, elegí dentro del margen que conservaba un carácter electrónico suave y neutro.

Restar — lo que dejé fuera

Nada que haga dudar entre opciones. Comprobé, elemento por elemento, si la app podía funcionar sin él y lo retiré.

Anuncios, seguimiento y cuentas
Decidido desde el principio. La app no inicia comunicaciones de red por su cuenta.
Pantalla de ajustes
Todo se resuelve en una sola pantalla.
Selección de timbres
Bastan dos sonidos, para pulsos acentuados y no acentuados. Las opciones generan dudas.
Control deslizante de volumen
Bastan los botones de volumen del dispositivo.
Modo claro
Una única pantalla negra.
Ocho pulsos o más
El 12/8 se cuenta en cuatro pulsos; el 9/8, en tres.
Subdivisiones (corcheas, tresillos, semicorcheas)
No son imprescindibles. Quedan como primera opción para una futura incorporación.
Introducir el tempo con números
Bastan −/+ y arrastrar.

Implementado en SwiftUI, sin bibliotecas externas. Funciona en iPhone con iOS 17 o posterior. Su nombre en inglés es No Ads Simplest Metronome. Estoy preparando su publicación en el App Store (septiembre de 2026). Las instrucciones completas y la política de privacidad están en la página de soporte (en inglés).