Wednesday, January 22, 2014

Bleeps to Speech

A PC Speaker is the chip that bleeps and bloops on your computer. Confusingly, it is different from the speakers we would normally plug into computer sound cards.

The PC speaker was designed to reproduce a square wave (in other words, the sound is either on or off) via only 2 levels of output. It was designed for bleeps and bloops.

As I was researching vocoders, I fell into a deep dive and came across some projects that attempted to make actual music out of these PC Speaker.

We know from class that the first computer song was cleverly arranged by Max Mathews in 1961, but Max was using specialized hardware designed for this purpose. Any attempt to make acceptable sounds on a PC Speaker presents even more of a challenge than making a recognizable, dramatic soundtrack on an 8-bit system.

Yet they did! Perhaps it was because every single Wintel machine in the 1990s had one of these chips. The trick is to time a short pulse at a different level to get the overall output level to be somewhere between the two levels of output. This technique is called Pulse-width modulation.

Even more ambitious where crude attempts to get the computer to painfully extract speech out of the PC Speaker. None of these where particularly successful, but it was a daring thing to try. Here is an example of a PC Speaker utterly failing to say, "Emergency! Emergency! Emergency!"

Again, the challenge is the limits of the PC Speaker chip, not necessarily the software. By contrast, the original 1984 Macintosh had a better internal chip. Here's a demo of the Macintosh speaking during its release - the crowd hilariously goes nuts.