Л. И. Яромко, учитель средней школы № 129, г. Минск

ПАРТИТУРА В АЛГОРИТМИЧЕСКИХ РАМКАХ

Автор делится своим опытом работы в музыкальном редакторе MUSIC.COM (разработчики А. Андреев и С. Ларионов, Москва) или, как они еще его называют - музыкальная система МС 89 В качестве примера взяты музыкальные партитуры, расписанные для одновременного звучания сразу двух ПК 8010 Корветов. Автор считает, что MUSIC.COM является настоящим кладом для внеклассной работы учителя-"корветчика", особенно для школ с музыкальным уклоном, хотя, конечно, годится и для-общеобразовательных школ.

Когда я впервые "озвучил" свою первую партитуру (трехголосную), то сразу обратил внимание на довольно тихое звучание мелодии и тогда же попробовал одну и ту же партитуру загрузить на два соседних РМУ и после набора Р (PLAY) дать одновременный ввод. Звучание было явно лучшим. Ну а затем пришла мысль: "А почему, собственно, надо засылать одну и ту же партитуру, когда можно расписать ее на две партии и получать, таким образом, одновременное звучание шести разных голосов?" И громче, и красивее. И с тех пор я непрерывно занимаюсь этим редактором.

Но есть у меня к авторам и несколько критических замечаний. И первое из них относится к документации MUSIC.DOC, прилагаемой к музыкальному редактору. Особенно к тому месту, где авторы показывают, как осуществляется кодирование нот в МС-89. Судите сами. Нотоносец у них состоит из 15 линий вместо традиционных пяти. А нот на нем нет и вовсе. И поэтому о кодировке нот в МС-89 можно только догадываться. Не сомневаюсь, что человек, не имеющий специального музыкального образования, в этот музыкальный редактор "не влезет" ни за что на свете по их документации.

Конечно, авторы мне могут возразить - в конце документации говорится, что можно ознакомиться с партитурами HANDEL.MUS и CHORUS.MUS и самому создать нечто подобное. Возможно, но тогда авторам надо было обязательно указать, в каких нотных сборниках можно отыскать вышеуказанные произведения, и дать возможность сравнивать нотную и машинную партитуры. И, кроме того, произведения эти довольно малоизвестные широкому кругу любителей музыки На мой взгляд, надо было в качестве демонстрационного примера взять всем хорошо известную мелодию (например, "Подмосковные вечера" или хотя бы "Чижик-пыжик") и на их примере показать кодирование в МС-89. Ведь самое главное на первом этапе - видеть сразу и ноты, и их кодировку.

Я, например, вначале показал учащимся рис. 1,2,3 (см. далее), затем пару примеров и к концу первого урока они озвучили песню "Перепелочка". А на втором мы уже занялись двух- и трехголосными партитурами. Однако опять вернусь к замечаниям На мой взгляд, авторы в документации допустили несколько неточностей:

И еще Авторы "забыли" указать, что действие знака ♯ или ♭ распространяется на "помеченную" ноту до конца такта.

Однако главные трудности освоения позади, и я от работы с МС-89 получаю в основном удовлетворение.

Считаю, что любой желающий может достать ноты в местной нотно-музыкальной библиотеке и глядя на ноты и на "машинную" программу освоить программирование в МС 89. В качестве примера "стерео"-партитуры лучше всего подходит русская народная песня "По муромской дорожке" (см листинг в конце статьи). Она и по объему не самая большая (всего 34 такта), и по звучанию самая удачная.

Введение в МС-89

Обозначения нот в скрипичном и басовом ключах, а также их длительностей приведены на рисунках 1, 2 и 3.


Рисунок 1.


Рисунок 2.


Рисунок 3.

Скрипичный ключ 𝄞 обозначается символом *. Басовый ключ 𝄢 обозначается символом @. M1, М2, М3, ... - обозначения тактов. VI, V2, V3 - обозначения голосов (в МС-89 их всего три).

Примеры кодирования нот:


