PC speaker


A PC speaker is a loudspeaker built into some IBM PC compatible computers. The first IBM Personal Computer, model 5150, employed a standard 2.25 inch magnetic driven speaker. More recent computers use a piezoelectric speaker instead. The speaker allows software and firmware to provide auditory feedback to a user, such as to report a hardware fault. A PC speaker generates waveforms using the programmable interval timer, an Intel 8253 or 8254 chip.

Usage

BIOS error codes

The PC speaker is used during power-on self-test sequence to indicate errors during the boot process. Since it is active before the graphics card, it can be used to communicate "beep codes" related to problems that prevent the much more complex initialization of the graphics card to take place. For example, the Video BIOS usually cannot activate a graphics card unless working RAM is present in the system, while beeping the speaker is possible with just ROM and the CPU registers. Usually, different error codes will be signaled by specific beeping patterns, such as e.g. "one beep; pause; three beeps; pause; repeat". These patterns are specific to the BIOS manufacturer and are usually documented in the technical manual of the motherboard.

Games

The PC speaker was often used in very innovative ways to create the impression of polyphonic music or sound effects within computer games of its era, such as the LucasArts series of adventure games from the mid-1990s, using swift arpeggios. Several games such as Space Hulk and Pinball Fantasies were noted for their elaborate sound effects; Space Hulk, in particular, even had full speech.
However, because the method used to reproduce PCM was very sensitive to timing issues, these effects either caused noticeable sluggishness on slower PCs, or sometimes failed completely on faster PCs. Also, it was difficult for programs to do much else, even update the display, during the playing of such sounds. Thus, when sound cards became mainstream in the PC market after 1990, they quickly replaced the PC speaker as the preferred output device for sound effects. Most newly released PC games stopped supporting the speaker during the second half of the 1990s.

Other programs

Several programs, including MP, Scream Tracker, Fast Tracker, Impulse Tracker, and even device drivers for Linux and Microsoft Windows, could play pulse-code modulation sound through the PC speaker using special techniques explained later in this article.
Modern Microsoft Windows systems have PC speaker support as a separate device with special capabilities – that is, it cannot be configured as a normal audio output device. Some software uses this special sound channel to produce sounds. For example, Skype can use it as a reserve calling signal device for the case where the primary audio output device cannot be heard.

Pinouts

In some applications, the PC speaker is affixed directly to the computer's motherboard; in others, including the first IBM Personal Computer, the speaker is attached by wire to a connector on the motherboard. Some PC cases come with a PC speaker preinstalled. A wired PC speaker connector may have a two-, three-, or four-pin configuration, and either two or three wires. The female connector of the speaker connects to pin headers on the motherboard, which are sometimes labeled or.
Pin NumberPin NamePin Function
1-SPSpeaker negative
2GND or KEYGround, or unwired key
3GNDGround
4+SP5VSpeaker positive +5V DC

Pulse-width modulation

The PC speaker is normally meant to reproduce a square wave via only 2 levels of output. However, by carefully timing a short pulse, and by relying on the speaker's physical filtering properties, the end result corresponds to intermediate sound levels, functioning as a crude digital-to-analog converter. This technique is called pulse-width modulation and allows approximate playback of PCM audio.
With the PC speaker, this method achieves limited quality playback; the quality depends on a trade-off between the PWM carrier frequency and the number of output levels. The clock rate of the PC's programmable interval timer which drives the speaker is fixed at 1,193,180 Hz, and the product of the audio sample rate times the maximum DAC value must equal this. Typically, a 6-bit DAC with a maximum value of 63 is used at a sample rate of 18,939.4 Hz, producing poor but recognizable audio.
The audio fidelity of this technique is further decreased by the lack of a properly sized dynamic loudspeaker, even moreso in modern machines and particularly laptops, that use a piezoelectric speaker. The reason for this is that PWM-produced audio requires a low-pass filter before the final output in order to suppress switching noise and high harmonics, something that a normal dynamic loudspeaker can do on its own right, while a piezoelectric speaker will let much switching noise pass, as will many direct couplings.
This use of the PC speaker for complex audio output became less common with the introduction of the Sound Blaster and other sound cards.