2009-12-31 6 views
8

Je cherche à créer une petite application qui permet à l'utilisateur de visuel et de contrôle (la plupart du temps) la musique classique, afin de mieux reconnaître des structures telles que canon. Quelle serait une structure de données et de fichiers appropriée pour stocker la musique?sémantique (ou symbolique) Représentation de la musique

Je sais très peu de choses sur la musique, ce sera donc une expérience d'apprentissage à deux niveaux pour moi. Je voudrais commencer par une visualisation de base telle que la mise en évidence de notes dans une partition, la musique étant jouée à une vitesse contrôlée. Je voudrais le faire dans WPF avec C#, en lisant de la musique à partir de fichiers structurés.

+0

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? –

+0

@ 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

+0

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

Répondre

6

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!

+0

MEI (Music Encoding Initiative) est un autre format, surtout pour l'usage scientifique, avec lequel j'ai travaillé récemment. –

1

Il peut être un peu cryptique de travailler avec, mais MIDI peut être un bon format pour cela.

2

Vous allez probablement finir par vouloir utiliser un système existant tel que GUIDO. La musique est une chose plutôt compliquée à modéliser et GUIDO a déjà fait le travail pour vous. Je vous suggère fortement check it out.