Main Page News For Engineers For Developers The Emulator Micro Speccy & Micro ST Music Archives Project Vortex References

ZX Spectrum Computer Sound Chip Emulator


What is Ay_Emul?

ZX Spectrum Sound Chip Emulator (Ay_Emul) is a Windows and Linux program developed for playing music for the AY-3-8912 sound chip (or the analogous AY-3-8910 and YM2149F). Ay_Emul emulates these sound chips so you do not need the real ones. Ay_Emul can also emulate ZX Spectrum's beeper sound, and playback CD digital audio tracks and MIDI files as well. The optional BASS library by Ian Luck can be used for playing various additional formats like MP3 and MOD.

Ay_Emul can play files of the following types:

  1. Dumps (or logs) of sound chip registers recorded in many computers' emulators:
    • OUT (produced by a ZX Spectrum emulator 'Z80' v3.xx by G.A. Lunter);
    • PSG (produced by a ZX Spectrum emulator 'Z80 Stealth' by Mr.Kirill, and in many other emulators);
    • EPSG (recorded in a ZX Spectrum emulator 'Z80 Stealth');
    • YM ('StSound Project' by Leonard/Oxygen files; the supported subtypes are YM2, YM3, YM3b, YM5 and YM6);
    • VTX (files made with 'Vortex Project' by V_Soft);
    • ZXAY (custom-made for Ay_Emul).
  2. Popular ZX Spectrum musical editors' module formats:
    • ST1: Sound Tracker v1.xx non-compiled;
    • AY type ST11: Sound Tracker v1.1 non-compiled, an analog of ST1;
    • STC, ZXS: Sound Tracker v1.xx, Super Sonic v1.xx;
    • ST3: STC recompiled (in KSA's S.T. Music's Recompiler);
    • PSC: Pro Sound Creator v1.xx;
    • AS0, ASC: ASC Sound Master v0.xx-2.xx;
    • PT1, PT2, PT3: Pro Tracker v1.xx-3.xx, Vortex Tracker II v1.0;
    • STF: Sound Tracker Pro non-compiled;
    • STP: Sound Tracker Pro;
    • FTC: Fast Tracker v1.xx;
    • FLS: Flash Tracker;
    • SQT: SQ-Tracker;
    • GTR: Global Tracker v1.x;
    • FXM: Fuxoft AY Language;
    • AY type AMAD: Amadeus modules, analogous to FXM;
    • PSM: Pro Sound Maker.
  3. ZX Spectrum, Atari ST/STe or Amstrad CPC's memory dumps which include the player for Z80 or MC68000 processors:
    • AY type EMUL (DeliAY and AYPlay project files);
    • AYM (RDOSPLAY project files);
    • SNDH (Atari ST or Atari STe music files).
  4. CD audio tracks (CDA). Ay_Emul can work with several CD drives, and also with disks containing not only audio tracks.
  5. MIDI files:
    • MID, MIDI: MIDI standard format;
    • RMI: MID files wrapped in the RIFF container;
    • KAR: standard MID files with song texts for karaoke;
    • XMI: Miles Design XMIDI format.
  6. Files played by BASS library:
    • MP3, MP2, MP1: MPEG-1 encoded waveform sound recording;
    • OGG: Vorbis-encoded audio;
    • WAV: any codecs of PCM audio that are installed in the system;
    • WMA: Windows Media encoded audio (via basswma extension);
    • APE: Monkey's Audio records (via bass_ape extension);
    • FLAC: Free Lossless Audio Codec audio (via bassflac extension);
    • WV: WavPack audio (via basswv extension);
    • AC3: multichannel Dolby AC3 encoded audio;
    • AAC: Advanced Audio Coding records;
    • M4A, MP4: MPEG-4 wrapped audio (Advanced Audio Coding, Apple Lossless Audio Codec)
    • DFF, DSF: Direct Stream Digital (Sony/Philips audio format)
    • MO3: modules with MP3/OGG encoded samples;
    • IT: Impulse Tracker;
    • XM: Fast Tracker 2;
    • S3M: Scream Tracker 3;
    • MTM: MultiTracker;
    • MOD: Sound/Noise/Star/Pro/FastTracker (and many more) module format;
    • UMX: Unreal Tournament music package;
    • HTTP:// and FTP:// shoutcast streams (internet radio, etc.).

Any two of the majority of tracker modules listed within item 2 can be replayed simultaneously in Turbo Sound mode (TS, a device for ZX Spectrum with two ordinary sound chips onboard). The dedicated TS format of PT 3.7+ is also supported.

For SNDH playback, MFP, DMA-Sound timers and some TOS functions are emulated. The MC68000 emulation uses the Starscream 680x0 emulation library by Neill Corlett (corlett@elwha.nrrc.ncsu.edu). Also supported is the SNDH known music durations database by Benjamin Gerard, imported from timedb.inc.h. To install or update it, just place the timedb.inc.h file in the main folder of Ay_Emul, and sndhtimedb will be generated/regenerated at next startup. The .h file can be downloaded from the sc68 project sources.

Ay_Emul supports Winamp playlist files (M3U, M3U8), XMPlay (PLS) and its own format, AYL, as well as CUE sheets for sound streams. AYL can contain full info about each item.

Ay_Emul can be used as a powerful tool for working with AY/YM data files. The built-in Speccy music ripper can find and extract modules of many ZX Spectrum music editors in any non-compressed source data. Ay_Emul can convert modules to WAV, ZXAY, VTX, YM6 or PSG formats. Ay_Emul can playback digital sound stored in OUT, ZXAY, EPSG, AY or AYM files. Beeper music in AY and AYM formats is supported too. Ay_Emul can reproduce special effects used by Atari ST musicians and stored in YM2, YM5 and YM6 formats.

