Работа с ZX-Spectrum 1993 г.

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


ГЛАВА 19

ПРОГРАММИРОВАНИЕ ЗВУКОВ

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

ZX Spectrum может воспроизводить звуки при помощи оператора
ВЕЕР.

ВЕЕР t,f ( 0 t 10.499; -60 f 69 )

где t - продолжительность и f - высота звука - некоторые числовые выра-
жения.

Продолжительность задаётся в секундах, а высота в полутонах от основ-
ного тона "ДО": при положительных числах - выше ноты "ДО", а при отрица-
тельных - ниже ноты "ДО".' На диаграмме приведены все значения нот одной
октавы:

Для получения более высоких или более низких нот Вы должны приба-
вить или отнять 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: ВЕЕР l,KEY+2: ВЕЕР .5,KEY+3:
ВЕЕР .5,KEY+2: ВЕЕР l,K£Y+0
Теперь, при выполнении программы. Вы можете присвоить переменной
'KEY' значения: 0 - для ДО, 2 - для РЕ, 12 - для ДО верхней октавы и т.д. Пе-
ременная 'KEY' может также принимать значения кратные 1/2, 1/4 и т.д.

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

Попробуйте запрограммировать собственную мелодию. Начните с са-
мой простой. Если Вы не знаете нотной грамоты, можете изучить её прямо
на компьютере. Например, фрагмент программы-

FOR п=0 ТО 1000: ВЕЕР .5,n: NEXT п
будет исполнять последовательно ноты до предельно высокой и за-
вершится сообщением об ошибке "В ." Вы можете также параллельна вы-
водить значения 'п'. чтобы знать значение исполняемой ноты.

Фрагмент программы:

10 ВЕЕР .5,0: ВЕЕР .5,2: ВЕЕР .5,4: ВЕЕР .5,5: ВЕЕР .5,7:
ВЕЕР .5,9: ВЕЕР .5,11: ВЕЕР .5,12: STOP
исполняет гамму ДО, в которой используются чистые ноты от среднего
ДО до верхнего ДО. Однако в этой гамме неестественные интервалы,
скрипач бы её исполнил так:

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

ВЕЕР .5,7.02: ВЕЕР .5,8.84: ВЕЕР .5,10.88: ВЕЕР .5,12: STOP
Эти же интервалы будут естественными для гаммы, исполняемой в лю-
бом ключе, отличном от ДО,

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

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

РОКЕ 23609,255

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

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




СОДЕРЖАНИЕ:


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

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



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

Похожие статьи:
Лоцман - Приключения Крузи (по мотивам игры Бегство на Хархан).
Анкета - Fоx FluFFу's/AIS Grоuр/TGT tm.
Железо - маленькая схемка стереоусилителя для ZX Spectrum.
Лит. страничка - Рассказ М.А. Булгакова "Как это делалось раньше".
Новости - Как обстоят дела с организацией барнаульской Spectrum сети.

В этот день...   23 ноября