Monday, July 21, 2008

PC speaker

The PC speaker is the most primitive sound system used in IBM compatible PCs. It was the only source of sound available to PC games before more technologically advanced sound cards such as AdLib and Sound Blaster were introduced as ISA plug-in cards in the late 1980s. However, even some years after these sound cards became mainstream and widely used, game manufacturers continued to support speaker sound/music in their games in order to maximise their customer base. This was in part due to the fact that sound cards did not originally follow any commonly agreed-upon standard and were largely incompatible with each other, whereas the PC speaker was the only sound system that could be regarded as universally present.

The PC speaker is best characterized by its inability to play more than one tone at once, the waveform being generated by the Programmable Interval Timer. Because of this, it was often nicknamed a PC beeper or PC squeaker, especially when sound cards became widely available. In spite of its limited nature, 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 programs, including MP (Module Player, 1989), ScreamTracker, Fast Tracker, Impulse Tracker, and even a Microsoft Windows device driver, could play pulse-code modulation (PCM) sound through the PC speaker using special techniques explained later in this article. 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 (that is, significantly faster than the program was originally developed for).

All modern operating systems include a generic sound API, so that applications no longer need to know the specifics of each sound card. Correspondingly, the use of high-quality sound hardware has become commonplace. As a result, the PC speaker today deals mainly with low-level warning signals such as start-up errors. Regardless, the speaker's interface has remained the same and as such can still be utilized (as long as it hasn't been reduced to an onboard miniature piezo speaker, whose acoustic properties are significantly different from the older paper cone speakers such that most of the more complex sound generation techniques no longer work)

No comments: