Лекция: МУЗЫКАЛЬНЫЕ ВОЗМОЖНОСТИ

 

В ряд версий Бейсика встроен специальный подъязык, который позволяет программировать музыку. Это делается без труда командой PLAY. В команде указывается строковое выражение, составленное из символов, кодирующих ноты.

Общий формат команды PLAY таков:

PLAY AS, B$, CS,

где AS, BS, CS — строки символов, число которых не превышает числа параллельных звуковых каналов в системе. Каждый символ — команда специального языка, задающая ноту, длительность и громкость звучания, другие параметры. Следующие латинские буквы соответствуют основным нотам:

 

с — «до»,

d — «ре»,

е — «ми»,

f — «фа»,

g — «соль»,

а — «ля»,

b — «си»

 

Например, команда

 

PLAY «cdefgab»

 

осуществляет музыкальное исполнение гаммы (до-ре-ми-фа-соль-ля-си) четвертой октавы с длительностью 1/4 ноты (устанавливаемой, при отсутствии явных указаний, «по умолчанию»).

Нота может звучать на полтона выше (бемоль — знак «минус») или ниже (диез -знак «плюс», либо #). Высота звучания нотьГопределяется октавой. Октава кодируется символом с номером On. помещаемым перед нотой или группой последующих нот. Принято кодировать октавы по порядку с единицы в соответствии с фортепианным рядом, первая октава (01) — контроктава, вторая октава (02) — большая октава, третья октава (03) — малая октава, четвертая октава (04) — первая октава, пятая октава (05) — вторая октава и т.д. Например, команда

 

PLAY «оЗ а а а»

 

проигрывает три ноты ля-ля-ля в малой октаве.

Длительность звучания ноты измеряется в специальных единицах — одна целая нота (произнесите четко «раз-и. два-и, три-и, четыре-и», тогда время, затраченное на эту фразу, приблизительно соответствует длительности одной ноты). Выделяют длительность в полноты (1/2 ноты), четверть, одну восьмую, одну шестнадцатую и т.д. — вплоть до одна шестьдесят четвертая. Длительность звучания в программе устанавливают командой Ln (n = 1, 2,… 64), включаемой в символьную последовательность, либо непосредственно в самих командах установки нот. Например,

 

PLAY«C8D2L16fbe»

 

означает звучание ноты «до» длительностью в одну восьмую ноты, «ре» — в одну вторую, а ноты фа-си-ми звучат длительностью в одн\ шестнадцатую ноты. Аналогичную размерность имеет пауза, обозначаемая Rn или Рп.

Уровень громкости может быть установлен командой Vn, предшествующей ноте (n = 0, 1,… 15); по умолчанию n = 8 — «средняя» громкость.

Ниже приведен пример кодирования музыкального произведения.

Программа 59

*********** рпезы Шумана **************

10 DATA c8, f2f8, e8, f8, a8, o5c8, f8f2

20 DATA e8, d8, c8, f8, o4g8, a8, b-8, o5d8, o4f8, g8,a8

30 DATA o5c8, o4g2, c4, f2f8, e8, f8, a8, o5c8, a8a4a8

40 DATA g8, f8, d8, c8, f8, o4, g8, a8. b-8, o5, d8, o4, g8, a8, b-8

50 DATA o5d8, o4-d8, e8, f2

60 FOR i = 1 TO 46

70 READ f$

80 PLAY f$

90 NEXT i

Использование функции считывания п символов нажатых клавиш INPUTS(n) позволяет использовать клавиатуру как музыкальный инструмент.

Программа 60

5 ******* компьютер — простейший музыкальный инструмент *******

10 f$ = INPUT$(1)

20 PLAY f$

30 GOTO 10

 

Контрольные вопросы и задания

1. Составьте программу, исполняющую первые такты полонеза Огинского.

2. Разработайте компьютерный вариант популярной игры «Угадай мелодию».

еще рефераты
Еще работы по информатике