Основные ноты задаются заглавными символами латинского алфавита «CDEFGAB», а их диезы - строчными «cdega» без каких-либо значков шарпа «#», что делает запись наиболее компактной.
Для повтора одной или нескольких нот несколько раз используется запись «n(e…)», где «n» - число итераций и «e» - само выражение.
Циклы можно вкладывать друг в друга, а так же и ссылаться на итераторы родительских циклов посредством замены «n» на «i/» или «i\» для восходящего счёта или нисходящего отсчёта соответственно. Так:
- запись «3(CDE)F» развернётся в «CDECDECDEF»
- запись «3(C1\(DE)F)» развернётся в «CDEDEDEFCDEDEFCDEF»
- запись «3(C1/(DE)F)» развернётся в «CDEFCDEDEFCDEDEDEF»
В частности, организация циклов с дробной итерацией:
- запись «3½(CD;E)F» развернётся в «CDECDECDEF»
- запись «3½(C;1\(DE);F)» развернётся в «CDEDEDEFCDEDEFCDE»
- запись «3½(C1/(DE);F)» развернётся в «CDEFCDEDEFCDEDEDE»
Так как сам скрипт задуман для вставки в форумы EMBED-способом, чтобы обойти ограничения адресной строки с необходимостью использования функций «escape»/«unescape» при скором наборе мелодии, синтаксически предусматривается возможность кодирования мелодии посредством набора из 68 символов.
Например, «32*5ECECFED4GGGAB5CCC»
Продолжение следует…