en effet, ça n'existe pas.
c'est tout simplement impossible.
en musique un humain correctement éduqué peut fair une "dictée musicale" et écrire les notes sur une partition en fonction de ce qu'il entend (un fichier midi, c'est une partition)
par contre un ordinateur n'a pas ce feeling. il est mauvais dans tout ce qui nécéssite une identification / reconnaissance et interprétation.
aucun programme d'OCR n'est fiable à 100% car une petite tache au dessus d'une virgule peut ressembler à un "i". un lecteur humain ne la verra même pas car il connais la grammaire et le contexte de la phrase.
aucune reconnaissance de voix ne fonctionne, ni aucune reconnaissance d'image.
pour le son, il y a des problèmes de quantification et d'harmonique. regarde comment sont accordées les trois cordes d'une touche d'un piano : un programme d'analyse de spectre va voir 3 notes, et si on en joue plusieurs en même tempps, laquelle est la bonne ? il y a aussi des problèmes pour identifier la durée et le rythme. même en fixant des seuils adéquats, on se retrouve avec des quadruples croches partout...
et pour finir, si tu comprenais le travail que ça représente, tu ne demanderais pas de le faire depuis un fichier mp3 mais un fichier wave. le mp3 intègre une compression avec pertes, il va donc ajouter du bruit donc plus de fréquences à séparer.
pour te faire une idée, tu peux télécharger un logiciel d'analyse de spectre par transformée de Fourrier et voir à quoi ça ressemble.
regarde dans les freewares comme Spectrogram v 6.0.9
[edit]
ne pas oublier que d'après la théorie du signal, toute onde périodique qui n'est pas sinusoïdale peut être décomposée en une multitude de fréquences. Par exemple, un violon donne un signal en "dents de scie" qui contient un nombre d'armoniques infini. Notre oreille trouve sans problème la fondamentale, mais pas le pc...
@Xerxes :
ce que tu demande est bien plus simple.
un fichier midi, c'est une partition numérique. ça contient juste les numéros des notes, leur durée et leur volume mais sans le timbre de l'instrument.
un fichier audio comme le mp3, wma, wave, au contraire, c'est l'instrument déja enregistré.
pour passer de l'un à l'autre, il faut "jouer" le fichier midi en passant par un synthétiseur.
les pros vont l'envoyer par un port midi vers un rack externe, mais le synthétiseur intégré à ta carte son est bien suffisant. c'est lui qui fait la conversion quand tu joue le fichier midi sous windows.
un balladeur, lui n'a pas de synthé. pour convertir , ilsuffit de jouer de fichier midi et de l'enregistrer en même temps avec Audacity. une fois que c'est fait, tu recoupe le début et la fin et tu l'encode dans le format que ton balladeur peut lire.
pour n'avoir aucune perte, il y a le format wave (PCM) et le Flac (peu de lecteurs le lisent)
par contre le MP3 en 320 kbps a presque la même qualité que le wave.
pour convertir de wave en mp3 : CDEX téléchargeable sur le site SourceForge
PS : ton site est bidon, le format midi n'est pas proposé dans les formats de sortie.