Blog

¿Por qué las apps de lectura a primera vista necesitan un teclado MIDI?

Un teclado MIDI le dice a una app exactamente qué tecla has pulsado y cuándo. Un micrófono tiene que deducirlo del sonido. Esto es lo que cuesta esa diferencia, con las cifras de la investigación sobre transcripción, por qué MIDI sigue siendo la entrada que recomendamos y qué puede y qué no puede hacer nuestro propio modo micrófono.

Bret Cameron
Founder of SightReader · Actualizado el 17 September 2026 · 20 min de lectura
Dos paneles que comparan la entrada MIDI, por debajo de 20ms, con la transcripción por micrófono, de unos 174ms

Un teclado MIDI le dice a la app exactamente qué tecla has pulsado, en qué momento y con qué fuerza. Un micrófono tiene que deducir todo eso del sonido que hay en la habitación, y deducirlo es mucho más difícil de lo que parece. Los dos enfoques son reales y los dos están en productos que gustan a la gente. La diferencia es que uno es una medición y el otro es una estimación, y cuando la corrección llega mientras todavía estás tocando, esa diferencia decide qué puede decirte el software con honestidad.

Yo desarrollo SightReader, así que tengo un interés evidente en esto. Lo que sigue es el razonamiento detrás de una decisión de diseño, no un alegato a favor de esa decisión, y donde el equilibrio juega en nuestra contra lo he dicho.

Una actualización desde que se publicó por primera vez. SightReader tiene ahora un modo micrófono, así que tener un piano acústico y ningún cable ya no es motivo para irse. Eso no anula nada de la aritmética de abajo. Un teclado MIDI sigue siendo la entrada que recomiendo, y los límites de lo que la escucha puede decirte con honestidad son lo que dio forma al modo. Qué hace, y qué deliberadamente no hará, se explica hacia el final.

Qué transmite MIDI

MIDI no es audio. No lleva ningún sonido. Cuando pulsas el do central en un teclado MIDI, el instrumento pone tres bytes en el cable:

0x90 0x3C 0x54

El primer byte dice «nota activada, canal 1». El segundo es el número de nota: 60, el do central. El tercero es la velocidad, con qué fuerza la has tocado, en una escala de 1 a 127. Cuando la sueltas, llega el mensaje de nota desactivada correspondiente. El navegador pone una marca de tiempo a cada mensaje al llegar, y esa es toda la cadena. Nada en ella se deduce. No hay modelo, ni umbral, ni índice de confianza. El teclado no describe un sonido que ha hecho. Informa de que se ha cerrado un interruptor.

Por eso no existe una cifra de precisión para la detección de notas por MIDI. La pregunta no tiene sentido. Si la app dice que tocaste un fa sostenido cuando querías tocar un fa, es que tocaste un fa sostenido.

Lo que tiene que hacer un micrófono

Un micrófono recibe un solo número muchos miles de veces por segundo: la presión del aire. Todo lo demás hay que reconstruirlo.

La tarea tiene nombre, transcripción musical automática polifónica, y es uno de los problemas realmente difíciles del audio. Una sola nota de piano no es una sola frecuencia. Toca un la a 440Hz y también obtienes energía en torno a 880, 1320, 1760 y más arriba, que se apaga a ritmos distintos y a la que dan forma el instrumento y la sala. Esa es la serie armónica, y es lo que hace que un piano suene a piano.

Ahora toca un acorde. Los parciales de las notas graves caen sobre las fundamentales de las agudas, o muy cerca. Un la y el mi que tiene encima comparten buena parte de su contenido espectral. El algoritmo tiene que decidir si la energía en una frecuencia concreta es una nota que alguien ha tocado o un armónico de una nota que alguien ha tocado, y tiene que hacerlo con cada nota del acorde, de forma continua, mientras las notas anteriores siguen sonando y puede que el pedal de resonancia las esté sosteniendo todas.

Es impresionante que esto funcione, y funciona.

Lo que consigue la investigación

Lo más avanzado hoy para hacer esto en tiempo real en un móvil es Mobile-AMT, presentado en EUSIPCO 2024 por Yuta Kusaka y Akira Maezawa, de Yamaha. Es un buen trabajo y las cifras son sólidas:

  • 96,30% de F1 de notas en grabaciones limpias de MAESTRO.
  • 93,15% de F1 de notas en grabaciones del mundo real, que es la cifra que importa, y es mucho mejor de lo que cabría esperar.
  • Funciona en tiempo real en hardware móvil, con un coste de cálculo alrededor de un 83% menor que el de métodos comparables.

