Explora el catálogo, compra o vende el acceso a una obra, y sube tu propia partitura escaneada para transcribirla y corregirla ahí mismo. Un motor de reconocimiento óptico mide su tonalidad, su compás y su tesitura: no hace falta escribirlos a mano, ni salir a otra aplicación.
Sheetify reúne en una sola aplicación de escritorio lo que hoy obliga a usar tres: explorar un catálogo, digitalizar partituras propias y comprar o vender el acceso a ellas.
La pieza que lo hace posible es el reconocimiento óptico. Un músico sube el PDF de una obra y Audiveris la transcribe a MusicXML; de esa notación la aplicación mide los datos musicales en lugar de pedírselos a quien la sube: tonalidad, compás, tempo, número de compases, tesitura por voz e instrumentación real.
Esos datos son los que alimentan las facetas del catálogo y un índice de dificultad calculado por un servicio de Python aparte. El acceso se vende por licencias con vigencia: 90 días, 180 días, un año o permanente.

Un músico usa una herramienta para leer sus partituras, otra para comprarlas y otra para tenerlas ordenadas. Ninguna de las tres evita lo mismo: acabar tecleando a mano lo que la partitura ya dice.
Pasar el papel a digital suele generar un PDF estático: para el ordenador es una imagen muda, no una partitura, y no hay forma de que la aplicación entienda la música que contiene.
Como el archivo es ciego, ni el marketplace donde la compras ni la carpeta donde la guardas saben de qué trata la obra: los datos los escribe a mano quien la sube, y ahí se quedan.
Lees en una app, compras en una web y acumulas archivos digitales que conviven con carpetas de papel en el atril de casa. Tu repertorio vive repartido entre sitios que no se hablan.
Todo lo que el catálogo sabe de una obra sale de este recorrido. Nada de esto lo teclea quien sube la partitura.
Transcripción: Audiveris 5.11 corre embebido en la propia ventana de la aplicación: transcribes con dos clics y corriges ahí mismo lo que no haya leído bien, antes de exportar. Va aparte del resto del código porque es Java y es AGPL: se ejecuta como proceso independiente en vez de enlazado a la aplicación.
Extracción de metadatos: del MusicXML salen tonalidad, compás, tempo, número de compases, tesitura por voz e instrumentación.
Características: densidad de notas, saltos interválicos, complejidad rítmica, alteraciones y polifonía.
Índice de dificultad: un servicio de FastAPI combina esas características, calibradas contra el corpus, en un número del 1 al 10.
El resultado se guarda en la partitura y pasa a ser una faceta más del catálogo: se puede filtrar por dificultad igual que por época o por instrumento.

No hay un conjunto de partituras etiquetadas con el que entrenar un regresor. Lo que hay es una combinación de características medidas, convertida en un número del 1 al 10.
Explorar el catálogo, leer una partitura página a página, subir y transcribir una obra, comprar una licencia y ver lo que has vendido.
Las facetas no son etiquetas puestas a mano: son los datos que salieron del pipeline. Filtrar por compás o por dificultad funciona porque alguien los midió, no porque alguien los escribiera.




El acceso se vende por licencias con vigencia, y comprar es la operación que más caro sale si falla a medias. El checkout entero pasa por cuatro garantías.
Se crea el pedido, se emite la licencia y se registra la venta, o no se toca nada.
Comprar «para siempre» dos veces es imposible por construcción, sea cual sea el nivel de aislamiento. La regla completa (ya tienes esta obra con una licencia igual o superior) vive dentro de la misma transacción.
El PDF es un dato derivado, reconstruible desde el pedido: se genera solo cuando la transacción ya ha confirmado.
Uno lanza dos checkouts a la vez y afirma un solo pedido; otro fuerza un fallo en el último paso y afirma cero filas, con el carrito intacto.

Sheetify es la reconstrucción de mi Trabajo de Fin de Grado de 2025: WinForms, solo Windows, un único proyecto sin una sola capa. Hace lo mismo que el original. La diferencia está en cómo está escrito, y se puede contar.