Realtime Audio Player

Материал из SpeccyWiki
Перейти к: навигация, поиск

Realtime Audio Player - плеер для звуковой карты General Sound. Позволяет проигрывать звуковые wav-файлы прямо с дискет в реальном времени. Доступные частоты дискретизации: 6300 - ~12500 Гц. Разработан psb/Halloween (code) совместно с Blade/Triumph (graphics) в 2000-2001 годах.

Требования к железу

Для работы плеера необходим любой Spectrum-совместимый компьютер с памятью не менее 128 КБ, дисковой системой TR-DOS и звуковой картой General Sound 128/512 КБ.

Принцип работы

Так как в штатной прошивке GS отсутствует подобный функционал, плеер реализован прямым программированием GS: в карту загружается специальная программа, которая организует кольцевой буфер во всей имеющейся памяти, а также плеер, проигрывающий этот буфер. Спектрум, со своей стороны, максимально быстро читает данные с дискеты и отправляет в GS. При скорости поступления данных в GS больше скорости их проигрывания обеспечивается непрерывное проигрывание звука.

Особые возможности

  • Внутри GS звук ресэмплится на частоту прерываний - 37500 Гц, при этом можно использовать либо настраиваемые НЧ фильтры, либо линейную интерполяцию.
  • Для чтения дискет применен особый турбо-загрузчик, который при ошибке чтения сектора не пытается прочитать его опять (т.е., ждать полный оборот диска), а читает остальные сектора дальше и лишь на следующем обороте дочитывает непрочитанные сектора.

Формат дисков

На дискетах используется свой, более оптимальный формат: 5 секторов по 1024 байта плюс один информационный сектор 128 байт (подробное описание формата есть в файле с описанием программы). Таким образом, под музыку доступно 800 килобайт/дискету. Дискет может быть несколько, при проигрывании на единственном дисководе, их необходимо оперативно менять.

Ссылки

http://zxaaa.untergrund.net/get.php?f=DEMO3/rappack.zip - пак с плеером, утилитами и образами с музыкой (для эмулятора).