Before sound cards brought us polyphonic music and CD-quality PCM (pulse-code modulation) audio recordings, a PC could make exactly one noise through its internal PC speaker system: a square wave, output through a dynamic speaker driven by the computer’s timer chip.
Launched in 1981, the IBM 5150 Personal Computer had an internal 2.25-inch (5.7cm) speaker, designed to produce BIOS error codes to help diagnose problems at boot. It was driven by the Intel 8253 Programmable Interrupt Timer, the same piece of hardware that handled system timing. While Timer Channel 0 was used for system synchronization, Timer Channel 2 was used to send square waves to the internal speaker, making it beep.
By the 1990s, the 8253 had been superseded by the Intel 8259 Programmable Interrupt Controller (PIC), and these days, you’ll find a modern hardware equivalent on your motherboard’s southbridge in the form of an Intel Advanced Programmable Interrupt Controller (APIC) variant. All of them retain PC internal speaker functions.
As PC sound card adoption grew through the 1990s, fewer games used the integrated beeper and smaller piezoelectric speakers would become more commonplace. These were quieter, and lacked the versatility and subtlety of a larger dynamic speaker, making some fancier audio effects far less distinct and often too quiet.
Many modern PCs no longer come with any kind of speaker. But motherboards still have the header connector, so you can still install one and listen to audio designed for an internal beeper as it was meant to be heard.
Internal PC speaker – monophonic audio
Whichever way your PC beeper sound is implemented, it’s monophonic, which means it can only produce one tone at a time. But, as with other very limited early computer audio standards, that wasn’t going to prevent composers from doing remarkable things with it.
Beyond simple system beeps, the easiest music to persuade a PC speaker to reproduce is single-tone melodies. A series of instructions is sent to the timer via the CPU, using the programming language of your choice, telling it to produce a series of tones at a specified frequency.
Sound effects in games also started out as simple beeps, but programmers soon started getting clever, rapidly changing the tones being sent to the speaker to produce complex audio effects. Apogee Games mastered the art of creating convincing – or at least distinctive – PC speaker effects in titles including Commander Keen and Hocus Pocus.
You technically can’t play polyphonic music on hardware that can only produce one voice at a time but, as it transpires, there are ways around this problem. Probably the most widely used approach to this is arpeggiation, where a pseudo-polyphonic effect is achieved by rapidly switching from one tone to another – anywhere up to 120 times a second – to give the impression of chords to the listener.
A number of games, including the 1990 PC version of The Bitmap Brothers’ Xenon 2 Megablast in 1989, the PC port of Sega’s Golden Axe in the same year and Magnetic Fields’ Lotus III in 1992, create two or three virtual audio channels and alternate which of them is directed to the timer chip, allowing basslines to be rapidly switched into the music. The results often sound harsh and busy, but produce a rather effective impression of polyphony.
A combination of these techniques was used to even better effect in LucasArts’ PC speaker music, such as the remarkable beeper rendition of the main theme from The Secret of Monkey Island (1990), where the sophisticated use of fast trills and an alternating percussive channel created the impression of steel drum chords backing the main melody.
Other techniques made more direct changes to the way the PC speaker’s sound output worked. Windmill Games’ 1983 booter game Digger and its iconic use of Hot Butter’s Popcorn as its in-game theme is thought to be the earliest title to use pulse width modulation (PWM) as a method of producing more sophisticated sound, with a variable volume and harmonies.
Also used in numerous ZX Spectrum games, PWM uses careful timing of the signals sent to the PC speaker to modulate its usually binary voltage levels, forcing the speaker into a range of partially on positions to produce sine waves. This can effectively turn the speaker into a 1-bit DAC (digital-to-analog converter).
Also heard in titles including Hard Drivin’ and Fantasy World Dizzy, this approach can be used to play a pre-generated soundtrack, rather than using the timer chip to directly generate square wave tones. However, even at 1-bit, this sound reproduction was often CPU-intensive and the resulting audio’s low quality grates on many listeners.
Later, Access Software’s RealSound technology used a near-inaudible carrier wave and fine-grained control of the PC speaker’s displacement amplitude to produce 6-bit digitized audio, giving us surprisingly high-quality speech and music in games including Mean Streets, World Class Leaderboard Golf and Legend Entertainment’s Spellcasting series.
By 1992, even Microsoft was in on the game, releasing a driver for Windows 3.1 that allowed any PCM WAV file to be output via the internal speaker. As sound cards, CD-ROM games, and then integrated motherboard audio became ubiquitous, the need to write dedicated timer chip music or kludge samples through the internal beeper evaporated, and PC speaker audio vanished from audio selection screens.
The internal PC speaker today
Today, PC speaker music isn’t as dead as you might expect. Although less iconic than the C64 or NES audio systems, you can hear its influence in the modern chiptunes music scene.
In February 2019, Russian composer Shiru released System Beeps, an entire album written for the PC speaker and using some of the most sophisticated arrangement, arpeggiation and hearing perception tricks we’ve heard to create an illusion of polyphony. There is, of course, a DOS version of the album, but if you don’t happen to have any classic PC hardware (or a copy of DOSBox), it’s also available to buy in conventional digital formats.
Shiru used modern Digital Audio Workstation software to compose System Beeps and has made relevant plug-ins, projects and source code available for anyone else who wants to play with them.
Shiru isn’t alone in working on music creation tools for your internal beeper. BaWaMI, created by Robbi-985, is a Windows MIDI synthesizer that will output via PC speaker. If you’re so inclined, you can still hear and make new music for the PC’s oldest audio device.
We hope you’ve enjoyed this retrospective about the PC internal speaker, and we’re very glad to say that PC audio is now in a whole different league. If you’re looking to buy a new set of speakers for your PC then make sure you check out our guide to the best computer speakers, where we take you through the best options at a range of prices. One of our current favorite sets is the Creative Gigaworks T20 Series II, which costs just $70.
For more vintage PC and DOS gaming content, check out our full feature on CGA graphics, as well as our Retro Tech page, and our full guide on how to build a retro gaming PC.