| Návrh spôsobu zápisu rytmu |
| Napísal Oto Vozár | |
| Monday, 13 November 2006 | |
|
Zápis rytmu navrhujem reprezentovať pomocou nasledujúceho objektového modelu. Základnou triedou je trieda Rhythm, ktorá obsahuje počet taktov a taktové označenie. Tu sú možné dva spôsoby : 1. Dvomi číslami (počet rytmických jednotiek na takt a hodnota rytmickej jednotky) 2. Enumerácia možných taktových predznamenaní Označenia, ktoré budeme podporovať budú · 2 / 2 · 2 / 4 · 3 / 4 · 4 / 4 · 4 / 8 · 6 / 8 · 8 / 8 · 5 / 4 · 7 / 8 Tieto bohato pokryjú naše požiadavky, aj keď možných taktov je ešte oveľa viac. V prípade, že by sme to chceli absolútne uľahčiť, najdôležitejšie sú 3 / 4, a 4 / 4. Ďalej sa v triede nachádza pole nôt. Bázová trieda pre ne je RhytmNote, ktorá obsahuje údaje · Length - dĺžka : celá, polovica, štvrtina, osmina, šestnástina Z nej dedia triedy SingleNote a NoteGroup. SingleNote obsahuje · IsRest - true ak je pomlčka, inak false · Dot – či je za notou bodka (bodka predlžuje hodnotu noty o polovicu) NoteGroup obsahuje · NoteCount – počet nôt, na ktoré sa rozdelí daná dĺžka · IsRest[] – pre každú notu v skupine, či je pomlčka NoteGroup sa v návrhu nachádza kvôli tzv. nepravidelným rozdeleniam, kedy sa napríklad štvrťová nota rozdelí napríklad na tri alebo päť hodnôt (trioly, kvintoly) a nie je to možné zapísať pomocou klasických dĺžkových hodnôt. Táto oblasť predstavuje veľkú časť troška pokročilejšej látky a myslím, že keby sme ju nezaviedli, prišli by sme o veľa možností. ObmedzeniaAby zápis nebol komplikovaný, sú v ňom určité obmedzenia, teda nedajú sa v ňom zapísať všetky rytmy. Na druhej strane nie je predpoklad, že by ich niekto používal, najmä nie učiace sa deti. Konkrétne sa jedna o · Nie je možné viazať noty – je to ale možné obísť pomlčkou (len v prípade rytmu, pri prípadnom rozšírení o zápis melódie to treba riešiť iným spôsobom) · Nie je možné deliť noty skupiny (napríklad prostrednú notu trioly nie je možné rozdeliť na kvintolu) Poznámky· Pri ukladaní do súboru navrhujem binárnu serializáciu, prípadne XML serializáciu, keby bola potrebná interoperabilita · Nebolo možné použiť formát MIDI, ktorý má zápis len kedy nota začína a kedy končí, ťažšie by sa totiž hľadala jej hodnota. V navrhovanom formáte je explicitne zapísaná. · Sú dve možnosti vizualizácie
1. Krížikmi x—x-x-|xxx-x-x 3 Tri x a pod nimi trojka predstavujú triolu.2. Hodnotami dĺžok nôt (prázdne hlavičky, nožičky, pomlčky). Osobne sa mi pozdáva druhý spôsob, nakoľko sa deti zároveň učia aj zápis dĺžok nôt a aj to lepšie esteticky vyzerá. · Bude treba kontrolovať, či nie je nejaká nota rozdelená taktom (teda, nevojde sa do taktu v ktorom začala). V prípade zápisu rytmu stačí notu zapísať len do konca taktu a zvyšok realizovať v novom takte ako pomlčku. Všeobecnejšie sa však noty presahujúce takt viažu špeciálnou značkou – ligtúrou, ktorý ma tvar oblúčika spájajúceho časti noty. · Možno by bolo vhodné tento model rozšíriť na zápis melódie hneď na začiatku a používať ho aj na zápis rytmu. |
|
| Posledná úprava ( Wednesday, 01 January 2003 ) |