开发者

Semantic (or symbolic) Representation of Music [closed]

开发者 https://www.devze.com 2022-12-15 09:05 出处:网络
Closed. This question is opinion-based. It is not currently accepting answers. Want to improve this question? Update the question so it can be answered with facts and citations by editing
Closed. This question is opinion-based. It is not currently accepting answers.

Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.

Closed 3 years ago.

Improve this question

I'm looking to create a little app that allows the user to visual and control (mostly) classical music, in order to better recognize structures such as canon. What would be an appropriate data and file structure to store the music in?

I know very little about music, so this will be a learning experience on two levels for me. I'd like to start with a basic visualisation such as highlighting notes in a score as the music i开发者_Python百科s played at controlled speed. I'd like to do this in WPF with C#, reading music from structured files.


What you need is a symbolic music format vs. an audio format. Since you're dealing with classical music, use the MusicXML format. It is supported by over 160 applications, including all the leading music notation applications like Finale and Sibelius, so you have a very wide range of tools to work with.

Note however that doing the type of visual display and highlighting that you are talking about is a complex job. MusicXML exported from Finale simplifies the programming by including lot of formatting, so you don't have to do the AI-like parts of music notation layout, but it's still complicated. You might want to take a look at existing tools and see what does the job. Perhaps you can incorporate a free MusicXML viewer/player like the Zong! Viewer, or a notation editor like MuseScore? Check out the MusicXML application list for more choices. Since MusicXML is defined in XML, you can also use the same XML tools that you use in any other project to read and write the MusicXML files.

GUIDO is another symbolic format, but it was only supported by a couple of niche applications and its development was abandoned many years ago. MEI is another symbolic format that has virtually no application support. A lot of symbolic formats were developed about 10 years ago, but MusicXML is the only one commonly used today. MIDI is an older interchange format that is universal for electronic instrument playback, but lacks the semantics necessary for accurately representing notation.

Good luck!


You're probably going to end up wanting to use an existing system such as GUIDO. Music is a rather complicated thing to model and GUIDO has already done the job for you. I would highly suggest you check it out.


It can be a little cryptic to work with, but MIDI might be a good format for this.

0

精彩评论

暂无评论...
验证码 换一张
取 消