Что делает Ay_Emul

Программа "Эмулятор музыкального сопроцессора ZX Spectrum" для Windows или Linux (далее Ay_Emul) предназначена для проигрывания музыки, написанной для музыкального сопроцессора AY-3-8912 (или его аналогов, таких как AY-3-8910 и YM2149F). Проигрывание осуществляется путем эмулирования, то есть наличие настоящих микросхем не требуется. Также Ay_Emul умеет проигрывать музыку для динамика ZX Spectrum (упрощённая эмуляция бипера). Дополнительно в Ay_Emul встроена возможность проигрывания аудиодорожек компакт дисков и MIDI-файлов. С помощью дополнительной библиотеки BASS Ian'а Luck'а Ay_Emul может проигрывать цифровые трекерные модули и звукозапись.

Ay_Emul может проигрывать файлы следующих типов.

  1. Дампы регистров, записанные в эмуляторах различных компьютеров:
  2. Модули популярных музыкальных редакторов ZX Spectrum:
  3. Дампы памяти ZX Spectrum, Atari ST/STe или Amstrad CPC, содержащие проигрыватель для процессора (Z80 или MC68000):
  4. Аудиодорожки компакт дисков (CDA). Предусмотрена возможность работы сразу с несколькими приводами CD, а также с дисками, содержащими не только аудиодорожки.
  5. MIDI-файлы:
  6. Файлы, проигрываемые библиотекой BASS:

Два из большинства указанных в п.2 типов трекерных модулей могут играться одновременно посредством специального формата в режиме Turbo Sound (TS, устройство для ZX Spectrum, позволяющее одновременно подключить два музыкальных сопроцессора). Также поддержан TS-формат PT v3.7 и старше.

При проигрывании SNDH эмулируются таймеры MFP, DMA-Sound, а также некоторые функции TOS. Для эмуляции MC68000 используется библиотека Starscream 680x0 emulation library by Neill Corlett (corlett@elwha.nrrc.ncsu.edu). Поддерживается база данных продолжительности SNDH-музыки от Benjamin Gerard, если timedb.inc.h или sndhtimedb обнаруживаются в папке Ay_Emul. Чтобы использовать или обновить, просто поместите исходный файл timedb.inc.h в папку Ay_Emul, и sndhtimedb будет сгенерирован/перегенерирован при следующем запуске. Указанную базу можно найти в исходниках проекта sc68.

Ay_Emul поддерживает списки проигрывания (плейлисты) Winamp'а (M3U, M3U8), XMPlay (PLS) и собственного формата (AYL), для звуковых потоков также поддержана разметка звуковых дорожек в формате CUE. AYL может содержать полный набор параметров для каждого элемента списка.

Ay_Emul может использоваться как мощный инструмент для работы с файлами музыкального сопроцессора. Встроенный риппер может отыскать в заданных несжатых файлах модули большинства спектрумовских музыкальных редакторов. Ay_Emul может конвертировать файлы в WAV, ZXAY, VTX, YM6 или PSG форматы. Ay_Emul проигрывает цифровую музыку, хранящуюся в OUT, ZXAY, EPSG, AY или AYM файлах. Также проигрывается и музыка для бипера ZX Spectrum (форматы AY и AYM). Поддержано проигрывание специальных эффектов, используемых музыкантами с Atari ST и предусмотренных форматами YM2, YM5 и YM6.

Главное окно Ay_Emul может быть оформлено сторонними дизайнерами благодаря поддержке обшивок (скинов AYS).

Библиотека BASS загружается только перед проигрыванием файла соответствующего типа и выгружается по окончании его проигрывания.

Требования программы: операционная система Linux либо Windows XP или старше, для работы нужен процессор 386 или старше, а для проигрывания звуковая карта, поддерживающая воспроизведение 8- или 16-битного стерео или моно звука с любой частотой сэмплов из диапазона от 8000 до 300000 Гц, и высокопроизводительный процессор (по умолчанию включен фильтр, позволяющий получить более качественную эмуляцию как сопроцессора, так и бипера). Требования BASS для проигрывания соответствующих файлов следующие: DirectX 3 или выше (для Windows), для проигрывания MOD-файлов требуется процессор с поддержкой MMX.