All entries for Wednesday 24 October 2007

October 24, 2007

Data Structure Research

It seems that there will be several main areas to consider when it comes to the storage of data in this system:

  1. How to store personal user information and musical scores on the server.
  2. What format should the scores be in to transfer them from the server to the client browser.
  3. What should the structure of the actual client webpage be - in what structure will the scores be kept (and modified) at the user-end?
On the Server

SQL Database: Store all the personal info required for user-accounts in an SQL Database on the server. The music scores themselves could also be stored in the database however, it would probably make far more sense to store each score in it's own file on the server and perhaps give the location of it within the database for each user. This begs the question: What file format should be used to store the scores (see below)?

Music Score file format

Aside from designing my own file format for musical scores, there are many already established formats out there (e.g. GUIDO, NIFF, MIDI, MusicXML, LilyPond) which could be used. The most widely used format at the moment is MusicXML, which is now supported by all the leading commercial applications. In terms of simplicity and sufficiency (for storing scores) At the moment, the best choice is MusicXML for the following reasons:

  • It is XML; As genuine XML it is well supported (by servers and browsers) and opens up opportunities to use XSLTs for the convertion to other formats (most significantly html). It is also human-readable.
  • Well-supported: If the system supports MusicXML it will be useful to users who will be able to download their scores in this format and load them into many other applications.
  • It is specifically designed for notation (unlike many of the other options) and includes everything the system will need to store and nothing extra (for example MIDI is designed for audio rather than notation).
In the browser

When it comes to handling the score in the browser, a few options seem possible:

  • Generating an html structure that corresponds to the score (i.e. each note is a html 'div' having image of the approriate note). This may be performed at the server before sending the page, or purely by scripts run at the browser.
  • As well as doing this the structure of the scores could be stored in a similar (or different) way as javascript objects that contain these visual html objects.
  • It may be possible to send the pure (Music)XML to the browser and use an XSLT to convert it, on the fly, to html that can be displayed. Event-based Javascript would be used to update the XML in reaction to the user's actions.
Other  Comments
  • A highly relevant thesis on generation of graphical musical scores from text-based input can be found here. It details the workings of this website which converts GUIDO music notation (text input) into (an image of) the score.

October 2007

Mo Tu We Th Fr Sa Su
|  Today  | Nov
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31            

Blog archive

Loading…

Search this blog

Not signed in
Sign in

Powered by BlogBuilder
© MMXXI