A quick primer on converting WAV to MIDI and vice versa

Please note that this is an old article. For a list of WAV to MIDI converters that often do the job, please check out our new WAV-MIDI page.


In general, you can't convert WAV into MIDI. These are completely different concepts. It's like asking: How can I convert a cake back into 'the separate operations of the baker' AND 'the original ingredients (eggs, sugar, butter, flower, etc)'?

A MIDI file is a sequence of commands to control one or more pieces of equipment (synthesizers most of the time). These commands are not sounds, they are recorded operations to do something (mostly to generate sound).

A WAV file is sound. It is the recording of a sound wave. It is the mix of all the given things (instruments, voices, background noises) you could have heard at the moment of recording. A lot of info (in fact most of it), that you need for a MIDI file, is lost. Like with the cake. When the cake is at your table, all data about the baking process is gone.

There is a lot of discussion going on (continuously) about WAV-to-MID conversion, done by computer/software. Don't be confused by people who say it can be done or that it is (should be) possible. You'll hear all kind of academic twaddle in this respect. Like FFT, one of the most popular buzzwords (which by the way stands for Fast Fourier Transform) or some other kind of fancy gobbledygook. The problem is a lot harder than these theorists like you to believe.

For people, some sounds sound as music. We can like the sound of 50 musicians playing 50 instruments at the same time, because for us humans, the notes that are played by these 50 musicians are related in some way. To us, it's music. To a computer it's just noise.

Because of this relation between instruments, that we humans hear in music, we can distinguish the separate instruments (or instrument groups like violins). Therefore we are able to 'translate' a piece of music into a MIDI file by listening to it. A computer (program) does not have that ability, that sense. It can not distinguish music from noise. To the computer (program) it's just sound and we ask it to unravel that. If you'd like to know what that means, try to imagine the following:

There are 50 musicians on stage, all having hearing protection so they can't hear each other. They all start playing a different piece of music at the same time. Do you have any idea how that sounds? It's still only those 50 musicians you liked so much before, but do you think you could make a MIDI file out of it this time?

I will not confuse you with all kinds of technical details, that form the basis for some folks to say it is possible. Take this advice, just give them a nice, full-blown wave file of an orchestra and ask for a demonstration. Works all the time :-).

In cases of great simplicity it is possible to convert a WAVE (file) into a MIDI file with more or less success. We're talking about a WAVE (file) in which you have ONE instrument playing ONE note at a time.

The degree of success depends on the quality of the hardware and software you use and of course the instrument you want to 'convert'. Instruments that allow less human influence will make a conversion easier. For instance: you can hit a piano key with more or less 'velocity' and you can hold the key long or short, but that's about it. When you play the saxophone, there's not just 'velocity' and 'hold'. There are a lot more human influences to the sound. The way you breathe, open the valves, hold your mouth, use your tongue, bite the reed or even add a little human sound to it. This makes the conversion of the sound of a saxophone a lot more difficult than the sound of a piano.

When you feel like experimenting with WAV-to-MID conversion, you might like to try the following programs:

Autoscore from Wildcat

If you want to convert a MIDI to a WAV file there are 2 ways to do it. If you want the WAVE file to sound exactly like the MIDI file does, then the only way to do this (and the easiest overall method), is to open up an application to play the MIDI file and open up an application which will allow you to record the piece as a WAVE file. Then hit 'record' on the WAVE application and 'play' on the MIDI player.

The other way is to get a program, that will use its own sounds to directly generate the WAVE file. But that is also the downside to it. These programs use their own sounds, so a MIDI file, that sounds good on your MIDI equipment may not sound good when such a program turns it into a WAVE file. Also, they are usually not XG or GS compatible.

"Some of this information was supplied by the official alt.music.midi FAQ created and maintained by Kees van der Velden. A HTML version and download of the complete FAQ can be found at the excellent web site MIDI Papa's - the MIDI FAQ by CC maintained by Bomi

Share This Article