Bonjour tout le monde,

Je reprends actuellement une idée de projet qui consiste à réaliser un logiciel de transcription automatique de morceaux joués à la guitare. En fait, le logiciel doit réussir à reconnaitre les notes jouées à la guitare et écrit ensuite la tablature correspondante.

Pour développer un tel logiciel, j'aimerais utiliser une bibliothèque audio permettant la gestion des formats MIDI (lecture et éventuellement écriture). Ayant l'intention de développer mon logiciel en langage C++, il faudrait que cette bibliothèque soit écrite en C/C++. Aussi, je risque d'avoir recours à d'autres bibliothèques libres pour ma conception. J'aimerais donc que celle-ci soit libre également. Enfin, dernière exigence si des bibliothèques peuvent répondre à ce critère après avoir déjà remplies tous les autres, pour une manipulation assez simple, une bibliothèque populaire ou du moins avec une communauté assez importante et une documentation claire serait évidemment un avantage considérable.

Bien sur, je poste ce message après avoir fait le tour des différents forums. J'ai donc pu y trouver de nombreuses bibliothèques de gestion audio comme par exemple FModEx dont la licence ne me convient pas, Qt et SFML qui ne semblent pas gérer les MIDI, OpenAL qui ne supporte pas non plus directement ce format, ou encore libjdkmidi, RtMidi et wildMidi qui remplissent tous les points sauf celui d'une documentation riche et d'une communauté importante (à moins que je ne me trompe ?).

Puis, je suis tombé sur Allegro, bibliothèque C/C++ qui est utilisée pour le développement de jeux vidéo et qui semble permettre la gestion de formats MIDI (du moins la lecture mais qu'en est-t-il pour l'écriture ?). Allegro à l'air d'etre aussi assez populaire, ce qui permettrait d'avoir un support intéressant pour mon développement.

Voici un aperçu de mon avancement sur la recherche d'une bibliothèque C/C++ libre et populaire de gestion de formats MIDI. Sur ces différentes observations, j'aurais souhaité avoir vos avis/conseils pour que je puisse faire le meilleur choix avant de me lancer dans le développement.

Je vous remercie!