Ce dont vous avez besoin est un format de musique symbolique par rapport à un format audio. Puisque vous avez affaire à de la musique classique, utilisez le MusicXML format. Il est pris en charge par plus de 160 applications, y compris toutes les principales applications de notation musicale comme Finale et Sibelius, ce qui vous permet de disposer d'un très large éventail d'outils.
Notez cependant que faire le type d'affichage visuel et soulignant que vous parlez est un travail complexe. MusicXML exporté à partir de Finale simplifie la programmation en incluant beaucoup de formatage, donc vous n'avez pas besoin de faire les parties de la notation musicale de type AI, mais c'est quand même compliqué. Vous pourriez vouloir jeter un coup d'oeil aux outils existants et voir ce que fait le travail. Peut-être que vous pouvez incorporer un lecteur/lecteur MusicXML gratuit comme le Zong! Viewer, ou un éditeur de notation comme MuseScore? Consultez le MusicXML application list pour plus de choix. Puisque MusicXML est défini en XML, vous pouvez également utiliser les mêmes outils XML que vous utilisez dans n'importe quel autre projet pour lire et écrire les fichiers MusicXML.
GUIDO est un autre format symbolique, mais il a été pris en charge que par un couple d'applications de niche et son développement a été abandonné il y a plusieurs années. MEI est un autre format symbolique qui n'a pratiquement aucun support d'application. Beaucoup de formats symboliques ont été développés il y a environ 10 ans, mais MusicXML est le seul couramment utilisé aujourd'hui. Le format MIDI est un format d'échange plus ancien qui est universel pour la lecture d'instruments électroniques, mais il manque la sémantique nécessaire pour représenter correctement la notation.
Bonne chance!
Wow c'est ouvert. Y a-t-il un moyen de réduire cela? Des conseils de langage de programmation? Préférences pour d'autres technologies comme la base de données relationnelle? –
@ S.Lot, j'ai ajouté ce que je peux. J'essayais délibérément d'éviter les spécificités de plate-forme dans ma question, car elle est plutôt éloignée de toute couche de mise en œuvre. – ProfK
J'ai travaillé sur une application pour analyser les partitions musicales dans les documents XPS (sauvegardés/"imprimés" à partir d'autres applications comme acrobat reader, car un document XPS est essentiellement XAML) et les afficher et les lire dans WPF. WPF est une bonne plate-forme, mais j'aurais aimé voir la réponse à propos de MusicXML plus tôt plutôt que d'analyser les résultats moi-même. Trop tard maintenant pour moi ... – AndrewS