Рисунок 4.

    Кодировка: *Q0I3I5Q4Q$ или *Q0I35Q4$
    Примечание: знаки длительности перед каждой нотой можно опускать, если они чередуются


Рисунок 5.

    Кодировка: @Q7H5I:765 (i:765 - кодировка триоли)


Рисунок 6.

    Кодировка: *Ш34564'7'6'5'7,6,5,4,
    Пояснение: Первые четыре ноты записаны в режиме legato,
               следующие четыре - в режиме non legato,
               и последняя четверка - в режиме staccato.

Более качественный (или "более выраженный") режим non legato или staccato можно получить следующим образом:

а) для получения non legato можно "забирать" у каждой ноты 1/4 часть ее длительности и заменять эту часть паузой. Так, например, вместо *Q1"2"4" можно набрать *I.1S$I.2S$I.4S$;

б) для получения же режима staccato можно "забирать" уже 1/2 часть ее длительности и так же поступать со второй ее половиной, да еще и вводить символ ",". Так, вместо *Q3,5,7, получим: *I3,$5,$7,$.

Это необходимо учитывать, так как в MUSIC.COM режим исполнения, вызываемый символами " или ', практически ничем не отличается от режима legato, да и staccato далеко не идеальное.


Рисунок 7.

    Кодировка: 10 M1 V1 * Q346  V2 * Q124
               10 M2 V1 * Q9B$  V2 * Q565  V3 * Q343

Осталось познакомиться со знаками, повышающими или понижающими ноты на полтона.

Ключ альтерации, т. е. количество бемолей или диезов, соответствующих данной тональности, обозначается символом К. После него указывается количество диезов или бемолей, постоянных для данного произведения. Он применяется в партитуре только один раз.

И еще. В МС-89 действует следующий закон: знак #, & или %, поставленный после ноты, действует для этой ноты до конца такта, как в пределах данного голоса, так и в остальных (если нота находилась в первом голосе). Собственно, так же обстоит дело и в нотной грамоте.

Примеры:


Рисунок 8.

    Кодировка: *Q213#45433 (последние 2 ноты будут исполняться как фа♯)

Пример начала музыкального произведения имеющего в ключе альтерации три бемоля:


Рисунок 9.

    Кодировка: 10 K3& M1V1 * Q356
               20 M2 V2 * Q6%56

Пример кодирования такта сопровождения мелодии (аккомпанемента):


Рисунок 10.

    V1@Q7,*0@A,*0, V2@Q7,*2,@A,*2, V3@Q7,*4,@A,*4,
    Пояснение: аккорд ми-соль-до переведен из басового ключа в скрипичный для более приятного звучания.

Редактирование

С помощью команды LIST (L␣n1 или L␣n1 n2) можно вызвать строку (или строки) и, нажав клавишу "забой" (⇐) поднять курсор на любую из них.

Двигаться по строке слева направо можно с помощью комбинации УПР+Х "Уйти" с любой строки можно с помощью клавиши ВВОД. К сожалению, в МС-89 отсутствует режим вставки, что, конечно, затрудняет редактирование. Удаление символов производится клавишей ПРОБЕЛ.

Просмотр всей программы осуществляется с помощью L, ВВОД. Остановка просмотра программы осуществляется нажатием любой черной клавиши. При остановке просмотра с помощью клавиши F3 (или F1) можно вызвать на экран по две следующие строчки. Комбинация УПР+L сразу же переводит курсор в левый верхний угол экрана. Спуск - с помощью ВВОД и УПР+Х.

Запуск (озвучивание) программы

Надо иметь в виду что набранная программа не будет звучать, если в начало программы не вставить символы Р и N. Что же они обозначают и для чего нужны?

С помощью символа Р и следующей за ним любой буквой латинского алфавита в МС-89 обозначается начало любого фрагмента (участка) данного музыкального произведения, а если фрагмент нуждается в повторении, то выделяются его начало и конец.

В любом случае надо зафиксировать начало музыкального произведения (например РА).

