Article History
33% brightentayle
zxbeep (format)

ZX Spectrum beeper


Point Type:
File Types:
Max Filesize:
1bit beeper music - made for the Sinclair ZX Spectrum, controlled by the Z80 processor.
Submission should be able to play back on real hardware (or in an emulator)!
  1. Tools
  2. A Very Definitive List Of Beeper Engines
  3. Tracker List
  4. Accepted file format
  5. Playback (for voting)
  6. Render to MP3
  7. See also
The ZX Spectrum beeper is a simple audio coil controlled by the Z80 processor. It is present in all models but more popular with the 48K edition before the introduction of the AY-3-8912 soundchip (more or less identical to Atari ST's YM2149).

It's possible to make melodies far more impressive than just bleeping and blooping, but such songs actually tend to eat up more RAM than Crysis would on a 486 computer - you've got very little processor power for stuff moving on the screen (which better fits for reading key input), so just about all games on ZX Spectrum that feature beeper music don't have it during the gameplay, only in the main menu. But hell, is that really gonna stop you from enjoying it?

NOTE: If you really need a crash course on how to do beeper tracks, see I Am New To ZXBeep article.


Wanna make this little one-bit bastard speaker be proud of itself? Go ahead then, pick your poison.

A Very Definitive List Of Beeper Engines

- Huby - 2ch+d. Used for games more than for the actual listenable chiptune songs, but you still might give it a shot. Notable for its' incredibly compact size, which also goes for the song data. The drum channel, however, can play only one drum sample throughout... all of its existence. ,_,
- Phaser1 - 2ch+d/dd. Ch1 can be phased, ch2 can have one of the many defined instruments. Drums might be either digital or synthed; in case of the first, the song will consume more space and the drums will silence the song as they play; in case of the latter, it's the exact opposite, except they don't sound as cool. :D
- Savage - 2ch+d. The only engine so far to feature shit-a-ton of effects that make it all (relatively) flexible, as well as a standalone Effect column (which converts a tone note to a powerful drum sample on ch1 and to a "coily" note on ch2). What also makes it sweet is the arpeggio support!
- Special FX - 2ch+d. Also known as Fuzz Click. Pretty much, the synonymia of zxbeep! ^,^ Both tone channels have a "coily" sounding and a sustain effect (which serves as a fadeout time amount: the smaller - the shorter). Ch2 is somewhat louder than ch1, which allows for the pretty limited use of echoes. Slightly detuned beyond octave 3,5.

Obscure and modern
- Beep Tracker - 5ch+dd. An experimental attempt to remake Tim Follin's 5ch engine. Features volume control, lots of effects, eight digital drum samples and horrible detune beyond octave 3.
- Electric Duo - 2ch. A new beeper engine by krue, currently has experimental support in 1tracker. To be more specific, it's not for ZX Spectrum 1-bit music, but for Apple II (which is quite an idea for a wildchip compo).
- Phaser2 - 2ch+d. A follow-up to Phaser1, except with more customization and no digital drums at all. On the other hand, you can define how will synthed drums sound like, all by yourself, too!
- POWW - 2ch+d. It's possible to change the waveform on ch1. Adjusting speed in it might be tricky, considering that the speed also depends on what settings are set in the first channel. The drum channel can do only two samples.
- Octode - 8ch+d. The most record amount of channels held on a beeper so far. Features eight drum samples.
- Stocker - 2ch+d. Special FX with cream and cherry on the top: now it features more adequate volume control, slides and arpeggios! The only downside is that you need to get along with Vortex Tracker II first.
- Tritone - 3ch+d. Features sounding a-la Savage, but is in fact MORE flexible than that, allowing for 8 different pulse wave widths and a dozen of drum samples.
- QChan - 4ch+d. Say, it's basically Special FX on four channels! Limitations to note: global volume support only, only one note length per channel on one pattern.
- ZX-10 - 4ch. Each channel may have its own level of decay.

Obscure and undigged
- Earth Shaker and Lyndon Sharp's 2ch - 2ch+d. Both have only two drum samples to back it up with.
- Plip Plop - 1ch+d. Something you'd easily call a one-channel version of Earth Shaker engine. Except this one has pitch bending feature!
- Tim Follin's 3ch - 3ch. Used by the man himself for his early beeper works, such as Vectron.
- ZX-7 - 8ch. The only eight-channel music routine before the introduction of Octode. Which is slightly better, because it has drum samples. It's still a classic, though.
- tBeepr - 2ch+d. In a nutshell, it's basically Music Synth 48K with drums. Recovered and cleaned up by introspec from his old 1995 game, Tank Battle. Examples from the same game can be found here
. The engine restoration is still a work in progress.
- ntropic - 2ch+d+d. A beeper engine by irrlicht project. Able to produce fixed-frequency white noise. Another cool quirk of it is that it's able to produce border effects in sync with the song.

Not really used for awesome tracks
- WHAM! The Music Box and Music Synth 48K - 2ch. While both tone channels have a different sounding, neither of them features drums (okay, Music Synth does, but they're somewhat loud and lousy) or effects of any kind. Let alone it sounds pretty much retarded even by zxbeep's standards. x_x
- ROM Beep and maybe Ramford - 2ch. These are not to be used for aesthetical purposes but rather for making beeper demos or games that actually have some music during the gameplay, given how much power they both consume (read: next to none). The way those two engines work is simple - there's a relatively long pause after each beep, so the CPU would still have enough time to calculate other stuff.

Sexmodit tier
- Sample Tracker - d3ch. As the title suggests, it's entirely sample-based. Originally created specifically for the AY (hence the three-channel support), but also features built-in beeper playback support, although at pretty dreadful quality (especially when emulated). Since it's a native Spectrum tracker, it's pretty tricky to work with, let alone there has been a bunch of tools to load/convert samples.

Tracker List

- Orfeus Music Assembler
- this is Special FX engine, basically redone for the masses by the kind Czech guys from Proxima Software. Uses note sheet tool instead of the tracker format we all know and love. Was pretty much the tool for creating awesome beeper music back in a day, but now it's kinda obsolete.
- Phaser1
- Shiru's own tracker for creating tunes on Phaser1. Say goodbye to the patterns, your song's gonna be a one huge pattern from now on! ^,^
- Music Box T.E.
and Music Synth T.E.
- same as Phaser1, except done for WHAM! The Music Box and Music Synth 48K respectively.
- Beep Tracker
- Pretty much the only tracker that could tackle its' own eponymous engine. The earlier build features a more pleasant sound setup, but does not save modules more than 5,2KB large. This link
features the compilable player for the engine's songs, if you can push it off for an OHB! ^,^
- Sample Tracker
- Creador Musical II

- ZX-7

On Windows
- Beepola - supports Special FX, Phaser1, WHAM! The Music Box, Music Synth 48K, Savage, Plip Plop, Huby, Tritone and QChan engines.
- 1tracker - supports Earth Shaker, Tim Follin's 3ch, Huby, Lyndon Sharp's 2ch, Octode, POWW and ZX-10 engines. Also has an unofficial, plug-in support for Electric Duet, an engine for 1-bit Apple II music.
- Bintracker
by Irrlicht Project- supports Betaphase, PhaserX, PhaseSqueek and Pytha engines.
- Furnace Tracker - contains a custom 6ch engine programmed by tildearrow.

Engines without a special tracker
- Stocker
- generates .sna files out of the aforementioned Vortex Tracker II/Pro Tracker 3.X. modules.
- Phaser2
- for now, requires editing the song's ASM data internally. ,_,

Some of the above require SjASMplus
to compile properly.

Accepted file format

NOTE: Despite the officially listed "accepted file formats", .tap is the preferred file format for zxbeep entries on BotB.

In Beepola, you can find 'Compile song...' in the tools menu to create a .tap file.

Playback (for voting)

Use Fuse
or ZXspin

Render to MP3

In Beepola you can export the song to .WAV under 'Tools' in the menu. Use another tool (e.g. Audacity) to convert to MP3.

See also

- I Am New To ZXBeep
- Huby
- Octode
- Phaser1
- Savage
- Special FX
- Stocker
- Tritone

Battle Formats
Sound Chips
2a03 · adlib · amy · AY YM · GameBoy Advance · Huby · MDX · MIDI · Octode · Phaser1 · Savage · SID · spc · Special FX · Tritone · YMZ280B · Z80 · zxbeep