Was Sie brauchen, ist ein symbolisches Musikformat im Vergleich zu einem Audioformat. Da Sie sich mit klassischer Musik beschäftigen, verwenden Sie die MusicXML format. Es wird von mehr als 160 Anwendungen unterstützt, einschließlich aller führenden Musiknotationsanwendungen wie Finale und Sibelius, so dass Sie mit einer Vielzahl von Werkzeugen arbeiten können.
Beachten Sie jedoch, dass die Art der visuellen Anzeige und Hervorhebung, über die Sie sprechen, eine komplexe Aufgabe ist. MusicXML, das aus Finale exportiert wird, vereinfacht die Programmierung durch eine Vielzahl von Formatierungen, so dass Sie nicht die KI-artigen Teile des Notationslayouts machen müssen, aber es ist immer noch kompliziert. Vielleicht möchten Sie sich die vorhandenen Tools ansehen und sehen, was die Aufgabe macht. Vielleicht können Sie einen kostenlosen MusicXML Viewer/Player wie den Zong! Viewer oder einen Notationseditor wie MuseScore? Überprüfen Sie die MusicXML application list für mehr Auswahlmöglichkeiten. Da MusicXML in XML definiert ist, können Sie auch dieselben XML-Tools verwenden, die Sie in anderen Projekten zum Lesen und Schreiben der MusicXML-Dateien verwenden.
GUIDO ist ein weiteres symbolisches Format, aber es wurde nur von einigen Nischenanwendungen unterstützt und seine Entwicklung wurde vor vielen Jahren aufgegeben. MEI ist ein weiteres symbolisches Format, das praktisch keine Anwendungsunterstützung bietet. Viele symbolische Formate wurden vor etwa 10 Jahren entwickelt, aber MusicXML ist die einzige, die heute häufig verwendet wird. MIDI ist ein älteres Austauschformat, das für die Wiedergabe von elektronischen Instrumenten universell ist, aber es fehlt die Semantik, die für die genaue Darstellung der Notation erforderlich ist.
Viel Glück!
Wow, das ist offen. Gibt es eine Möglichkeit, das einzuengen? Programmiersprachenhinweise? Einstellungen für andere Technologien wie relationale Datenbank? –
@ S.Lot, ich habe hinzugefügt, was ich kann. Ich habe bewusst versucht, Plattformspezifika in meiner Frage zu vermeiden, da sie von jeder Implementierungsebene ziemlich weit entfernt ist. – ProfK
Ich habe an einer App gearbeitet, um Partituren in XPS-Dokumenten zu analysieren (wie von anderen Apps wie Acrobat-Reader gespeichert/"gedruckt", da ein XPS-Dokument im Wesentlichen XAML ist) und sie anzuzeigen und in WPF abzuspielen. WPF ist eine gute Plattform, aber ich wünschte, ich hätte früher die Antwort zu MusicXML gesehen, anstatt Partituren selbst zu analysieren. Zu spät jetzt für mich ... – AndrewS