Рассмотрим следующий пример. Пусть некоторое музыкальное произведение состоит из 30 тактов. Если вы наберете в программе перед первым тактом сочетание РВ, а перед 15-м тактом - РА, то машина исполнит вначале такты с 15-го по 30-й, а затем только с 1-го по 14-й. Если вы поменяете местами РВ и РА, то произведение начнет исполняться "нормально", т. е. с 1-го по 30-й по порядку. Впрочем, во втором случае РВ можно убрать и вовсе - результат будет тем-же. Таким образом, напрашивается вывод: машина исполняет помеченные участки строго в алфавитном порядке.

Ну а с помощью символа N задается темп исполнения музыкального произведения. Надо только после него записать одну из четырех букв Н, Q I или S и после знака равенства указать какое-нибудь число (оно характеризует циклы задержки). Например: NS=75. Буква и число для каждого произведения подбираются экспериментально.

Итак, если вы ввели в начало вашей программы символы Р и N, то для прослушивания вам останется только набрать PLAY и нажать ВВОД.

Организация повторов в МС-89

Чтобы организовать повторение какого-либо фрагмента музыкального произведения, применяется символ R. После него надо указать букву (метку), стоящую в начале участка, нуждающегося в повторении.

Рассмотрим организацию повторов на следующих примерах.

Пример 1. Возьмем опять 30-тактное произведение и допустим, что надо повторить такты с 15-го по 30-й. Распределим метки следующим образом перед первым тактом наберем РА перед пятнадцатым - РВ, после тридцатого - PC␣RB - и получим повторение тактов с 15-го по 30-й.

Пример 2. Пусть в этом же 30-тактном произведении нотные знаки повтора 𝄇 стоят в начале 15-го и в конце 28-го тактов, а знаки 𝄍, 𝄎 сигнализируют о том, что при повторе надо исполнить такты с 15-го по 26-й включительно, а затем, минуя 27-й и 28-й такты, "перепрыгнуть" сразу на 29-й. Поступим на этот раз следующим образом: перед первым тактом наберем РА, перед пятнадцатым - РВ, перед двадцать седьмым - PC, перед двадцать девятым - PD␣RB, а затем (можно в следующей строке) РЕ.

И поставленная задача будет решена. Вероятно, этих двух примеров вполне достаточно, чтобы в будущем организовать любой повтор в ваших будущих партитурах.

Рекомендации учителю

Записать MUSIC.СОМ на диск с СОС "Альтернатива" и использовать ее при загрузке. Загружается музыкальный редактор довольно быстро - около 3 мин на 12 РМУ.

После загрузки с помощью команды HELP вызывается список всех команд, имеющихся в арсенале МС-89, и потом достаточно набирать только первую букву любой из них, чтобы добиться их исполнения в среде MUSIC.COM

Учащиеся начинают набирать программы с места нахождения курсора (под заставкой *МС-89*), вводя каждую строку с помощью клавиши ВВОД. Желательно (на начальном этапе) каждую строку после ввода компилировать (С, ВВОД) и получать сообщения о наличии возможных ошибок. Прослушивание мелодии можно в любой момент прервать нажатием клавиши ПРОБЕЛ. Запись набранных на РМУ партитур на "головной" диск осуществляется с помощью W␣"имя файла" (пробел после W обязателен). Расширение MUS присваивается автоматически.

Загрузку, просмотр и прослушивание созданных на РМУ программ можно осуществлять следующим образом:

I вариант

    А>MUSIC
    R "имя файла" (без расширения)
    L (или STOP)
    Р

II вариант

    А>MUSIC
    R "имя файла" (без расширения)
    L

Если вдруг при записи на диск произойдет "зависание" ученической и головной машины, можно поступить следующим образом:

Для надежности можно тут же еще раз записать созданную партитуру под каким-нибудь другим новым именем и для проверки сразу же вызвать ее на свободное РМУ и прослушать (или просмотреть). Вообще, это лучше делать постоянно, так как случается, что при записи файла на диск внешне все выглядит благополучно, но в дальнейшем, при попытке его загрузить вдруг появляется сообщение "Ошибка синтаксиса партитуры", и мы понимаем, что время на создание программы потеряно зря. Поэтому лучше (пока программа находится в ОЗУ) потратить одну-две минуты на проверку, чем иметь возможность потерять намного больше времени и пережить в дальнейшем чувство досады.

