Delší hudební skladby sestávají obvykle z několika ucelených částí (vět), které se často formálně i obsahově liší. Za vědomí tohoto vytváříme při načítání hudebního souboru obecně více částí - „Bloků“. Hudební blok (MusicalBlock) je část hudební skladby – vnitřně se stejným metrem a tempem (v určité toleranci).
Hudební skladba se skládá zpravidle z jednoho nebo několika bloků. Hudební blok je část hudebního souboru se stejným metrem a tempem (v určité toleranci). Např. 3 bloky jedné skladby (v závorce je délka v taktech):
K rozdělení skladby do bloků se – při načítání MIDI souborů - využívá tříd MidiBlock a MidiBlocksSolver. Bloky sdružujeme do „svazku“ bloků MusicalBundle.
Každý blok má několik základních vlastností - ty jsou soustředěny do hlavičky (MusicalHeader). Umístění do zvláštního objektu umožňuje pak dalším objektům tyto vlastnosti přebírat (bez odkazu na celý objekt bloku).
Obdobným objektem je objekt hudebního kontextu (MusicalContext). Ten kromě vlastní hlavičky bloku obsahuje odkaz na objekt nastavení. Tento návrh je pro zachování jisté obecnosti, prakticky není bezpodmínečně nutný, protože objekt nastavení je přístupný ve všech objektech, kde je potřebný (objekt podle návrhového vzoru Singleton).
Koncept bude pravděpodobně ještě měněn (např. převodem nastavení do vlastností souboru MIF).
Vlastní objekt bloku (MusicalBlock) a objekt pro sadu více bloků (MusicalBundle):
Na hudební blok je možné nahlížet dvěma způsoby - jako 1/ na seznam taktů - (MusicalBody) nebo jako 2/ na seznam linií (melodií, hlasů) - (MusicalStrip).
Oba tyto způsoby náhledu jsou ekvivalentní (popisují stejnou věc) a převoditelné (z jednoho náhledu na druhý). Při práci s blokem je někdy výhodnější první jindy druhý náhled. Např. při skladbě se postupuje po taktech, při přepisu skladby do souborů (např. MIDI) je naopak výhodný postup po liniích.
Pro účely případných alternativních definic bloků byly obecné vlastnosti bloku převedeny do třídy MusicalContent.
Následují jednotlivé dílčí objekt: MusicalBar jako hlavní součást MusicalBody a MusicalLine jako hlavní součást MusicalStrip.
Určitý výsek navazujících taktů zahrnuje MusicalSection, vybraný výsek skladby představuje MusicalArea.
Při postupu po taktech MusicalBar se takty jednotlivých hlasů nazývají hudební prvky/elementy (MusicalElement). K hromadným operacím s více elementy je určený ElementMaster.
Při postupu po liniích bývá někdy výhodné několik linií sdružit do jednoho celku, tím je hudební part (MusicalPart).
Např. v případě, kdy je v jedné linii zaznamenána jak levá tak i pravá ruka klavíru, pak takovouto linii pokládáme za hudební part MusicalPart a rozdělíme ji následně do několika linií pomocí objektu MusicalLinearizer. Každá linie pak zahrnuje pouze tóny, které na sebe navazují v určitém blízkém výškovém okolí (pásmu) – viz FileSplit (None ,Automatic, Total).
Linie (stopy, řádky, hlasy) jsou 2 typů - melodické a rytmické (MusicalLineType). Aktuální vlastnosti každé linie se udržují ve stavových objektech (LineStatus).
Rytmické linie jsou určené nástrojem, rytmem a hlasitostí, melodické linie navíc oktávovou polohou, typem (funkcí) tónů, které obsahují (MelodicFunction) a průběhem (tvarem) melodie (MelodicShape). MelodicFunction zahrnuje: (MelodicMotion, MelodicFilling, HarmonicMotion, HarmonicFilling, HarmonicBass, MelodicBass) MelodicShape zahrnuje: (MinimumMotion, Scales, Sinusoids, BreakingLine, Original) Určité úseky melodické linie mohou být svou podstatou melodické nebo harmonické (MelodicGenus).
V následujícím přehledu se první skupina vlastností týká rytmických linií, druhá tvoří rozšíření pro melodické linie:
Melodické linie bývají někdy rozepsány do několika hlasů (MusicalVoice). Hlasy mají stejný průběh, jen se liší nástrojem (např. hoboj + housle) nebo nástroj duplikují (housle + housle).