English 中文(简体)
Semantic (or symbolic) Representation of Music [closed]
原标题:

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 4 years ago.

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 is 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.





相关问题
The Fastest DataStructure to Filter with in C#

Currently we are filtering and sorting data with a datatable. /// <summary> /// Filters the data table and returns a new data table with only the filtered rows. /// </summary>...

Efficient queue in Haskell

How can I efficiently implement a list data structure where I can have 2 views to the head and end of the list, that always point to a head a tail of a list without expensive calls to reverse. i.e: ...

Java large datastructure for storing a matrix

I need to store a 2d matrix containing zip codes and the distance in km between each one of them. My client has an application that calculates the distances which are then stored in an Excel file. ...

Holding onto items after a postback

I have an ASP.NET web application and I want to be able to take items from a master list and store them temporarliy into one of four other lists. The other lists need to survive post backs so that ...

negative number in the stack

I am a new student in the compilers world ^_^ and I want to know is legal represent negative number in the stack. For example: infix: 1-5=-4 postfix: 15- The statements are: push(1) push(5) x=...

What type of struct/container would you use in this instance?

I am trying to figure out what type of structure or container I should use for a quick project. I need to have an unknown number of sets that will be entered from the GUI (each one will have a name, ...

热门标签