Предлагам да представим ритмичната нотация, използвайки следния обектен модел.

купа

Основният клас е класът Rhythm, който съдържа броя на мерките и обозначението на лентата. Има два възможни начина:

1. Две числа (брой ритмични единици на мярка и стойност на ритмична единица)

2. Изброяване на възможни времеви подписи

Етикетите, които ще поддържаме, ще бъдат

Те ще покрият богато нашите изисквания, въпреки че има много повече възможни такти. В случай, че бихме искали да го направим абсолютно по-лесно, най-важните са 3/4 и 4/4.

След това има множество бележки в класа. Основният клас за тях е RhytmNote, който съдържа данни

· Дължина - дължина: цяла, половина, четвърт, осма, шестнадесета

Той наследява класовете SingleNote и NoteGroup.

· IsRest - вярно, ако има тире, в противен случай невярно

· Точка - има ли точка след бележката (точката удължава стойността на бележката наполовина)

· NoteCount - брой бележки, на които ще бъде разделена дадената дължина

· IsRest [] - за всяка нота в групата, дали има тире

NoteGroup е в предложението поради т.нар неравномерно разпределение, когато например четвъртната нота е разделена например на три или пет стойности (триоли, квинтоли) и не е възможно да се запише с класически стойности на дължината. Тази област е голяма част от малко по-напреднало вещество и мисля, че ако не го въведем, ще загубим много възможности.

Ограничения

За да не се усложнява писането, има определени ограничения в него, така че не всички ритми могат да бъдат написани в него. От друга страна, няма презумпция, че някой би ги използвал, особено не учащите деца.

По-конкретно, става въпрос за

· Не е възможно да се обвързват ноти - но е възможно да се заобиколи тирето (само в случай на ритъм, в случай на евентуално удължаване чрез запис на мелодия, това трябва да се реши по друг начин)

· Не е възможно да се разделят нотите на групата (например средната нота на триола не може да бъде разделена на квинтоли)

Бележки

· Когато записвате във файл, предлагам двоична сериализация или XML сериализация, ако е необходима оперативна съвместимост

· Не беше възможно да се използва MIDI формат, който има запис само когато бележката започва и завършва, тъй като стойността й ще бъде по-трудна за намиране. Изрично е написано в предложения формат.

· Има две опции за визуализация

x - x-x- | xxx-x-x 3 Три х и три под тях представляват триол.

2. Стойности на дължините на нотите (празни заглавки, крака, тирета). Лично аз харесвам втория начин, тъй като децата също се научават да пишат дължините на бележките и също изглежда по-добре естетически.

· Ще бъде необходимо да се провери дали дадена бележка не е разделена на такава мярка (т.е. няма да се побере в мярката, в която е започнала). Ако напишете ритъм, трябва само да напишете нотата в края на такта и да изпълните останалото в нова тактика като тире. По-общо обаче бележките, които надвишават лентата, са обвързани със специален знак - лигатура, която има формата на дъга, свързваща части на нотата.

· Може да е подходящо да разширите този модел, за да запишете мелодия в началото и да я използвате за запис на ритъм.

Документът съдържа рамкова спецификация на системата .

Документалният филм описва описанието на музикалното търсене и някои задачи, свързани с него

Ето малко подреден списък с имена, създаден по повод мозъчната атака на 23 октомври 2006 г.

Ако има 3 използваеми, това вероятно е много, но може би това вдъхновява някого.