Data model

The Song object is the main data model. It is mainly composed of a ChordLeadSheet and a SongStructure.
The ChordLeadSheet object is the model of the Chord leadsheet editor. It holds the sections and the chord symbols.
The SongStructure object is the model of the Song structure editor. It holds the SongParts, each one being linked to a parent section, and each one defining a set of RhythmParameter values.
Combining the SongStructure and the ChordLeadSheet will give you the "unrolled" chord lead sheet for which the backing track must be generated.

The MidiMix stores the Midi configuration of a given Song. It is mainly used by the framework to control the Midi output device. Your MusicGenerator will use it only to retrieve the Midi channel associated to a Rhythm track (RhythmVoice).

Supporting classes used in the Song: TimeSignature, ChordSymbol, Degree, etc.

Supporting classes useful for your MusicGenerator:
  • Phrase and NoteEvent: the MusicGenerator needs to create a Phrase for each rhythm track.
  • ContextChordSequence: a helper class to get the "unrolled" chord leadsheet descrive above.
  • Grid: music phrase manipulation methods
  • Phrases: music phrase manipulation methods, including methods to adapt a music source phrase (e.g. a bass pattern for C7M) into a different chord (e.g. Ab-6)
  • etc.
Last modified 11mo ago
Export as PDF
Copy link
On this page
Helper classes
Harmony module
Phrases and RhythmMusicGeneration modules