Visual Midi: Transform MIDI Files into Classical Score

Visual Midi stems from a vision: to make music understandable even for those who, like me, are unfamiliar with traditional sheet music notation. Our application uses a simple MIDI file and transforms it into a visual representation of the notes, similar to a readable score. This visual score can then be used for practice with a connected MIDI keyboard, which will provide feedback on your performance accuracy for the piece.

However, our ambition goes further: we want Visual Midi to be able to correctly convert any MIDI file, especially the often complex ones available online. Currently, the software accurately interprets only a small percentage (we estimate 5-10%) of MIDI files found online. Clearly, this is still a very limited result. On the other hand, the application works perfectly with simpler MIDI files, such as those created directly from a connected musical keyboard.

This demonstrates the technology's potential but also highlights the main challenge: many online MIDI files contain numerous overlapping instrument tracks. The focus of our current work is precisely this: we are developing advanced algorithms to filter these tracks, isolating the desired ones (e.g., the main melody or a specific instrument) to generate a clear and useful 'score'. Our mission is to make music structure more accessible, transforming the complexity of MIDI files into a visualization understandable by everyone.

In the demo video, we show the process of loading a complex MIDI file downloaded from the internet. As you can see, the conversion is promising but not yet perfect, precisely because of the challenges just described. However, even at this stage, it can prove useful for deciphering specific musical passages.

It's crucial to emphasize that Visual Midi is actively under development. Unfortunately, our financial resources are limited, which slows down progress and makes it difficult to quickly implement the necessary technical solutions in the programming environment.

This is where you come in! Your donations are essential to enable us to overcome these technical hurdles and accelerate development. Your contribution will help us refine the filtering algorithms and make Visual Midi the powerful and versatile tool we envision.

Everyone who contributes just €10 will receive an exclusive link to use the application directly from any browser, with access to updates as they are released.

With your help, we can make great progress and make music visually accessible to everyone!

File Midi A

File Midi B

To better illustrate the issues we are facing, we have published two example videos. These clearly show how, unfortunately, two very similar MIDI files are interpreted differently by our software. The factors influencing this behavior are numerous and complex, and reaching a solution would require hours upon hours of testing and trials.

Unfortunately, time is precisely what we lack. There are only two of us, we cannot afford additional staff, and to make a living, we still have to dedicate several hours each day to other jobs. Consequently, the time we can dedicate to the project is proving insufficient.

We could have already turned the software into an app, published it on the stores, and presented it as revolutionary 'magic'. We could have blamed the users, focusing the problem on the type of MIDI files used. In short, we could already be marketing the product since, as you can see, it works perfectly with some files, and what it does is unique to this day.

Many websites exist that even promise to convert audio files into sheet music, but personally, I haven't found one that works with exact precision; they all provide results with an accuracy often below 70%, which, in the end, is equivalent to having to rewrite the score from scratch.

Our application, even today, works 100% when used with a 'genuine' MIDI file (e.g., created directly from a digital keyboard). But we want more. Our ambition is for our users to be able to upload any MIDI file and get a clearly readable score. This is our ultimate goal!