Otras dos cifras del mismo conjunto de trabajos importan más para lo que hago yo:

  • El F1 de notas con final baja al 76,80% incluso con audio limpio de estudio. Los finales son el término de las notas, es decir, las duraciones. Así que la cifra más débil de la literatura es justo de la que depende la evaluación del ritmo.
  • Entrenado sin un aumento de datos intenso para la acústica de la sala, el ruido de fondo y las características del dispositivo, el F1 en el mundo real se desploma al 78,84%. La robustez fuera del laboratorio no sale gratis. Hay que construirla a propósito, y un producto que no haya hecho ese trabajo será mucho peor de lo que sugiere la cifra de titular.

Un artículo de evaluación de 2024, Towards Musically Informed Evaluation of Piano Transcription Models, añade un punto que merece tomarse en serio: unas puntuaciones F1 altas pueden ocultar fallos musicales. La precisión del inicio de las notas empeora de forma medible a medida que sube el ruido, y hay una caída estadísticamente significativa entre los conjuntos de datos limpios de referencia y el mismo material regrabado acústicamente. La puntuación puede parecer buena mientras el resultado musical no lo es.

La aritmética de la latencia

Mobile-AMT indica 174ms de latencia. Con MIDI, el trayecto completo desde que pulsas la tecla hasta que una cabeza de nota se colorea en pantalla es de menos de 20ms en un navegador. La Web MIDI API entrega el mensaje con una marca de tiempo del hardware, y el resto es dibujar.

174 frente a 20 es unas nueve veces más lento, pero la proporción importa menos que esta cuenta:

A 60 pulsos por minuto, un pulso dura 1000ms. Así que 174ms es aproximadamente un tercio de pulso. A 120 bpm (una pieza ágil de grado 3), son dos tercios de pulso.

Piensa en lo que eso significa para la corrección mientras tocas. Tocas una nota. Para cuando la app ha decidido cuál era, ya vas casi por la siguiente. No puedes colorear una cabeza de nota en el momento en que suena, no puedes decirle a alguien que se está retrasando mientras se retrasa, y desde luego no puedes puntuar el inicio de las notas con una tolerancia más fina que el propio retraso de la medición. Nuestra tolerancia de ritmo es de 120ms en el caso más estricto. Ese margen se ha agotado antes de que termine la transcripción.

Por eso vuelvo una y otra vez a la latencia, más que a la precisión, como argumento decisivo. La precisión se puede mejorar con un modelo mejor. La latencia hace un trabajo real (es el tiempo que necesita el algoritmo para oír lo suficiente de la nota y estar seguro de cuál era), y reducirla por debajo de la duración del ataque de un piano no es cuestión de esfuerzo de ingeniería.

La aritmética del error

Ahora la parte de la precisión, porque la forma en que se comporta la cifra a lo largo de una pieza es peor de lo que sugiere la cifra.

Pongamos un 95% de precisión en las notas, holgadamente dentro de lo que la investigación indica para el audio del mundo real. Una pieza de grado 5 tiene unas 500 notas. El cinco por ciento de 500 son unos 25 veredictos equivocados por intento.

Veinticinco no es un desastre en sí mismo. El problema es cuáles veinticinco. No lo sabes. No hay ninguna marca en pantalla que diga «esta ha sido culpa del algoritmo», porque si el algoritmo supiera que se ha equivocado, no se habría equivocado. Así que quien mira una cabeza de nota roja tiene que decidir si ha leído mal la partitura o si el software ha oído mal la sala, y desde dentro no hay forma de saberlo.

Para un producto cuyo valor entero es que puedas fiarte del veredicto, una tasa de error imposible de rastrear es corrosiva de una forma en que un veredicto más lento no lo es. Te enseña a quitarle importancia a la corrección, y una corrección a la que le quitas importancia no vale nada. MIDI no tiene un fallo equivalente porque no está emitiendo un juicio.

Tampoco tienes que fiarte de mi palabra sobre las consecuencias prácticas. Los fallos de detección de notas son la queja más habitual en las reseñas de los dos productos con micrófono más publicitados. El propio centro de ayuda de Simply Piano es directo sobre el remedio: conectar un teclado MIDI «will give perfect note recognition and will solve any issues with note recognition, particularly when playing more advanced music» (dará un reconocimiento de notas perfecto y resolverá cualquier problema de reconocimiento, sobre todo con música más avanzada). El resto de esa página habla del ruido de la sala, de fundas de móvil que tapan el micrófono y de tocar más fuerte. La investigación explica por qué existen esas instrucciones.