И последнее. В случае возникновения непредвиденной ситуации при работе с программой (случайное нажатие другой клавиши, появление какого-то сообщения, отсутствие звучания и т. д.) можно всегда выйти из нее, нажав клавишу STOP, а затем (к примеру) L, ВВОД и снова вернуться к программе.

В заключение приводим одну из практических работ автора. -программу для известной народной песни "По муромской дорожке".

I партия

    10 РА
    20 NS=70
    25 КЗ&
    30 М1 V1*QB V2*Q9
    40 М2 V1*HCQA V2*HAQ8
    45 V3@QB,*0,0,
    50 М3 V1*H8QC V2*H7QA
    55 V3@QB,*0,0,
    60 M4 V1*HBQ9 V2*H9Q7
    65 V3@QA,*0,0,
    70 M5 V1*H7Q4 V2*H4Q4
    75 V3@QC,*0,0,
    80 M6 V1*H6Q5 V2*H.3
    85 V3@QB,*0,0,
    90 M7 V1*H4Q3 V2*H2Q3
    95 V3@QA,*3,3,
    100 M8 V1*H.0
    105 V2@Q7,*0,0, V3@7,*4,4.
    110 M9 V1*Q0$-3
    115 V2*Q0,$$ V3*Q4,$S
    116 PB
    120 M10 V1*H0Q0
    125 V2@Q7,*0,0, V3@Q7,*4,4.
    130 M11 V1*H1Q1
    135 V2@QA,*4,4, V3©QA,*6%,6,
    140 M12 V1*H,2
    145 V2@Q7,*0,0, V3@Q7,*4,4,
    150 M13 V1*H0Q0
    155 V2@QC,*0,0, V3@Q7,*4,4,
    160 M14 V1*H7Q6%
    165 V2@QB,*0,0, V3@QB,*5,5,
    170 M15 V1*H7Q5
    175 V2@Q8,*1,1, V3©Q8,*5,5,
    180 M16 V1*H.4
    185 V2@QC,*4,4, V3@QC,*6,6,
    190 M17 V1*Q4$6 V2*Q2%$4
    195 V3@Q7,*0,0,
    200 M18 V1*H5Q3 V2*H3Q1
    205 V3@QB,*0,0,
    210 M19 V1*H1Q5 V2*H1Q3
    215 V3@QB,*0,0,
    220 M20 V1*H4Q2 V2*H2Q0
    225 V3@QA,*0,0,
    230 M21 V1*H0Q4 V2*H0Q2
    235 V3@Q7,*0,0,
    240 M22 V1*H6Q5 V2*H4Q3
    245 V3@QB,*0,0,
    250 M23 V1*H4Q3 V2*H2Q1
    255 V3@QA,*4,4.
    260 M24 V1*H,7 V2*I012345
    265 V3@Q9,*0,0,
    270 M25 V1*H7Q7 V2*I6789%AB
    275 V3@QA,*0,0,
    280 M26 V1*H3Q1
    285 V2@QB,*3,3, V3@QB,*5,5
    290 M27 V1*H1Q3
    295 V2@QB,*3,3, V3®QB,*5,5
    300 M28 V1*H.2
    305 V2@QA,*2,2, V3©QA,*4,4,
    310 M29 V1*H0Q2
    315 V2@QC,*2,2, V3©QC,*4,4,
    320 M30 V1*H4Q3
    325 V2@QB,*3,3, V3@0B,*5,5,
    330 M31 V1*H2Q3
    335 V2@QA,*3,3 V3@QA,*6%,6,
    340 M32 V1*00I2479
    345 V2@Q7,*2,2, V3®Q7,*4,4,
    346 PC
    350 M33 V1*I876543
    355 V2@QB,*3,®A, V3©QB,*5,®A,
    356 PD
    357 PE RB
    358 PF RC
    359 PG RB
    360 PH RC
    361 PI RB
    362 PK RC
    363 PP RB
    369 PX
    370 M34 V1*Q7$$ V2*0$$

