[en] The main objective of this project is to create an application capable of transcribing an audio file into a score and incorporating an interface to simplify and help its possible modification. To modify the score, changes have been implemented such as deleting, inserting and altering notes, or changing other parameters of it. The possibility of not only applying the effects already created, but also creating a communication system capable of importing any Python file that contains a new effect, has also been sought. To this end, the interface has been given the ability to read and use it, so that any programmer can use it to test their plug-ins. To achieve this, different current technologies for musical transcription have been analyzed and implemented and an interface has been programmed for the end user. The programming language used for the project engine was Python, while JavaScript, SVG, HTML and jQuery were used for the interface. All the proposed objectives have been achieved, so that an input file in mp3 or MIDI format is capable of being transformed into a MusicXML file in which the score can be displayed. Not only that, but the implemented interface is also capable of opening MusicXML files. Six applicable filters have been able to be added. Furthermore, in order to implement changes to the interface, it allows you to listen to the changes made. This project is very ambitious since not only did I want to create an application with all its functionalities, but the topic to be discussed, that is, musical transcription, is something in constant development and research. It is a reality that there are still no proven methods that accurately convert music audio to musical symbols. Given this lack of information, it was decided to create an interface so that, if there were possible transcription errors, the user could identify them and change them before saving the file. A future evolution of this project is the transformation of this application into a web service and the implementation of technologies that use artificial intelligence to reduce errors when transcribing.

[es] El objetivo principal de este proyecto es realizar una aplicación capaz de transcribir un fichero de audio a una partitura e incorporar una interfaz para simplificar y ayudar a la posible modificación de esta. Para modificar la partitura se han implementado cambios como la eliminación, inserción y alteración de notas, o cambiar otros parámetros de la misma. También se ha buscado la posibilidad de no solo aplicar los efectos ya creados, sino crear un sistema de comunicación capaz de importar cualquier fichero Python que contenga un nuevo efecto. Para ello se ha dotado a la interfaz de la capacidad de leerlo y usarlo, de tal manera que cualquier programador pueda usarla para probar sus plug-ins. Para conseguir esto, se han analizado e implementado diferentes tecnologías actuales para la transcripción musical y se ha programado una interfaz para el usuario final. El lenguaje de programación usado para el motor del proyecto ha sido Python, mientras que para la interfaz se ha usado JavaScript, SVG, HTML y jQuery. Se han podido alcanzar todos los objetivos propuestos, de manera que un fichero de entrada en formato mp3 o MIDI sea capaz de transformarse en un fichero MusicXML en el que se pueda visualizar la partitura. No solo eso, sino que la interfaz implementada también es capaz de abrir ficheros MusicXML. Se han podido añadir seis filtros aplicables. Además, para poder implementar alteraciones en la interfaz, esta permite escuchar los cambios realizados. Este proyecto es muy ambicioso ya que no solo se ha querido crear una aplicación con todas sus funcionalidades, sino que el tema a tratar, es decir, la transcripción musical, es algo en constante desarrollo e investigación. Es una realidad que aún no existen métodos comprobados que pasen con exactitud de un audio de música a símbolos musicales. Dada esta falta de información, se optó por crear una interfaz, para que así, si existían posibles errores de transcripción, el usuario pudiera identificarlos y cambiarlos antes de guardar el archivo. Una evolución futura de este proyecto es la transformación de esta aplicación en un servicio web y la implementación de tecnologías que usen inteligencia artificial para disminuir el error a la hora de transcribir.