Por qué los finales de nota nos importan tanto

La lectura a primera vista tiene dos mitades: las notas correctas y el momento correcto. El modo Notas y ritmo de SightReader evalúa la segunda mitad por separado. Con el metrónomo en marcha, cada inicio de nota se mide contra el pulso, y los resultados te dicen qué porcentaje cayó a tiempo, adelantado y atrasado, además de tu tendencia media en milisegundos.

Toda esa función funciona con marcas de tiempo MIDI, y la cifra de los finales de nota de arriba es el motivo. La evaluación del ritmo es una medición de cuándo empiezan y terminan las cosas. Es la única tarea en la que la cifra más débil de la literatura es justo la cifra de la que dependes, y en la que un retraso de 174ms no es un error de redondeo sino un tercio de pulso.

Si no pudiera medir el ritmo con una tolerancia en la que confío, no publicaría una puntuación de ritmo. Publicarla de todos modos, con datos deducidos, daría una cifra que parece fiable y no lo es, que es el peor resultado posible.

Eso ya no es una hipótesis. El modo Notas y ritmo es la única parte de SightReader a la que el micrófono no llega: activa el metrónomo mientras el micrófono escucha y la app te lo dice y te pide que conectes un teclado. La práctica de notas con el micrófono funciona con normalidad. Prefiero no dar la puntuación de ritmo antes que imprimir una en la que no creo.

Por qué tampoco importamos archivos MIDI

Esta es la parte que sorprende a la gente, porque parece una limitación sin ningún argumento detrás. La partitura que lees tiene que ser un archivo MusicXML, y ningún otro formato. Eso descarta los archivos MIDI, los PDF y las grabaciones.

Es el mismo razonamiento que el del micrófono, en sentido contrario.

MIDI lleva datos de interpretación. Es excelente en eso. Lo que no lleva es notación. Un archivo MIDI no asigna claves, así que el software tiene que adivinar qué mano toca qué. No tiene semántica de armadura, así que no puede decirte si esa tecla negra es un la bemol o un sol sostenido: los dos son el mismo número de nota MIDI, el 68, y cosas completamente distintas en una página. No tiene voces, así que las líneas que se superponen en una mano se funden en una sopa de notas simultáneas. No tiene barras de unión, ni articulación, ni los silencios tal como están escritos, ni grafía de ningún tipo.

Dibujar una partitura legible a partir de MIDI en bruto significa deducir cada una de esas cosas. Es el mismo tipo de problema que transcribir audio, solo que más suave, y produce el mismo tipo de resultado, que es una suposición verosímil. Si alguna vez has importado un archivo MIDI en un programa de notación y has visto cómo te sacaba un compás de silencios con cinco puntillos, lo has visto.

MusicXML ya contiene la notación. Claves, tonalidad, grafía, voces, barras de unión, ligaduras, digitación, todo. Lo que ves en pantalla es lo que el compositor o el editor escribió de verdad, y cuando la app marca una nota como incorrecta, la está comparando con la partitura y no con una reconstrucción de la partitura.

Si tu música está en MuseScore, Sibelius, Finale o Dorico, exportar a MusicXML lleva unos veinte segundos. He escrito una guía breve para hacerlo en cada uno.

El principio, dicho una sola vez

Solo afirmamos precisión donde la tenemos.

MusicXML para las partituras en lugar de notación deducida, porque la notación deducida de un archivo MIDI es una suposición, y corregirte contra una suposición es indefendible. MIDI desde el teclado allí donde una cifra tiene que ser exacta, que es cada milisegundo que mostramos. Y donde sí escuchamos, el modo está construido para que la app nunca afirme más de lo que ha oído: no da la puntuación de ritmo, evalúa un acorde por cómo suena el acorde en lugar de fingir que identifica cada voz y, cuando las pruebas son ambiguas, no dice nada en lugar de marcarte un error.

Todo lo anterior es la prueba de esa frase. Las secciones de abajo son lo que significa en la práctica.

Cuándo otra app es mejor opción

Cuando se publicó esto por primera vez, tener un piano acústico y ningún teclado MIDI significaba que SightReader no podía ayudarte en absoluto. Ese es el hueco que cerró el modo micrófono, y cerrarlo fue la decisión correcta: una estimación que puedes usar es mejor que una medición que no puedes usar.

