ZX Spectrum's 1-Bit Beeper Now Plays High-Quality Digital Audio
Digital Audio on the ZX Spectrum's 1-Bit Beeper
Michael C. Martin wraps up his ZX Spectrum series by demonstrating how to produce high-quality digital audio from the 1-bit beeper on every Spectrum model. After two rewrites, he achieved PCM playback that works on real hardware and emulators, though the sound is soft without an amplifier and consumes nearly all RAM. He also compares his approach to Dmitry Milk's Spectrum sound engines and Michael J. Mahon's RTSynth for the Apple IIe.
It took me two complete rewrites before I landed on something that worked at all, and even then it barely fit into the timing constraints I’d set for myself.
- socializer
Doing stuff like this in the 8-bit era was never particularly hard. The difficulty was doing this and then anything else, because you basically need the entire CPU just for audio synthesis. For games, there was a very real trade-off between calculating video, game state, and sound, and sound often took the back seat.
It's also why everything looked and sounded better on 8-bit computers that had hardware support for graphic sprites or sound generation, even if they had a less powerful CPU. And it's the untold story behind why 16-bit graphics looked so much better: it wasn't about the CPU as much as it was about having a dedicated video card / chipset with its own memory, a sound card that handled polyphonic sound and MIDI synthesis, etc.
- urbandw311er
I have a memory of a Spectrum game playing some sort of synthesised speech through the speaker that seemed incredibly ahead of its time. I believe the game was called iBall. And the sample said something like “Fight iBall!” Have I misremembered that? Was this a fever dream?
- musha68k
Due to all the constraints the ZX Spectrum is a fantastic system for recreational programming; too bad I missed the latest Spectrum Next batch last year.