Digital Audio on the ZX Spectrum's 1-Bit Beeper

(bumbershootsoft.wordpress.com)

63 points | by ibobev 2 days ago

12 comments

  • socializer 22 hours ago
    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.

  • lproven 1 hour ago
    I wrote a Reg article based on this:

    https://www.theregister.com/offbeat/2026/09/13/the-improbabl...

    I got some valuable links to tunes from a previous HN thread:

    https://news.ycombinator.com/item?id=49611230

    It was just 3 weeks ago...

  • qingcharles 12 hours ago
    Does the Speccy have enough outputs on the edge connector to make a simple DAC like the parallel port ones we used to make with a bunch of resistors for the PC?

    e.g. the homemade versions of this:

    https://en.wikipedia.org/wiki/Covox_Speech_Thing

    • bzzzt 6 hours ago
      Nice idea, it has 8 data lines, so 8 bits audio should be possible.
  • urbandw311er 23 hours ago
    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?
    • stevekemp 20 hours ago
      Robocop was another game with sampled speach, not yet mentioned:

      https://www.youtube.com/watch?v=Dy8kZcGz98U

      There were a few games (in later years) with speach/audio. But Robocop was one that stands in my memory for the good music.

    • flohofwoe 23 hours ago
      Another Speccy game with digitized speech is Chase HQ:

      https://youtu.be/yjrbcLm78I8?si=GMIqDdL31hq4ik72&t=87

      Although tbf apparently that's done via the AY sound chip of the 128k, which is a lot easier than through the on/off beeper of the 48k since the AY can do digitized audio via CPU-driven volume modulation.

    • darrenf 21 hours ago
      The 128k version of Nodes of Yesod had some speech, albeit I think it was just the name of the game. My older brother told me a kid in his class got paid big bucks - like, I dunno, £50 or something? - for coding it. Almost certainly bollocks.

      For high quality speech, you could get the Currah μSpeech! https://en.wikipedia.org/wiki/Currah#Currah_%CE%BCSpeech_for...

      I swear there was one symbol it pronounced "flea bleep".

      • dcminter 18 hours ago
        For some reason "5", even if constructed as phonemes came out as "frame" - I always wondered why. I've never seen it mentioned in the various short pieces about it online including its contemporary reviews. I wonder now if it was a bug in the particular rom I had and it was fixed early enough to not get much visibility.
    • McDyver 22 hours ago
      I remember the "Codemasters Jet Bike Simulator". I always found it impressive

      (And there was a "Get ready!" which I didn't remember)

      https://www.youtube.com/watch?v=hRW9vW3_M3o&t=8

    • jesuslop 22 hours ago
      I remember "Rocman", how hearing a human voice coming from a 1-bit beeper sounded like sorcery: https://youtu.be/iuT0hxjLCzc?t=95
    • dronacharya 9 hours ago
      Jonah Barrington's Squash used synthesised speech for scores
    • _usefulcat 23 hours ago
      You might be right! I had a copy of 'Slightly Magic' which had some speech synthesis. Great game. Never completed it though
    • KnightLore 23 hours ago
      You remembered correctly!

      https://zxart.ee/prod/101558

  • regularfry 22 hours ago
    There was a music editor I remember getting on a late Your Sinclair edition cover tape which displayed proper music staves and gave you 4-note chord output. Blew my mind a bit at the time.
  • musha68k 22 hours ago
    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.
  • ValdikSS 21 hours ago
    This reminded me of a recent very detailed video on polyphony implementation on 8052

    https://news.ycombinator.com/item?id=49895486

    There's also a phone with YM2149

  • 2a0c40 22 hours ago
    And who could possibly forget Chronos' title music, by Tim Follin?

    https://www.youtube.com/watch?v=u-D24A_N4d4

  • amiga386 12 hours ago
    See also what the C64 could achieve, via the demo "Cubase64"

    https://www.youtube.com/watch?v=PTGkf21UpJ8

    How it works: https://livet.se/mahoney/c64-files/Cubase64_White_Paper_by_P...

  • stackedinserter 22 hours ago
    ZX's audio and video systems are two things that I never missed.
  • corbinvachal 23 hours ago
    The computed jump into a NOP sled is a nice trick for getting a fine-grained delay without spending registers on a counter. I'm curious how much contended memory got in the way: on the 48K, code or sample data sitting in the lower 16K gets stalled by the ULA during screen fetch, which seems like it would wreck cycle-exact pulse widths unless everything lives above 0x8000. Did you end up having to place things carefully for that, and did the 128K/+2/+3 contention differences show up in the hardware tests? It's also interesting that the first attempts mostly produced the 8kHz carrier, since that's squarely in the audible range where the PC's 16kHz-ish carrier was easier to ignore.