Basic 1969 г.

Глава 19 - программирование звуков.


Глава 19

Программирование звуков

Краткое содержание: ВЕЕР

ZX SPECTRUM может воспроизводить звуки при помощи оператора
ВЕЕР: ВЕЕР <продолжительность>, <высота звука>. Где <продолжи-
тельность> и <высота звука> -некоторые числовые выражения. Про-
должительность задается в секундах, а высота в полутонах от
основного тона "до": при положительных числах-выше ноты ндом, а
при отрицательных-ниже йоты "до". На диаграмме приведены все зна-
чения нот одной октавы:

Для получения более высоких или более низких нот, вы должны
прибавить или отнять 12 для каждой октавы вверх или вниз.

Например:
10 PRINT "FRERE GUSTAV"

20 ВЕЕР 1,0: ВЕЕР 1,2: ВЕЕР.5,3: ВЕЕР.5,2: ВЕЕР 1,0
30 ВЕЕР 1,0: ВЕЕР 1,2: ВЕЕР.5,3: ВЕЕР.5,2: ВЕЕР 1,0
40 ВЕЕР 1,3: ВЕЕР 1,5: ВЕЕР 2,7
50 ВЕЕР 1,3: ВЕЕР 1,5: ВЕЕР 2,7

60 ВЕЕР.75,7: ВЕЕР.25,8: ВЕЕР.5,7: ВЕЕР.5,5: ВЕЕР.5,3:

ВЕЕР.5,2: ВЕЕР 1,0
70 ВЕЕР.75,7: ВЕЕР.25,8: ВЕЕР.5,7: ВЕЕР.5,5: ВЕЕР.5,3:

ВЕЕР.5,2: ВЕЕР 1,0
80 ВЕЕР 1,0: ВЕЕР 1, -5: ВЕЕР 2,0
90 ВЕЕР 1,0: ВЕЕР 1, -5: ВЕЕР 2,0
Когда вы запустите эту программу, вы услышите похоронный марш
из первой симфонии Мольера. , ту часть, когда Гобблииы хоронят
рыцаря. Запись начала этой мелодии в ключе до-минор с указанием
значений нот приведена на рисунке:

Еслй Вы желаете исполнить мелодию в другом ключе, Вы должны
вставить в выражение некоторую переменную 'KEY'. Например для
второй строки программы:

20 ЭЕЕР 1, KEY+0: ВЕЕР 1, KEY+2: ВЕЕР.5, KEY+3:
ВЕЕР.5, KEY+2: ВЕЕР 1, KEY 0
теперь, при выполнении программы вр можете присвоить переменной
'KEY' значения: 0-дл* до-минор,2-для ре-минор,12-для до-минор
верхней октавы и т.д. Переменная 'KEY' может также принимать зна-
чения кратные 1/2,1/4 и т.д.

Таким же образом можно изменять и длительность звучания нот.
Но помните, что компьютер может одновременно исполнять только од-
ну ноту, что не позволяет воспроизводить сложнее мелодии.

Попробуйте запрограммировать собственную мелодию. Начните с
самой простой. Если вы ие знаете нотной грамоты можете изучить ее
прямо на компьютере. Например фрагмент программы:
FOR N«0 то 1000: ВЕЕР.5, N: NEXT N

Будет исполнять последовательно ноты до предельно высокой и
завершится Сообщением об ошибке 'В'. Вы можете также параллельно
выводить значения 'N', чтобы знать значение исполняемой ноты,
фрагмент программы:

10 ВЕЁР* 5,0: ВЕЕР.5,2: ВЕЕР.5,4: ВЕЕР.5,5: ВЕЕР.5.7:
ВЕЕР.5,9: ВЕЕР.5,11: ВЕЕР.5,12: STOP

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

20 BfcEP.5,0: ВЕЕР.5,2.039: ВЕЕР.5,3.86: ВЕЕР.5,4.98:

ВЕЕР.5,7.02: ВЕЕР.5,8.84: ВЕЕР.5,10.88: ВЕЕР.5,10.88:
ВЕЕР.5,12: STOP

Эти же интервалы будут естественными для гаммы, исполняемой в
любом клк^че, отличном от до.

Некоторая музыка, например индийская, использует интервалы
меньшие, чем полутон, вы можете без особого труда запрограммиро-
вать это в операторе ВЕЕР. Например, для звука на четверть тона
выше среднего до, надо указать значение высоты звука равное .5.

Вы можете сделать клавиатуру компьютера клавишами музыкального
инструмента, выполнив переключение:
РОКЕ 23609,255

Второе число здесь определяет продолжительность нахождения в
этом состоянии (попробуйте изменять его от 0 до 255).

Можно также вывести музыку на внешние устройства, подключаемые
к выходным разъемам 'MIC' и 'EAR'.




СОДЕРЖАНИЕ:


  Оставте Ваш отзыв:

  НИК/ИМЯ
  ПОЧТА (шифруется)
  КОД



Темы: Игры, Программное обеспечение, Пресса, Аппаратное обеспечение, Сеть, Демосцена, Люди, Программирование

Похожие статьи:
Gamedev - Советы при написании аркадной игры.
Are you sad??
Вступление - пара слов от редакции.
Перлы - рубрика, рассказывающая о высказываниях известных людей.
Объявления - Реклама и объявления...

В этот день...   24 апреля