Я пропоную представити нотацію ритму, використовуючи наступну об'єктну модель.

уявіть

Базовим класом є клас Ритм, який містить кількість тактів і позначення смуги. Є два можливі шляхи:

1. Два числа (кількість ритмічних одиниць на такт і значення ритмічної одиниці)

2. Перерахування можливих підписів часу

Етикетки, які ми будемо підтримувати, будуть

Вони щедро покриють наші вимоги, хоча можливих набагато більше тактів. Якщо ми хотіли б зробити це простіше, найважливішими є 3/4 та 4/4.

Далі в класі є масив нотаток. Базовим класом для них є RhytmNote, який містить дані

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

Він успадковує класи SingleNote і NoteGroup.

· IsRest - вірно, якщо є дефіс, інакше помилково

· Крапка - чи є після ноти крапка (крапка збільшує значення ноти наполовину)

· NoteCount - кількість нот, на які буде поділено задану довжину

· IsRest [] - для кожної ноти в групі, чи є дефіс

NoteGroup є в пропозиції завдяки т.зв. нерегулярні розподіли, коли, наприклад, чверть ноти ділиться, наприклад, на три чи п’ять значень (тріоли, квінтолі), і неможливо записати її, використовуючи класичні значення довжини. Ця область є великою частиною трохи більш досконалої речовини, і я думаю, що якби ми не ввели її, ми втратили б багато можливостей.

Обмеження

Щоб не ускладнювати написання, у ньому є певні обмеження, тому не всі ритми в ньому можна писати. З іншого боку, немає припущення, що хтось би ними користувався, особливо не навчаючи дітей.

Зокрема, мова йде про

· Прив’язати ноти неможливо - але можна обійти дефіс (лише у випадку ритму, у разі можливого розширення шляхом запису мелодії, це потрібно вирішити іншим способом)

· Неможливо розділити ноти групи (наприклад, середню ноту тріоли не можна розділити на квінтоли)

Примітки

· Під час збереження у файл я пропоную двійкову серіалізацію або серіалізацію XML, якщо потрібна сумісність

· Неможливо було використовувати формат MIDI, який має запис лише тоді, коли нота починається і закінчується, оскільки її значення буде важче знайти. Це чітко написано у запропонованому форматі.

· Є два варіанти візуалізації

x - x-x- | xxx-x-x 3 Три x і три під ними представляють триол.

2. Значення довжин нот (порожні заголовки, ноги, тире). Особисто мені подобається другий спосіб, оскільки діти також вчаться писати довжини нот, і це також виглядає естетичніше краще.

· Потрібно буде перевірити, чи не поділяється нотатка такою мірою (тобто вона не впишеться в міру, в якій вона почалася). Якщо ви пишете ритм, вам потрібно лише написати ноту до кінця міри, а решту виконати в новій мірі у вигляді дефіса. Однак у більш загальному плані ноти, що перевищують смугу, пов’язані спеціальним знаком - лігатурою, яка має форму дуги, що з’єднує частини ноти.

· Може бути доречним розширити цю модель, щоб записати мелодію на початку і використовувати її для запису ритму.

Документ містить специфікацію системи .

Документальний фільм описує опис музичного квесту та деякі завдання, пов’язані з ним

Ось трохи впорядкований список імен, створений з нагоди мозкового штурму 23 жовтня 2006 року

Якщо є 3 придатні для використання, то це, мабуть, багато, але можливо це когось надихає.