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'.




СОДЕРЖАНИЕ:


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

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



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

Похожие статьи:
Тест - А не садист-ли вы? Не лунатик-ли вы? Можете-ли вы кинуть в человека сковородкой?
Special Messages - приветы.
Почётные и Вечные - Список Заслуженных Пользователей AC Edit.
Тестик - для разнообразия.
Система - Описание программ : ZX-ASM3.0, Universal XAS Converter v2.1, Format Utility v2.01, Commander DOS v1.9, Super Catalog v1.12, Text Designer v1.0, The Dizzy Editor v1.0, Digital Studio for Covox, Alfasoft Music Crasher v2.13. Драйвер печати шрифтов , созданных в Mach v2.4.

В этот день...   5 мая