УРОК 13. Работа с музыкой
Язык Бейсик позволяет запрограммировать музыку. Для этого используется оператор PLAY, в котором записываются ноты по следующим правилам, где все символы должны быть набраны в английской раскладке:
- октавы обозначаются символом «о», за которой следует ее номер, например, «о2» обозначает вторую октаву. Для перехода на октаву выше используется знак «>», ниже - «<»;
- длительность нот указывается как L1, L2, L4, L8 и так далее;
- ноты указываются как: c - до, d - ре, e - ми, f - фа, g - соль, a - ля, b - си. После ноты может находиться ее длительность, например, «с2», «а8». Если нужно проиграть диез, то после ноты ставится знак «+» или «#», а для бемоли - «-»;
- стиль по умолчанию - нормальные (MN), но можно сделать легатто (ML) и стаккато (MS).
Приведем пример.
PLAY "MS L8 ff ee dd de ff ee d4 d4 cc < bb aa ab > cc < bb a4 a4"
В данной программе приведена мелодия «Во саду ли, в огороде». При проигрывании мелодии пробелы не учитываются, а используются для визуального выделения символов.
PLAY "o2 L4 g > c2 < b8>c8 d <b g> d2 c8d8 e c c a2 f8a8 g e g f d g c2 "
Данная программа позволяет проиграть музыку «По Дону гуляет казак молодой».
Помимо музыки можно параллельно показывать на экране графические
объекты, причем лучше перемежать их между собой, например, вначале
вывести на экран изображение, затем фрагмент музыки, затем снова
графический фрагмент, фрагмент музыки и так далее.
Приведем еще несколько примеров. Сама садик я садила.
PLAY "ML c4 d4 e2 c2 > c4 < a4 g2 e2 f4 g4 a2 f2 > c4 < a4 g2 > c2 < e4 g4"
PLAY "f2 d2 a4 g4 e2 c2 > c4 < a4 g2 e2 f4 d4 c"
Коровушка.
PLAY "MS > e4 e4 f4 e4 d4 c4 e4 d4 c4 < b4 a2 > e4 e4 f4 e4 d4 c4 e4 d4 c4"
PLAY "< b4 a2 > c2 d4 c4 < b4 a4 e2 > c4 < b4 a2 > c2 d4 c4 < b4 a4 e2 >"
PLAY "c4 < b4 a2"
Во поле березка стояла
PLAY " e4 e4 e4 e4 d2 c4 c4 < b2 a2 > e4 e4 g4 e4 d4 d4 c4 c4 < b2 a2"
PLAY “b2 > c4 d2 c4 c4 < b2 a2 b2 > c4 d4 d4 c4 c4 < b2 a2”
Существует и другой оператор, который позволяет выводить звук - оператор SOUND,
который имеет два аргумента: частота звука и его длительность. Ниже
приведен пример программы, которая напоминает звонок в дверь.
FOR i1 = 1 TO 8
SOUND 450, 1
SOUND 1800, 1
NEXT i1
Также
можно смоделировать свист ветра, шум падающих капель, скрип двери и так
далее. В качестве примера ниже приведен еще один пример - звука сирены.
FOR i = 1 TO 3
FOR i1 = 550 TO 850
SOUND i1, .2
NEXT i1
FOR i1 = 850 TO 550 STEP -2
SOUND i1, .2
NEXT i1
NEXT i
Задачи.
1. В вышеуказанных примерах попробуйте изменить стиль музыки и прослушайте мелодию.
2.
Возьмите ноты простых мелодий, например, самоучитель игры на баяне,
аккордионе, фортепьяно и пр. и составьте программы для этих мелодий.
3.
Напишите программы с показом графических изображений, соответствующим
тематике музыкальных примеров, приведенных в этом уроке.
|