Информационный сервер для программистов: Исходники со всего света. Паскальные исходники со всего света
  Powered by Поисковый сервер Яndex: Найдется ВСЁ!
На Главную Pascal Форум Информер Страны мира
   Звуки и Музыка    >>    pcm_pcsp
   
 
 Воспроизведение PCM звуков через PC-Speaker   Eugene Zagidullin 23.06.2000

Программа для воспроизведения звука, записанного в импульсно-кодовой модуляции (PCM), через встроенный динамик.



197k 
 

Воспроизведение 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. WAVINFO PAS - Получен