Acerca de Amadeo

Amadeo escribe la música que oye. Le das un sonido, de un archivo, del micrófono o de un vídeo, y te devuelve una partitura que puedes leer, corregir, tocar en otros instrumentos y compartir.

Cómo funciona

Las notas las encuentra Basic Pitch, una red neuronal publicada por el equipo de investigación de audio de Spotify en 2022. Escucha el sonido en ventanas de dos segundos y estima, para cada una de las 88 teclas del piano y unas 86 veces por segundo, si una nota está sonando o empezando allí. Se entrenó con muchos instrumentos y con voces, y puede oír varias notas a la vez.

Lo demás es análisis musical clásico. El tempo sale de la regularidad con que empiezan las notas, la tonalidad de comparar cuánto suena cada nota con los perfiles de Krumhansl–Kessler de las 24 tonalidades, y los acordes de comparar las notas de cada medio compás con las formas de acorde habituales. Por último, cada nota se lleva a la semicorchea más cercana y se escribe con la grafía que pide la tonalidad.

Todo esto funciona en tu navegador. Tu sonido nunca se envía a ningún sitio y tus partituras se guardan en tu dispositivo. Un enlace compartido lleva la partitura dentro, así que tampoco hay un servidor guardando una copia.

Qué esperar

Funciona mejor con un solo instrumento o voz, grabado con claridad. Con una banda entera o una orquesta obtienes todas las notas que la red pudo captar: un buen punto de partida, pero rara vez listo para tocar. La batería no se escribe. Los cambios graduales de tempo se siguen, aunque un rubato muy libre todavía puede despistar el pulso. Para eso está el editor.

Los navegadores no dejan que una página descargue el sonido de un vídeo de YouTube, así que Amadeo graba la pestaña mientras el vídeo suena. Eso funciona en Chrome y Edge en un ordenador.

Créditos

Basic Pitch (Apache 2.0) y TensorFlow.js para escuchar; VexFlow (MIT) y la fuente Bravura (SIL Open Font License) para grabar la partitura; smplr con el Splendid Grand Piano y el soundfont MusyngKite (CC BY-SA 3.0) para los instrumentos.