Nunca fue un grupo pequeño. Son los pianos verticales de las casas, las salas de práctica de los colegios y cada pianista que tiene un instrumento perfectamente bueno y ningún interés en comprarse un segundo con un puerto USB.

Puede que otras herramientas te sigan viniendo mejor, y vale la pena decir por qué. Sight Reading Factory está bien hecha, tiene buena reputación, la usan muchos profesores y cubre más de 60 instrumentos, voz incluida. Nosotros hacemos piano. Simply Piano, Skoove y flowkey aceptan entrada por micrófono además de MIDI, y las tres son productos pulidos con catálogos que no podemos igualar. Y si lo que quieres es una puntuación de ritmo sin teclado, no la ofrecemos, por el motivo explicado arriba.

Qué hace nuestro propio modo micrófono

Elige el micrófono al configurar y SightReader escucha la habitación y corrige lo que tocas: cualquier pieza, cualquier ejercicio, cualquier ejercicio de escalas o de notas, en un piano vertical, uno de cola o un piano digital que no puedes conectar. No necesita cable ni adaptador. El audio se analiza en tu dispositivo según llega y después se descarta. No se graba nada, no se sube nada y no hay audio que podamos guardar.

Además llega más lejos que MIDI. Web MIDI funciona en Chrome, Edge, Opera y Firefox de escritorio, y en ningún navegador del iPhone o del iPad. Cualquier navegador que pueda grabar audio puede usar el modo micrófono, Safari y Firefox incluidos, y las dos apps lo admiten desde una versión reciente.

El motivo por el que puede funcionar, cuando la investigación de arriba dice que la transcripción en tiempo real cuesta 174ms y unas cuantas notas equivocadas de cada cien, es que no estamos haciendo transcripción. La transcripción abierta tiene que responder «qué se ha tocado», entre ochenta y ocho posibilidades, solo a partir del sonido. Nosotros ya tenemos la partitura, así que la pregunta es la mucho más estrecha de si lo que acaba de sonar encaja con las notas que esperamos. Conocer el conjunto de respuestas vale muchísimo, y es en torno a eso como está construido el modo.

Los límites honestos, dichos una sola vez:

  • Las notas sueltas se corrigen igual que con MIDI. Verde si es correcta, rojo si no, y el cursor avanza mientras tocas.
  • Los acordes se evalúan por su sonido en conjunto, no nota a nota. El modo compara el acorde que has tocado con el acorde esperado. Cuando las pruebas lo contradicen, la posición se marca como incorrecta. Lo que no hará es señalar la única voz interior que se te escapó, porque separar esa voz de la mezcla es justo la inferencia de la que trata este artículo.
  • El modo Notas y ritmo no está disponible con el micrófono. Mira la sección sobre los finales de nota de arriba. Conecta un teclado por USB o Bluetooth y se activa.
  • La corrección llega un poco después de la tecla. La detección necesita un instante de sonido para estar segura. Las marcas de tiempo de la evaluación se retrasan hasta el ataque, así que no distorsiona tus resultados, pero el color sí aparece ligeramente después de la nota.
  • La ambigüedad se resuelve a tu favor. Cuando el sonido no es lo bastante claro para decidir, el modo no marca nada en lugar de encender en rojo algo que muy probablemente has tocado bien. Antes deja de contar un error que inventarse uno.
  • La sala importa. Un espacio tranquilo, el dispositivo cerca del piano y auriculares si usas el metrónomo, o el clic vuelve a entrar por el micrófono. El sonido del piano de práctica está silenciado por defecto en este modo por el mismo motivo.

No voy a publicar una cifra de precisión para el modo. Las cifras que tengo salen de nuestros propios casos de prueba y no de los salones de desconocidos, y citarlas al lado de investigación revisada por pares nos favorecería comparando cosas que no son comparables. Lo que la app te dice, en cambio, está en la pantalla: las sesiones corregidas escuchando llevan una nota que lo indica, y un teclado corrige cada nota con exactitud.

Lo que ofrecemos sin teclado y sin micrófono

Hay un piano en pantalla que puedes tocar con el teclado del ordenador. Cubre dos octavas, de do3 a si4, que basta para piezas de grado Inicial y del principio del grado 1, y para ver si te gusta la app. No basta para repertorio real y no se parece en nada a tocar el piano.