II партия

    10 PA
    20 NS=70
    25 K3&
    30 M1 V1*Q9 V2*Q7 V3*Q$
    40 М2 V1*H7Q7
    45 V2@QB,*3,3, V3©QB,*5,5,
    50 М3 V1*H5Q8
    55 V2@QB,*3,3, V3©QB,*5,5.
    60 M4 V1*H7Q4
    65 V2@QA,*2,2, V3@QA,*4,4,
    70 M5 V1*H2Q4
    75 V2@QC,*2,2, V3©QC,*4,4.
    80 M6 V1*H.O
    85 V2@QB,*3,3, V3®QB,*5,5,
    90 M7 V1*H-1%Q1
    95 V2@QA,*4,4, V3@QA,*6%,6,
    100 M8 V1*H.O
    105 V2@Q7,*0,0, V3@Q7,*2,2,
    110 M9 V1*Q0$-3
    115 V2*Q0,$$ V3*Q2,$$
    116 PB
    120 M10 V1*Q0I2479
    125 V2@Q7,*2,2, V3®Q7,*4,4,
    130 M11 V1*Q1I346%8
    135 V2@QA,*3,3, V3@QA,*4,4,
    140 M12 V1*Q2I46%79
    145 V2@Q7,*2,2, V3®Q7,*4,4,
    150 M13 V1*Q0I2479
    155 V2@QC,*2,2, V3©QC,*4,4,
    160 М14 V1*OOI8ACD%
    165 V2@QB,*0,0, V3@QB,*3,3, 170 M15 V1*Q113578
    175 V2@Q8,*1,1, V3@Q8,*6,6,
    180 M16 V1*0216543
    185 V2@QC,*2,2, V3@QC,M,4,
    190 M17 V1*Q2%I7646
    195 V2@Q7,*2%,2, V3®Q7,*6,6,
    200 M18 V1*Q3I578A
    205 V2@QB,*3,3, V3@QB,*5,5, 210 M19 V1*Q113578
    215 V2@QB,*3,3, V3®QB,*5,5,
    220 M20 V1*Q2I4798
    225 V2@QA,*2,2, V3®QA,*4,4,
    230 M21 V1*I765420
    235 V2@Q7,*2,2, V3®Q7,*4,4,
    240 M22 V1*H1Q0
    245 V2@QB,*3,3, V3®QB,*5,5,
    250 M23 V1*H.-1%
    255 V2@QA,*3,3, V3®QA,*6%,6, 260 M24 V1*I012345
    265 V2@Q9,*2,2, V3®Q9,*5,5,
    270 M25 V1*I6789%AB
    275 V2@QA,~2%,2, V3®QA,*6,6, 280 M26 V1*H7Q7 V2*H5Q5
    285 V3®QB,*0,0,
    290 M27 V1*H5Q7 V2*H3Q5
    295 V3@QB,*0,0,
    300 M28 V1*H.7 V2*H.4
    305 V3@QA,*0,0,
    310 M29 V1*H4Q7 V2*H2Q4
    315 V3@QC,*0,0,
    320 M30 V1*H7Q8 V2*H6Q5
    325 V3®QB,*0,0,
    330 M31 V1*H9Q8 V2*H4Q4
    335 V3@QA,*4,4,
    340 M32 V1*H.7
    345 V2@Q7,*0,0, V3®Q7,*4,4,
    346 PC
    350 M33 V1*Q7$-3
    355 V2@Q7,*0,0, V3®Q*4,4,
    356 PD
    357 PE RB
    358 PF RC
    359 PG RB
    360 PH RC
    361 PI RB
    362 PK RC
    363 PP RB
    369 PX
    370 M34 V1*Q2&$$ V3*Q4$$