ZX Forum #04
19 ноября 1997

Мир звуков Спектрума - глава 4.3: Программирование звуковых эффектов - Управление тембром.

<b>Мир звуков Спектрума</b> - глава 4.3: Программирование звуковых эффектов - Управление тембром.

         4.3. Управление тембром

   Для управления тембром ZX-Spectrum  так
же не приспособлен, как и  для  управления
громкостью. Но, как и громкостью, им  мож-
но управлять в небольших пределах.
   Как Вы  уже  знаете, тембр  зависит  от
формы звуковой волны.  Так  как  приспосо-
бить для формирования тембра  подпрограмму
управления громкостью  не  так-то  просто,
при создании различных форм волны  придет-
ся обходиться только двумя уровнями  гром-
кости. Сделать это можно, например, с  по-
мощью такой подпрограммы:
1415.
 10            DI                 ; запрет прерываний
 20  LOOP1     LD      B,8        ; B=темп
 30  LOOP2     XOR     A          ; A=цвет бордюра (0)
 40            RLC     E          ; скроллинг тембра через флаг
                                    CY
1415. 50            JR      NC,NOSIGN  ; если флаг CY=0, то перейти
                                    на NOSIGN
 60            OR      16         ; установка бита D4 регистра A
 70  NOSIGN    OUT     (254),A    ; вывод A в порт 254
 80            LD      D,H        ; D=задержка
 90  PAUSE     DEC     D          ; D=D-1
100            JR      NZ,PAUSE   ; если D<>0, то цикл
110            DJNZ    LOOP2      ; цикл темпа
120            LD      A,H        ; A=H
130            ADD     A,L        ; прибавить L к A
140            LD      H,A        ; H=A
150            DEC     C          ; C=C-1
160            JR      NZ,LOOP1   ; если C<>0, то цикл
170            EI                 ; разрешение прерываний
180            RET                ; возврат
2
   Перед вызовом этой подпрограммы необхо-
димо в регистр C занести длительность  но-
ты, в регистр  H - частоту, в регистр  L -
смещение частоты  (возможны  отрицательные
значения и ноль), а в  регистр  E - тембр.
Учтите, что не  все  значения  регистра  E
имеют смысл.  Так, при значении  E  равном
255 или 0 Вы вообще ничего  не услышите, а
тембры 1 и  128  будут  звучать  абсолютно
одинаково и т.д.
   По существу, имеет  смысл  использовать
только следующие 19 тембров: 1,3,5,7,9,11,
13,15,17,19,21,23,25,27,37,43,45,51 и  85.
Все остальные значения на слух воспринима-
ются аналогично этим.
   Приведенная программа  является  только
примером. Вы вполне можете написать  свою,
воспроизводящую звук с 16-ти битовым  тем-
бром, или с тембром, заранее записанным  в
память с  магнитофонного входа  (см. главу
4.6).



Другие статьи номера:

Help - Описание оболочки электронного издания "ZX-FORUM 4".

Секреты успешного дизайна - глава для книги "Дизайн Ваших программ"

Экранные эффекты - Бегущая строка из R-Type.

Экранные эффекты - гашения экрана из Zynaps.

Экранные эффекты - "сворачивание" экрана из Comando Tracer.

Экранные эффекты - плавное "затухание" экрана из Сommando Tracer.

Экранные эффекты - модификация символьного набора для получения оригинального стилизованного шрифта из игры Rockstar.

Экранные эффекты - "выбегающая строка" из игры Rockstar.

Экранные эффекты - "наливающийся" экран из игры Rockstar.

Экранные эффекты - сложный многоступенчатый эффект из игры Bubbler.

Новые 40 лучших процедур - скроллинг экрана, слияние двух картинок, инвертирование экрана, поворот символов, замена атрибутов, заливка замкнутого контура, вычисление адресов в экране, копирование части экрана и т.д.

Технология спрайтов - часть 1: введение.

Технология спрайтов - часть 2: охота на спрайты (поиск и выдирание).

Технология спрайтов - часть 3: форматы спрайтов.

Технология спрайтов - часть 4: форматы спрайтов с маской.

Технология спрайтов - часть 5: структура спрайтовых блоков (как уживаются в памяти спрайт и маска, какие данные помогают нам оперативно находить адрес спрайта в памяти и многое другое.)

Технология спрайтов - часть 6: подготовка данных к печати.

Технология спрайтов - часть 8: печать спрайтов (координаты заданы в знакоместах).

Технология спрайтов - часть 9: печать спрайтов (координаты заданы в пикселях).

Технология спрайтов - часть 10: обзор программ для работы со спрайтами и графикой.

Мир звуков Спектрума - глава 1: Физика звука.

Мир звуков Спектрума - глава 2: Оператор BEEP, Создание эффектов на BEEPе, Создание музыки на BEEPе.

Мир звуков Спектрума - глава 3: Как получается звук (устройство BEEP'ра и способы звукоизвлечения).

Мир звуков Спектрума - глава 4: Программирование звука на ассемблере.

Мир звуков Спектрума - глава 4.1: Программирование звуковых эффектов - Тон, Шум, Комплексы эффектов.

Мир звуков Спектрума - глава 4.2: Программирование звуковых эффектов - Управление громкостью.

Мир звуков Спектрума - глава 4.3: Программирование звуковых эффектов - Управление тембром.

Мир звуков Спектрума - глава 4.4: Программирование звуковых эффектов - Программирование музыки.

Мир звуков Спектрума - глава 4.5: Программирование звуковых эффектов - Многоголосые мелодии (полифония).

Мир звуков Спектрума - глава 4.6: Обработка внешних сигналов - оцифровка.

Мир звуков Спектрума - глава 4.7: Обработка внешних сигналов - Реверберация.

Мир звуков Спектрума - глава 4.8: Синтезирование речи.

Мир звуков Спектрума - глава 4.9: воспроизведение звука на прерываниях.

Мир звуков Спектрума - глава 5: Оператор PLAY для музыкального сопроцессора AY- 3-8910 (AY-3-8912).

Мир звуков Спектрума - глава 5.1: Создание эффектов оператором PLAY.

Мир звуков Спектрума - глава 5.2: Создание музыки на PLAYе.

Мир звуков Спектрума - глава 6.1: описание регистров музыкального сопроцессора AY- 3-8910 (AY-3-8912).

Мир звуков Спектрума - глава 6.2: Программирование эффектов и музыки под музыкальный сопроцессор AY- 3-8910 (AY-3-8912).

Мир звуков Спектрума - глава 7: Обзор программного обеспечения ZX-Spectrum для создания звуков и музыки.

Мир звуков Спектрума - глава 7.1: Редактор звуковых эффектов SUPER SOUND.

Мир звуков Спектрума - глава 7.2: Музыкальный редактор Wham the Music Box.

Мир звуков Спектрума - приложения 1, 2: листинги звуковых эффектов SUPER SOUND'а, советы по использованию ассемблера.


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

Похожие статьи:
Вступление - Наконец-то я сделал это! Я собрал в кучу ПЕРВУЮ в истории GOMEL-NET тусовку!
Beatles Forever - "Как ветра осенние" (декабрь 1985 г).
Форум - А.Гура. Кодекс программиста.
BBS - список станций BBS ZXNet.
Огни саламандры - В основу сюжета положены две легенды: о короле Артуре и о мифическом чудовище Гигантской Саламандре.

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