OMG Data Formats
Overview: A Song is made of Sections, and Sections are made of Parts.
There are two types of Parts:
Part: Drumbeat
This type of Part has a tracks property which is an array of objects that
can point to any available sound on the Internet by putting a URL in the sound property.
The example above sounds like this:
Part: Melody/Bassline
This type of Part has a list of notes to play.
The note property is not a MIDI note, but instead the note's
position in the scale relative to the rootNote. This way, scale
be changed, for example, from major intervals (0, 2, 4, 5, 7, 9, 11) to minor intervals
(0, 2, 3, 5, 7, 8, 10) and the melody can be translated easily.
Using the note, the octave, the rootNote,
and the scale properties, a MIDI note can be determined.
The example above sounds like this:
Sections
A Section has a parts array that contains melodies, basslines, and drumbeats
to be played at the same time.
(Here is a more detailed example)
Songs
A Song contains a list of Sections to be played one after another.
( Here is a more detailed example)