Takafumi Horiuchi

Un metronomo che pulsa

Panoramica

Il cerchio al centro dello schermo pulsa nello stesso istante e con la stessa intensità di ogni clic. Ho creato un metronomo per iPhone senza pubblicità, account o schermata delle impostazioni.

La schermata del metronomo. Un cerchio bianco al centro di uno schermo nero, quattro punti sopra e 120 BPM con −/+ sotto. Il cerchio si gonfia e torna alla sua dimensione a ogni battito.
Questa schermata funziona nella pagina con le stesse equazioni dell’app (120 BPM, quattro battiti per battuta). Tocca il cerchio per fermarla.

L’ho creato per esercitarmi con il sassofono tenore. Si apre e si può iniziare subito; il battito resta visibile anche quando il suono è difficile da sentire. Ho fatto tutto da solo, dall’ideazione al design, all’implementazione in SwiftUI e alla sintesi dei clic.

Comandi — toccare ciò che si vuole cambiare

Sullo schermo ci sono solo i punti dei battiti, un cerchio e il valore del tempo. Niente menu o istruzioni: si tocca direttamente ciò che si vuole cambiare.

La schermata da fermo. Un cerchio grigio chiaro con un triangolo di riproduzione al centro, quattro punti sopra, 120 BPM e −/+ sotto e una piccola ⓘ in alto a sinistra.
ⓘ
Apre la pagina di supporto.
Punti
Tocca per aggiungere un battito (1–7). Scorri per aumentarne o diminuirne il numero.
Cerchio
Tocca per avviare o fermare. Tieni premuto, poi batti il ritmo di un brano per impostare il tempo.
Numeri
Trascina per accelerare o rallentare. Muoviti lentamente per regolazioni fini. −/+ cambia il valore di uno.
La schermata da fermo. L’unico testo è costituito dai numeri e da “BPM”.

Pulsazione — lo stesso istante, la stessa intensità

Il cerchio si gonfia quando il suono arriva all’orecchio, non quando viene emesso. Compensa il ritardo di circa 0.1–0.3 secondi degli auricolari Bluetooth usando la latenza di uscita riportata da iOS. L’espansione è proporzionale al volume del clic: il primo battito ha un suono più acuto e forte e un’espansione nettamente maggiore.

Grafico dei clic e della dimensione del cerchio in una battuta di quattro battiti. La curva sale subito a ogni clic, raggiungendo 1.25 volte la dimensione a riposo al primo battito e 1.15 ai battiti 2–4; poi scende poco sotto 1 e si assesta.
Clic (aree piene) e dimensione del cerchio (linea) per una battuta a 120 BPM, con quattro battiti. Il cerchio raggiunge il massimo 0.02 secondi dopo il suono, si contrae un po’ troppo, come gelatina, poi si ferma.

Il thread audio determina gli istanti dei battiti a livello di campione. Il calcolo evita di accumulare errori: anche dopo un’ora di riproduzione continua, lo scarto resta entro 0.5 campioni.

Tap tempo — silenzio mentre batti il ritmo

Tenendo premuto il cerchio, questo comincia a tremare come gelatina. Toccalo al ritmo di un brano o del tempo che hai in mente: si infossa nel punto toccato, oscilla e ritorna. La vibrazione restituisce il tempo.

Sei fotogrammi del contorno dopo un tocco sul bordo superiore. Si infossa a 0.03 secondi, inizia a tornare a 0.08, si deforma leggermente in verticale e in orizzontale a 0.17 e 0.3 e torna circolare a 1.3 secondi.
Il contorno dopo un tocco sul bordo superiore, disegnato con le stesse equazioni dell’app. Il tratteggio indica un cerchio perfetto.
Una versione di sviluppo. Il cerchio è grigio in modalità tap tempo. Sotto, un pannello giapponese di “Regolazione della gelatina” mostra cursori e spiegazioni, tra cui “Elasticità (velocità di oscillazione): 3.6 cicli/secondo” e “Viscosità (smorzamento): 0.10”.
Ho regolato l’oscillazione con un pannello presente solo nella versione di sviluppo. Modificavo dieci valori, tra cui elasticità e viscosità, tramite cursori, toccando il cerchio per verificarne la risposta. Dopo aver confrontato “budino”, “warabi mochi” e “più liquido”, ho scelto “gelatina” come predefinito: un rimbalzo vivace che si placa in circa 0.9 secondi.

Durante i tocchi il silenzio è intenzionale. Una risposta sonora immediata arriverebbe in ritardo via Bluetooth e si sovrapporrebbe ai clic del metronomo. Quando si smette di toccare, i clic a quel tempo iniziano quasi impercettibili e raggiungono il volume normale in sei secondi.

Dopo cinque tocchi, i punti della vibrazione si riducono gradualmente, mentre le barre dei clic crescono da un livello quasi impercettibile nell’arco di sei secondi.
Cinque tocchi a 120 BPM, poi una pausa. Dal basso: tocchi, vibrazione (più piccolo significa più debole), clic (più alto significa più forte). Il volume cresce uniformemente in decibel, evitando un salto improvviso da un suono tenue.

Suono — scegliere a orecchio un’altezza che emerga dal sassofono

I clic sono sintetizzati da onde sinusoidali, senza file audio. Ho creato una pagina di confronto e svolto tre prove comparative con l’altoparlante dell’iPhone mentre suonavo il sassofono tenore. Ho scelto 1875 Hz e 1250 Hz, cioè 1.25 volte le frequenze originali: sopra la fascia più intensa del sassofono e sotto quella che tende a risultare stridente.

Asse delle frequenze da 100 Hz a 10 kHz. La fascia del sassofono tenore occupa la parte bassa; quella stridente si trova a 2.5–4 kHz. I clic a 1250 Hz e 1875 Hz sono tra le due; gli originali a 1000 Hz e 1500 Hz sono tratteggiati.
La banda ombreggiata mostra dove si concentra l’energia del sassofono tenore (più debole verso destra); il tratteggio obliquo indica i 2.5–4 kHz stridenti. Le linee tratteggiate sono i suoni originali (1000/1500 Hz), quelle continue i suoni scelti. L’altezza indica il volume.

Suoni più acuti e lunghi, o con armoniche aggiunte, si sentivano meglio. Ho comunque scelto nell’intervallo che conservava un carattere elettronico morbido e neutro.

Sottrarre — ciò che ho lasciato fuori

Nulla che faccia esitare tra opzioni. Ho verificato, elemento per elemento, se l’app potesse funzionare senza e l’ho rimosso.

Pubblicità, tracciamento e account
Deciso fin dall’inizio. L’app non avvia comunicazioni di rete di propria iniziativa.
Schermata delle impostazioni
Tutto si svolge in un’unica schermata.
Scelta dei timbri
Bastano due suoni, per i battiti accentati e non accentati. Le opzioni creano indecisione.
Cursore del volume
Bastano i tasti del volume del dispositivo.
Modalità chiara
Una sola schermata nera.
Otto battiti o più
Il 12/8 si conta in quattro battiti, il 9/8 in tre.
Suddivisioni (ottavi, terzine, sedicesimi)
Non sono indispensabili. Restano la prima aggiunta da valutare.
Inserimento numerico del tempo
Bastano −/+ e il trascinamento.

Realizzato in SwiftUI, senza librerie esterne. Funziona su iPhone con iOS 17 o successivo. Il nome inglese è No Ads Simplest Metronome. Sto preparando la pubblicazione sull’App Store (settembre 2026). Le istruzioni complete e l’informativa sulla privacy sono nella pagina di supporto (in inglese).