Главная » Программирование звука » Аппаратные средства Amiga

0

Файлы  MOD  первоначально  разрабатывались  для  машин  платформы  Amiga и  сильно  зависели  от  соответствующих  звуковых  аппаратных  средств.  Поэтому я  считаю  нужным  вкратце  обсудить  их,  что  облегчит  понимание  файлового  формата. Нет ничего  удивительного в том, что более поздние форматы не строго соответствуют  звуковой  подсистеме  Amiga.  Однако  вместо  того  чтобы  стремиться к   аппаратной   независимости,   многие   новые   варианты   учитывают   особенности специфичных звуковых карт PC.

Звуковая  подсистема  Amiga  предоставляет  четыре  независимых  канала,  которые нумеруются от 0 до 3. Каналы 0 и 3 соединены с левым громкоговорителем; каналы  1  и  2   с  правым.  Каждый  канал  программируется  отдельно.  Для  получения  центрированного  звука  необходимо  задействовать  два  из  четырех  каналов. Более поздние форматы отличаются от модели Amiga тем, что позволяют использовать  выборки  стереозаписи  и  обеспечивают  раздельное  управление  громкостью для левого и правого каналов как поканально, так и поинструментно.

Звуковая подсистема Amiga была разработана для воспроизведения музыки. Что интересно, период звучания инструментов может быть неопределенно долгим. Если вы включите синтезатор и нажмете клавишу, то инструмент будет издавать звук до

тех  пор,  пока  вы  ее  не  отпустите.  При  конфигурировании  звуковой  подсистемы Amiga ей передается начальная и конечная точки семпла, а также начальная и конечная точки области повторения. Ha рис. 23.1 показана запись звучания простого инструмента с областью повторения.

При  воспроизведении  звука  подсистема  будет  проигрывать  отсчеты  до  тех пор, пока не достигнет конечной точки, а затем снова начнет свою работу с точки повторения.   Циклическое   воспроизведение   выделенной   области   длится   до   тех пор,  пока  канал  явно  не  будет  перепрограммирован.  Получающийся  в  результате звук показан на рис. 23.2.

Аппаратная часть может проигрывать отсчеты на разной скорости. Точное значение  скорости  контролируется  аппаратным  делителем.  Amiga  содержит  основной  тактовый  генератор,  работающий  на  частоте  3,575872  МГц.  Если  установить для  делителя  значение  447,  то  звуковая  подсистема  будет  проигрывать  3575872/

447 ? 8000 отсчетов в секунду.

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

Кроме  того,  управление  громкостью  ведется  раздельно  для  каждого  канала. Чтобы  отфильтровать  гармоники  дискретизации,  можно  воспользоваться  фильтром выходного сигнала. Он ослабляет частоты, превышающие 4000 Гц.

Источник: Кинтцель Т.  Руководство программиста по работе со звуком = A Programmer’s Guide to Sound: Пер. с англ. М.: ДМК Пресс, 2000. 432 с, ил. (Серия «Для программистов»).

По теме:

  • Комментарии