También está el modo honor: toca la pieza con el instrumento que tengas y luego dile a la app cómo te ha ido. Así tu historial de práctica sigue completo. Es autoevaluado, así que es exactamente igual de preciso que tú.

MIDI y micrófono, lado a lado

AppQué llega a la appLatenciaTasa de error de notasFunciona con un piano acústicoEmpeora en una sala ruidosa
MicrófonoAudio, transcrito~174ms~4–7% con audio del mundo real✓✓
MIDINúmero de nota, velocidad, marca de tiempoMenos de 20msNinguna (no es inferencia)✗✗
Las cifras de latencia y precisión de la entrada por micrófono son de Mobile-AMT (EUSIPCO 2024), lo más avanzado hoy en transcripción en tiempo real en hardware móvil. Las cifras de MIDI son de nuestras propias mediciones en un navegador por USB.

Esas cifras del micrófono son para la transcripción abierta, que es el problema al que se enfrenta una app cuando no tiene ni idea de lo que vas a tocar. El modo micrófono de SightReader tiene la partitura delante, que es una pregunta distinta y mucho más fácil, y es la razón de que el modo exista. Sigue escuchando, así que los límites de la sección de arriba siguen aplicándose.

Preguntas frecuentes

¿Necesito un teclado MIDI para una app de lectura a primera vista?

Para la corrección más precisa, sí. MIDI es un protocolo de datos: el teclado informa de qué tecla bajó, cuándo y con qué fuerza, sin nada que adivinar. Las apps que escuchan a través de un micrófono tienen que deducir todo eso del sonido, lo que es más lento e imperfecto. Aun así, muchas buenas apps lo hacen, SightReader entre ellas, y si tienes un piano acústico es la opción que funciona.

¿Puede una app oír mi piano acústico?

Sí. SightReader tiene un modo micrófono, y también Sight Reading Factory, Simply Piano, Skoove y flowkey. Lo que la escucha no puede hacer es igualar la precisión temporal ni la certeza de MIDI: la mejor transcripción de piano en tiempo real publicada funciona con unos 174ms de latencia y etiqueta mal unas pocas notas de cada cien, y ninguna de esas cifras es visible mientras tocas. Por eso en SightReader las notas sueltas se corrigen igual que con MIDI, los acordes se evalúan por su sonido en conjunto y no nota a nota, y el modo Notas y ritmo pide un teclado conectado.

¿Por qué las apps no pueden detectar acordes a partir del audio?

Sí pueden. La transcripción polifónica de piano funciona, y funciona bien: la investigación reciente da puntuaciones F1 de notas en torno al 95% en grabaciones del mundo real. El problema es que es aproximada y lenta de una forma que importa para la corrección en directo. Una sola nota de piano produce toda una serie armónica, y los parciales de una nota caen sobre las fundamentales de otras, así que separar un acorde requiere inferencia. La inferencia lleva tiempo y produce alguna respuesta equivocada de vez en cuando.

¿Cuál es la diferencia entre MIDI y MusicXML?

MIDI describe una interpretación: qué nota, cuándo empezó, cuándo terminó, con qué fuerza. MusicXML describe la notación: claves, armaduras, grafía enarmónica, voces, barras de unión, articulación. Puedes generar un archivo MIDI aproximado a partir de una partitura, pero ir en sentido contrario significa adivinar todo lo que el archivo MIDI no lleva. Por eso SightReader lee MusicXML para las partituras, y nada más.

¿SightReader funciona sin un teclado MIDI?

Sí. El modo micrófono escucha el piano que tengas, sea vertical, de cola o un piano digital que no puedes conectar, y corrige lo que tocas. Las notas sueltas se corrigen igual que con MIDI, los acordes se evalúan por su sonido en conjunto y no nota a nota, y el modo Notas y ritmo necesita un teclado conectado. También hay un piano en pantalla que cubre dos octavas (do3 a si4), y el modo honor, en el que tocas con cualquier instrumento e indicas tú mismo el resultado. Un teclado MIDI sigue siendo la forma más precisa de trabajar.

Fuentes

  • Kusaka, Y. y 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
  • Centro de ayuda de Simply Piano, Ways to Improve Note Recognition in Simply Piano: help.hellosimply.com

Cifras comprobadas el 1 de agosto de 2026. Actualizado el 17 de septiembre de 2026 para incluir el modo micrófono de SightReader.

Bret Cameron
Bret founded SightReader. He's a software engineer learning piano on the side, and he started the project after failing to find a sight-reading tool that did what he needed.

Sigue leyendo