The skin files can change the look of Ay_Emul's main window.

BASS library is only loaded immediately before playing a corresponding file and unloaded right after the playback stops.

System requirements: at least Windows XP or Linux; a 80386 or greater compatible CPU is required to run the software; for playback a sound card is needed that supports 8 or 16 bit Stereo or Mono digital sound at any sample frequency in the range of 8000 to 300000 Hz and a powerful processor (by default, Ay_Emul uses a special filter to improve the quality of sound chip and beeper emulation). The requirements for playing the BASS-supported file types are DirectX 3 or above (in Windows), for MOD music a processor with MMX support too.

Distribution

Ay_Emul is distributed as archive files that contain the executable file, BASS libraries, interface translations, skins and documentation (for Windows and Linux, 32- and 64-bit, four archives in total) and an archive with Ay_Emul's source code and other required files needed to build the executable and its help system. You can download the source code from the For Developers section.

In a minimal configuration, if you just have the executable file you have a full-featured player (excluding the BASS formats) with the English interface.

If you are using Ay_Emul sources, algorithms and ideas, don't forget to credit the author of Ay_Emul.

Skin files

Skins (visual themes) help transform the looks of the main window of Ay_Emul. The Skins folder of the Ay_Emul distributive contains all the skins available at the time of its preparation were added. They have been either found on the Internet, or sent by the users.

You can make your own skins using the Skin Manager II program, instructions and one of the skin templates. All skins and the aforementioned program are published on the official site of Ay_Emul in the "Emulator" section.

To add your skin to the future distributives and to the official site of Ay_Emul, you can send it to the author of Ay_Emul.

Downloads

The most actual version of Ay_Emul is version 2.9. If you are updating and want the files to be correctly supported by Windows Explorer, do not forget to press the "Register" button in the "Tools" window at first run (even if you updating beta versions). The experimental (and rather obsolete) Ay_Emul 3.0 alpha is in an embryonic state, the VCL/LCL component library is not used in it (alpha 11 uses the KOL library, alpha 9, available in the source section, only WinAPI), due to which the size of the executable file is an order of magnitude smaller. The sources of these and other Ay_Emul versions can be downloaded from the For Developers section.

The most recent stable versions of Ay_Emul
File nameSizeDescription
Ay_Emul29-32.7z3179068 AY-3-8910/12 Emulator version 2.9 for Windows (the 32-bit build)
Ay_Emul29-64.7z3354667 AY-3-8910/12 Emulator version 2.9 for Windows (the 64-bit build)
Ay_Emul29-32.tar.gz3958959 AY-3-8910/12 Emulator version 2.9 for Linux (the 32-bit build)
Ay_Emul29-64.tar.gz4120491 AY-3-8910/12 Emulator version 2.9 for Linux (the 64-bit build)
Historical versions of Ay_Emul
File nameSizeDescription
Ay_Emul29b16.7z2543055 AY-3-8910/12 Emulator version 2.9 beta 16 for Windows (the last version supporting Windows 98)
Experimental versions of Ay_Emul
File nameSizeDescription
Ay_Emul30alpha11.7z281743 AY-3-8910/12 Emulator version 3.0 alpha 11
Skins and skin creating tools
File nameSizeDescription
SkinManagerII.7z244500 The program for making skins for Ay_Emul v2.0 and greater
Packpacka.7z2073 The template skin by TAD
2in1_Tutorial_plus_Skin_in4k_by_CwB.7z4320 The template skin with commentary by Denisov Nicholas
Wndoze.rar2972 A skin for Ay_Emul by Ironfist
ACIDsmACk.rar71322 A skin for Ay_Emul by Nikolai Aladine
Wndoze2.rar44288 A skin for Ay_Emul by Ironfist
Wndoze3.rar26876 A skin for Ay_Emul by Ironfist
SlightlyFrozen.rar64883 A skin for Ay_Emul by Nikolai Aladine
POKEMON.rar40161 A skin for Ay_Emul by Ironfist
uLtImAte.rar35004 A skin for Ay_Emul by Ironfist
Shadowed.rar18513 A skin for Ay_Emul by Ironfist
Sinclair.rar4927 A skin for Ay_Emul by Ironfist
ColdLine.rar49503 A skin for Ay_Emul by Keynol
nonamed.rar4472 A skin for Ay_Emul by Ironfist
AY_SLpro.rar50386 A skin for Ay_Emul by SoftLight
Paralysis.rar12656 A skin for Ay_Emul by Gary J Paluk
Melancholy.rar49043 A skin for Ay_Emul by z00m
WL-Stars.7z85400 A skin for Ay_Emul by WL
wl-alien.7z90551 A skin for Ay_Emul by WL
Piece.7z107147 A skin for Ay_Emul by PAD
ConceptX.7z28961 A skin for Ay_Emul by Nikolai Aladine
TechnixZ.7z31917 A skin for Ay_Emul by Nikolai Aladine
Orange.7z84195 A skin for Ay_Emul by Kyo
breeze.7z26567 A skin for Ay_Emul by breeze
Autumn.7z109654 A skin for Ay_Emul by Kigan
dizzy.7z42071 Two skins for Ay_Emul by Ivan Titov
Denvil.7z2448 A skin for Ay_Emul by Denvil
User-corrected skin versions
File nameSizeDescription
breeze'.7z26775 The skin "breeze" by breeze (fixed by TAD)
Denvil'.7z13550 The skin "Denvil" by Denvil (several remakes by TAD)

Read more on unpacking the archive files at the Unpacking page.
Music for Ay_Emul can be found in the Music Archive section.
Site author Sergey Bulba
Web design Ivan Reshetnikov
Copyright © 1999,2024 S.V. Bulba