Скачать Воспроизведение PCM звуков через PC-Speaker

23.06.2000
Скачать файл (202,31 Кб)

Воспроизведение PCM звуков через PC-Speaker.

На PC-Speaker может подаваться только прямоугольный сигнал - либо ток есть, либо его нет, но некоторые ухищрения позволяют воспроизво- лить через него звук, записанный в импульсно-кодовой модуляции (PCM). Если подать на динамик прямоугольный сигнал с частотой заведомо выше максимальной частоты, которую он может воспроизвести, то из-за инерт- ности мембраны и электрических цепей мембрана колебаться не будет, а отклониться на определенное расстояние. Далее, если мы будем менять скважность сигнала произойдет изменение отклонения мембраны. Меняя та- ким способом отклонение мембраны с частотой выборки, мы сможем воспро- извести звук.
В данной программе применена несколько упрощенная схема - на про- тяжении времени, соответствующего одной выборки, часть этого времени сигнал есть, а остальную часть - нет. Это достигается использованием особого режима микросхемы таймера: после загрузки числа в регистр де- лителя на выходе микросхемы появляется сигнал, а по истечении времени, соответствующего этому числу - пропадает. Числа загружаются в делитель по прерыванию таймера, который запрограммирован на частоту выборок.

      Сигнал
     +--+      +------+  +-------+ +-----+   +---+     +-+       |
     |  |      |      |  |       | |     |   |   |     | |       |
     +--+------+------+--+-------+-+-----+---+---+-----+-+-------+
     |         |         |         |         |         |         |
     |    1    |    2    |    3    |    4    |    5    |    6    |
      Выборки

Во время воспроизведения другие прерывания, кроме таймера, замас- кированы, хотя этого можно и не делать.

Содержимое архива:

PLAY     PAS - Тестовая программа, воспроизводящая произвольные RAW файлы.
PLAYRAW  PAS - Модуль для воспроизведения RAW файлов (uses PlaSnd).
PLAYSND  PAS - Собственно модуль для извлечения звуков из PC-Speaker'а.
SNDEMO   PAS - Тестовая программа,  воспроизводящая RAW файлы из этого ка-
               талога (uses PlayRaw).
WAV2RAW  PAS - Программа преобразования WAV файла в RAW.
...................