Una tastiera MIDI dice all’app esattamente quale tasto hai premuto, in quale momento e con quanta forza. Un microfono deve ricavare tutto questo dal suono nella stanza, ed è molto più difficile di quanto sembri. Entrambi gli approcci sono reali ed entrambi si trovano in prodotti che la gente apprezza. La differenza è che uno è una misura e l’altro una stima, e per un feedback che arriva mentre stai ancora suonando, questa differenza decide cosa il software può dirti onestamente.
Sviluppo SightReader, quindi ho un interesse evidente in questa storia. Quello che segue è il ragionamento dietro una scelta di progettazione, non un’arringa a suo favore, e dove il compromesso ci dà torto l’ho detto.
Un aggiornamento rispetto alla prima pubblicazione. SightReader ora ha una modalità microfono, quindi un pianoforte acustico senza cavo non è più un motivo per rinunciare. Questo non cancella nessuno dei calcoli che seguono. Una tastiera MIDI resta l’ingresso che consiglio, e i limiti di ciò che l’ascolto può dirti onestamente sono proprio ciò che ha dato forma alla modalità. Cosa fa, e cosa deliberatamente non fa, è spiegato verso la fine.
Cosa trasmette il MIDI
Il MIDI non è audio. Non trasporta alcun suono. Quando premi il do centrale su una tastiera MIDI, lo strumento mette tre byte sul cavo:
0x90 0x3C 0x54 Il primo byte dice «nota attivata, canale 1». Il secondo è il numero della nota: 60, il do centrale. Il terzo è la velocity, cioè con quanta forza l’hai colpito, su una scala da 1 a 127. Quando lo rilasci arriva il corrispondente messaggio di nota disattivata. Il browser assegna un timestamp a ogni messaggio all’arrivo, e questa è l’intera catena. Niente viene dedotto. Non c’è un modello, non c’è una soglia, non c’è un punteggio di affidabilità. La tastiera non sta descrivendo un suono che ha prodotto. Sta segnalando la chiusura di un interruttore.
Ecco perché non esiste una percentuale di precisione per il rilevamento delle note via MIDI. La domanda non ha senso. Se l’app dice che hai suonato un fa diesis quando volevi suonare un fa, hai suonato un fa diesis.
Cosa deve fare invece un microfono
Un microfono riceve un solo numero, molte migliaia di volte al secondo: la pressione dell’aria. Tutto il resto va ricostruito.
Il compito ha un nome, trascrizione musicale automatica polifonica, ed è uno dei problemi davvero difficili dell’audio. Una singola nota di pianoforte non è una singola frequenza. Suona un la a 440Hz e ottieni energia anche intorno a 880, 1320, 1760 e oltre, che decade a velocità diverse, plasmata dallo strumento e dalla stanza. È la serie armonica, ed è ciò che fa suonare un pianoforte come un pianoforte.
Ora suona un accordo. Le parziali delle note più gravi cadono sulle fondamentali di quelle più acute, o vicino. Un la e il mi sopra di esso condividono gran parte del loro contenuto spettrale. L’algoritmo deve decidere se l’energia a una data frequenza è una nota che qualcuno ha suonato o un armonico di una nota che qualcuno ha suonato, e deve farlo per ogni nota dell’accordo, di continuo, mentre le note precedenti risuonano ancora e il pedale di risonanza magari le tiene tutte.
È impressionante che funzioni, e funziona davvero.
Cosa ottiene la ricerca
Lo stato dell’arte attuale per farlo in tempo reale su un telefono è Mobile-AMT, presentato a EUSIPCO 2024 da Yuta Kusaka e Akira Maezawa di Yamaha. È un ottimo lavoro e i numeri sono solidi:
- 96,30% di F1 sulle note con le registrazioni pulite di MAESTRO.
- 93,15% di F1 sulle note con registrazioni reali, che è il numero che conta, ed è molto migliore di quanto ci si potrebbe aspettare.
- Gira in tempo reale su hardware mobile, riducendo il costo computazionale di circa l’83% rispetto a metodi comparabili.
Altri due dati dallo stesso filone di ricerca contano di più per quello che faccio io:
- L’F1 con la fine delle note scende al 76,80% anche su audio pulito da studio. La fine delle note significa le durate. Quindi il numero più debole della letteratura è proprio quello da cui dipende la valutazione del ritmo.
- Se il modello viene addestrato senza un forte potenziamento dei dati per acustica della stanza, rumore di fondo e caratteristiche del dispositivo, l’F1 nel mondo reale crolla al 78,84%. La robustezza fuori dal laboratorio non è gratis. Va costruita, e un prodotto che non ha fatto questo lavoro sarà molto peggiore di quanto suggerisca il dato di copertina.
Un articolo di valutazione del 2024, Towards Musically Informed Evaluation of Piano Transcription Models, aggiunge un punto da prendere sul serio: punteggi F1 alti possono nascondere errori musicali. La precisione degli attacchi peggiora in modo misurabile all’aumentare del rumore, e c’è un calo statisticamente significativo tra i dataset di riferimento puliti e lo stesso materiale registrato di nuovo acusticamente. Il punteggio può sembrare buono mentre il risultato musicale non lo è.
I conti della latenza
Mobile-AMT dichiara 174ms di latenza. Via MIDI, il percorso dalla pressione del tasto a una testa di nota colorata sullo schermo richiede meno di 20ms in un browser. La Web MIDI API consegna il messaggio con un timestamp hardware e il resto è disegno sullo schermo.
174 contro 20 è circa nove volte più lento, ma il rapporto conta meno di questo calcolo:
A 60 battiti al minuto, un battito dura 1000ms. Quindi 174ms sono circa un terzo di battito. A 120bpm (un brano vivace di Grado 3) sono due terzi di battito.
Pensa a cosa significa per il feedback mentre suoni. Colpisci una nota. Quando l’app ha deciso quale fosse, sei già quasi alla successiva. Non puoi colorare una testa di nota nel momento in cui succede, non puoi dire a chi suona che sta rallentando mentre rallenta, e di certo non puoi valutare gli attacchi con una tolleranza più fine del ritardo con cui li misuri. La nostra tolleranza ritmica è di 120ms nel caso più stretto. Quel margine è esaurito prima che la trascrizione finisca.
Ecco perché continuo a tornare sulla latenza, più che sulla precisione, come argomento decisivo. La precisione si può migliorare con un modello migliore. La latenza invece fa un lavoro vero (è il tempo che serve all’algoritmo per sentire abbastanza della nota da essere sicuro di cosa fosse), e ridurla sotto la durata dell’attacco di un pianoforte non è una questione di impegno ingegneristico.
I conti degli errori
Ora il lato della precisione, perché il modo in cui il numero si comporta lungo un brano è peggiore di quanto il numero suggerisca.
Prendi una precisione del 95% sulle note, ampiamente dentro ciò che la ricerca riporta per l’audio reale. Un brano di Grado 5 arriva a circa 500 note. Il cinque per cento di 500 fa circa 25 verdetti sbagliati a tentativo.
Venticinque non è un disastro di per sé. Il problema è quali venticinque. Non lo sai. Sullo schermo non c’è un segno che dice «questa è colpa dell’algoritmo», perché se l’algoritmo sapesse di sbagliare non sbaglierebbe. Così chi guarda una testa di nota rossa deve decidere se ha letto male lo spartito o se il software ha sentito male la stanza, e dall’interno non c’è modo di capirlo.
Per un prodotto il cui intero valore sta nel poterti fidare del verdetto, un tasso di errore non rintracciabile è corrosivo in un modo in cui un verdetto più lento non lo è. Ti insegna a non dare peso al feedback, e un feedback a cui non dai peso non vale nulla. Il MIDI non ha un difetto equivalente, perché non emette alcun giudizio.
Sulle conseguenze pratiche, poi, non devi fidarti solo di me. Il mancato riconoscimento delle note è la lamentela più comune nelle recensioni dei due prodotti basati sul microfono più pubblicizzati. Il centro assistenza di Simply Piano è diretto sul rimedio: collegare una tastiera MIDI «darà un riconoscimento perfetto delle note e risolverà qualsiasi problema di riconoscimento, in particolare quando si suona musica più avanzata». Il resto di quella pagina parla di rumore nella stanza, di custodie del telefono che coprono il microfono e di suonare più forte. La ricerca spiega perché quelle istruzioni esistono.
Perché per noi la fine delle note conta di più
La lettura a prima vista ha due metà: le note giuste e il tempo giusto. La modalità Note e ritmo di SightReader valuta la seconda metà in modo indipendente. Con il metronomo attivo, ogni attacco viene misurato rispetto al battito, e i risultati ti dicono quale percentuale è arrivata a tempo, in anticipo e in ritardo, più la tua tendenza media in millisecondi.
L’intera funzione si basa sui timestamp MIDI, e il motivo è il numero sulla fine delle note visto sopra. Valutare il ritmo significa misurare quando le cose iniziano e finiscono. È l’unico lavoro in cui il dato più debole della letteratura è proprio quello da cui dipendi, e in cui un ritardo di 174ms non è un errore di arrotondamento ma un terzo di battito.
Se non riuscissi a misurare il tempo con una tolleranza di cui mi fido, non pubblicherei un punteggio ritmico. Pubblicarne uno comunque, su dati dedotti, produrrebbe un numero che sembra autorevole e non lo è, che è il peggior risultato possibile.
E non è più un’ipotesi. La modalità Note e ritmo è l’unica parte di SightReader che il microfono non può raggiungere: attiva il metronomo mentre il microfono ascolta e l’app te lo dice e ti chiede di collegare una tastiera. La pratica delle note con il microfono funziona normalmente. Preferisco non dare il punteggio ritmico piuttosto che stamparne uno a cui non credo.
Perché non importiamo nemmeno file MIDI
Questa è la parte che sorprende, perché sembra un limite senza argomenti a sostegno. Lo spartito da cui leggi deve essere un file MusicXML, e nessun altro formato. Questo esclude i file MIDI, i PDF e le registrazioni.
È lo stesso ragionamento del microfono, applicato nella direzione opposta.
Il MIDI trasporta dati di esecuzione. In questo è eccellente. Quello che non trasporta è la notazione. Un file MIDI non assegna le chiavi, quindi il software deve indovinare quale mano suona cosa. Non ha la semantica dell’armatura di chiave, quindi non può dirti se quel tasto nero è un la bemolle o un sol diesis: sono lo stesso numero di nota MIDI, 68, e due cose completamente diverse sulla pagina. Non ha le voci, quindi le linee sovrapposte in una mano si fondono in un impasto di note simultanee. Non ha travature, articolazioni, pause come sono scritte, né alcuna grafia.
Ricavare uno spartito leggibile da un MIDI grezzo significa dedurre ognuna di queste cose. È lo stesso tipo di problema della trascrizione dell’audio, solo più blando, e produce lo stesso tipo di risultato: un’ipotesi plausibile. Se hai mai importato un file MIDI in un programma di notazione e l’hai visto produrre una battuta di pause con cinque punti, l’hai visto succedere.
Il MusicXML contiene già la notazione. Chiavi, tonalità, grafia, voci, travature, legature, diteggiature, tutto. Quello che vedi sullo schermo è ciò che il compositore o il curatore ha davvero scritto, e quando l’app segna una nota come sbagliata la confronta con lo spartito, non con una ricostruzione dello spartito.
Se la tua musica è in MuseScore, Sibelius, Finale o Dorico, esportare in MusicXML richiede una ventina di secondi. Ho scritto una breve guida per farlo in ciascuno.
Il principio, detto una volta
Dichiariamo precisione solo dove ce l’abbiamo.
MusicXML per gli spartiti e non notazione dedotta, perché la notazione dedotta da un file MIDI è un’ipotesi e valutarti rispetto a un’ipotesi è indifendibile. MIDI dalla tastiera ovunque un dato debba essere esatto, cioè ogni millisecondo che stampiamo. E dove ascoltiamo, la modalità è costruita in modo che l’app non affermi mai più di quanto ha sentito: non dà il punteggio ritmico, valuta un accordo sul suono dell’accordo anziché fingere di riconoscere ogni voce, e quando le prove sono ambigue non dice nulla invece di segnarti un errore.
Tutto ciò che c’è sopra è a sostegno di questa frase. Le sezioni che seguono sono ciò a cui porta in pratica.
Quando un’altra app è la scelta migliore
Quando questo articolo è uscito per la prima volta, un pianoforte acustico senza tastiera MIDI significava che SightReader non poteva aiutarti affatto. È la lacuna che la modalità microfono ha colmato, ed è stata la scelta giusta: una stima che puoi usare batte una misura che non puoi avere.
Non è mai stato un gruppo piccolo. Sono i verticali nelle case di famiglia, le aule di studio delle scuole, e ogni pianista che ha uno strumento perfettamente valido e nessuna voglia di comprarne un secondo con una presa USB.
Altri strumenti potrebbero comunque fare più al caso tuo, e vale la pena dire perché. Sight Reading Factory è ben fatto, ben considerato, usato da molti insegnanti, e copre più di 60 strumenti, voce compresa. Noi facciamo pianoforte. Simply Piano, Skoove e flowkey accettano tutti l’ingresso dal microfono oltre al MIDI, e sono tutti e tre prodotti curati con cataloghi che non possiamo eguagliare. E se quello che vuoi è un punteggio ritmico senza tastiera, non lo offriamo, per il motivo spiegato sopra.
Cosa fa la nostra modalità microfono
Scegli il microfono durante la configurazione e SightReader ascolta la stanza e valuta ciò che suoni: qualsiasi brano, qualsiasi esercizio, qualsiasi esercizio di scale o di note, su un verticale, un coda o un pianoforte digitale che non puoi collegare. Non servono cavi né adattatori. L’audio viene analizzato sul tuo dispositivo man mano che arriva e poi scartato. Non viene registrato niente, non viene caricato niente, e non c’è audio che noi possiamo conservare.
Arriva anche più lontano del MIDI. Web MIDI funziona in Chrome, Edge, Opera e Firefox per desktop, e in nessun browser su iPhone o iPad. Qualsiasi browser che può registrare audio può usare la modalità microfono, compresi Safari e Firefox, ed entrambe le app la supportano da una versione recente.
Il motivo per cui può funzionare, quando la ricerca qui sopra dice che la trascrizione in tempo reale costa 174ms e qualche nota sbagliata ogni cento, è che noi non facciamo trascrizione. La trascrizione aperta deve rispondere alla domanda «cosa è stato suonato», tra ottantotto possibilità, partendo solo dal suono. Noi abbiamo già lo spartito, quindi la domanda è molto più ristretta: ciò che è appena suonato è coerente con le note che ci aspettiamo? Conoscere l’insieme delle risposte vale moltissimo, ed è attorno a questo che la modalità è costruita.
I limiti onesti, detti una volta:
- Le note singole vengono valutate come con il MIDI. Verde se giusta, rosso se sbagliata, il cursore che avanza mentre suoni.
- Gli accordi sono valutati sul loro suono complessivo, non nota per nota. La modalità confronta l’accordo che hai suonato con quello atteso. Quando le prove lo contraddicono, la posizione viene segnata come sbagliata. Quello che non farà è indicare la singola voce interna che hai sbagliato, perché separare quella voce da una miscela è proprio l’inferenza di cui parla questo articolo.
- La modalità Note e ritmo non è disponibile con il microfono. Vedi la sezione sulla fine delle note qui sopra. Collega una tastiera via USB o Bluetooth e si attiva.
- Il feedback arriva un attimo dopo il tasto. Il rilevamento ha bisogno di un istante di suono per esserne sicuro. I timestamp della valutazione vengono riportati all’attacco, quindi i tuoi punteggi non vengono falsati, ma il colore compare leggermente dopo la nota.
- Nel dubbio, si decide a tuo favore. Quando il suono non è abbastanza chiaro per decidere, la modalità non segna nulla invece di lampeggiare di rosso su qualcosa che potresti aver suonato benissimo. Preferisce non contare un errore piuttosto che inventarne uno.
- La stanza conta. Uno spazio silenzioso, il dispositivo vicino al pianoforte e le cuffie se usi il metronomo, altrimenti il clic rientra dal microfono. Per lo stesso motivo, in questa modalità il suono del pianoforte di pratica è disattivato per impostazione predefinita.
Non pubblico una percentuale di precisione per questa modalità. I numeri che ho vengono dai nostri test interni, non dai salotti di sconosciuti, e citarli accanto a ricerche sottoposte a revisione paritaria ci farebbe sembrare migliori confrontando cose non confrontabili. Quello che l’app ti dice, invece, è sullo schermo: le sessioni valutate tramite ascolto riportano una nota che lo segnala, e una tastiera valuta ogni nota con esattezza.
Cosa offriamo senza tastiera e senza microfono
C’è un pianoforte a schermo che puoi suonare con la tastiera del computer. Copre due ottave, da do3 a si4, abbastanza per i brani di livello Iniziale e dei primi passi del Grado 1, e abbastanza per capire se l’app ti piace. Non basta per il repertorio vero e non ha niente a che vedere con suonare il pianoforte.
C’è anche la modalità onore: suona il brano su qualsiasi strumento tu abbia, poi di’ all’app com’è andata. Così la tua cronologia di pratica resta completa. È autodichiarata, quindi è esattamente precisa quanto lo sei tu.
MIDI e microfono a confronto
| App | Cosa arriva all’app | Latenza | Tasso di errore sulle note | Funziona con un pianoforte acustico | Peggiora in una stanza rumorosa |
|---|---|---|---|---|---|
| Microfono | Audio, trascritto | ~174ms | ~4–7% su audio reale | ✓ | ✓ |
| MIDI | Numero di nota, velocity, timestamp | Meno di 20ms | Nessuno (non è inferenza) | ✗ | ✗ |
Quei dati sul microfono riguardano la trascrizione aperta, che è il problema di un’app che non ha idea di cosa stai per suonare. La modalità microfono di SightReader ha lo spartito davanti, il che è una domanda diversa e molto più facile, ed è il motivo per cui la modalità esiste. Sta comunque ascoltando, quindi i limiti della sezione precedente valgono ancora.
FAQ
Mi serve una tastiera MIDI per un’app di lettura a prima vista?
Per il feedback più preciso, sì. Il MIDI è un protocollo di dati: la tastiera comunica quale tasto è stato premuto, quando e con quanta forza, senza alcuna supposizione. Le app che ascoltano tramite un microfono devono ricavare tutto questo dal suono, il che è più lento e imperfetto. Molte buone app lo fanno comunque, SightReader compresa, e se hai un pianoforte acustico è l’opzione che funziona.
Un’app può sentire il mio pianoforte acustico?
Sì. SightReader ha una modalità microfono, e ce l’hanno anche Sight Reading Factory, Simply Piano, Skoove e flowkey. Ciò che l’ascolto non può fare è eguagliare la precisione temporale o la certezza del MIDI: la migliore trascrizione di pianoforte in tempo reale pubblicata ha circa 174ms di latenza e sbaglia qualche nota ogni cento, e nessuno dei due numeri ti è visibile mentre suoni. È per questo che in SightReader le note singole vengono valutate come con il MIDI, gli accordi sono valutati sul loro suono complessivo anziché nota per nota, e la modalità Note e ritmo richiede una tastiera collegata.
Perché le app non riescono a rilevare gli accordi dall’audio?
Ci riescono. La trascrizione polifonica del pianoforte funziona, e funziona bene: la ricerca recente riporta punteggi F1 sulle note ben oltre il 90% su registrazioni reali. Il problema è che è approssimativa e lenta in un modo che conta per un feedback dal vivo. Una singola nota di pianoforte produce un’intera serie armonica, e le parziali di una nota cadono sulle fondamentali di altre, quindi separare un accordo richiede un’inferenza. L’inferenza richiede tempo e ogni tanto produce risposte sbagliate.
Qual è la differenza tra MIDI e MusicXML?
Il MIDI descrive un’esecuzione: quale nota, quando è iniziata, quando è finita, con quanta forza. Il MusicXML descrive la notazione: chiavi, armature di chiave, grafia enarmonica, voci, travature, articolazioni. Puoi generare un file MIDI approssimativo da una partitura, ma fare il contrario significa indovinare tutto ciò che il file MIDI non contiene. Ecco perché SightReader legge il MusicXML per le partiture, e nient’altro.
SightReader funziona senza una tastiera MIDI?
Sì. La modalità microfono ascolta qualsiasi pianoforte tu abbia, un verticale, un coda o un pianoforte digitale che non puoi collegare, e valuta ciò che suoni. Le note singole vengono valutate come con il MIDI, gli accordi sono valutati sul loro suono complessivo anziché nota per nota, e la modalità Note e ritmo richiede una tastiera collegata. C’è anche un pianoforte a schermo che copre due ottave (da do3 a si4), e la modalità onore, in cui suoni su qualsiasi strumento e riporti tu stesso il risultato. Una tastiera MIDI resta il modo più preciso di lavorare.
Fonti
- Kusaka, Y. e Maezawa, A., Mobile-AMT: Real-Time Polyphonic Piano Transcription for In-the-Wild Recordings, EUSIPCO 2024: PDF
- Towards Musically Informed Evaluation of Piano Transcription Models, 2024: arXiv:2406.08454
- Kong, Q. et al., High-resolution Piano Transcription with Pedals by Regressing Onset and Offset Times, 2020: arXiv:2010.01815
- Simply Piano Help Center, Ways to Improve Note Recognition in Simply Piano: help.hellosimply.com
Dati verificati il 1° agosto 2026. Aggiornato il 17 settembre 2026 per includere la modalità microfono di SightReader.