Tuesday, September 9, 2008

A Brief History of Computer Music

Those of us who were little kids in the 1970s and were interested in technology were impressed by gizmos that are archaic today. I remember my first wristwatch, an all-black model that displayed the time in a red digital readout only when a button was pressed. My second watch was a quantum leap forward in technology - it played SEVEN songs in glorious monophonic beeps! I could even add tremolo by pressing it rhythmically against my wrist!

The first computers were about as audio-phonically advanced as my watch. Steve Wozniak designed the Apple II in his usual manner, elegantly and uber-minimalistically, using as few chips as possible. It didn't even have a tone generator at first, just made sounds at various pitches depending on how fast the speaker clicked.

The IBM PC had a tone generator, but could only make one beep at a given time - and it wasn't a particularly mellifluous beep. Still, one could easily access the tone generator from BASIC, using the PLAY command you could specify notes to be played and their durations (even flats and sharps.) Neil J. Rubenking released a shareware program called PIANOMAN that approximated harmonies by slicing and dicing the notes and weaving them together as arpeggios.

The early Ataris were known for some fancy music. Here's one game that got raves for its soundtrack: The Tail of Beta Lyrae.

The Commodore 64, with its SID chip, spawned a musician's "Scene" that is still active today. Check out SLAY radio for a 24/7 "chiptunes" internet radio station.

The Amiga scene was big as well, as the Amiga had true 4-voice polyphony and digital sound samples. The one quirk was there was no "panning" of the sound when all four voices were in use... there was total separation between right and left, so for instance, the drums and bass would be completely in the left speaker and the guitar and vocal samples would be completely in the right. A bit disconcerting in headphones, but still impressive to hook up to a good stereo system. Even "homebrew" downloaded games could impress, with their nifty sampled explosions, voices, etc. Karsten Obarski invented the first "Tracker" program in 1986, and revolutionized the computer-based-music-composition field. But the first Amiga song to really get noticed was John Malloy's title music for the adventure game "The Pawn":

When the game was released, the Amiga was the only home computer which had hardware support for digitized samples. However, there was probably no other Amiga game released in 1986 that utilized the capabilities of Amiga's Paula sound chip like The Pawn did. This means that The Pawn was a pioneer release in the field of digitized computer game music. The peaceful title music was composed by John Molloy and it features guitar and flute sounds, among others. [wikipedia]

Here are some tunes fondly remembered from the old days; one PC and five Amiga songs. The first three Amiga songs are from games of the time. All the Amiga tracks have been converted to MP3 for your convenience by a chap called Stone Oakvalley, but can be found on the net in much smaller file sizes if you download them in their "module" form.

- CIRCUS.EXE, composed with "Pianoman" circa 1983 (will make your PC speaker beep in DOS.)
- The Pawn, by John Molloy, 1986.
- Crystal Hammer, by Karsten Obarski, 1987.
- Battle Squadron hi score tune, by Ron Klaren.
- Sleepwalk, by Karsten Obarski.
- Bridge to the Universe, by Bjorn Lynne (aka Dr. Awesome).

...and a summary of each machine's capabilities, courtesy of Wikipedia (accessed 9/9/2008):

1977: Apple II
Rather than having a dedicated sound-synthesis chip, the Apple II had a toggle circuit that could only emit a click through a built-in speaker or a line out jack; all other sounds (including two, three and, eventually, four-voice music and playback of audio samples and speech synthesis) were generated entirely by clever software that clicked the speaker at just the right times. Not for nearly a decade would an Apple II be released with a dedicated sound chip.

1979: Atari 8-bit (Models "400" and "800")
The third custom support chip, named POKEY, is responsible for reading the keyboard, generating sound and serial communications (in conjunction with the PIA). It also provides timers, a random number generator (for generating acoustic noise as well as random numbers), and maskable interrupts. POKEY has four semi-independent audio channels, each with its own frequency, noise and volume control. Each 8-bit channel has its own audio control register which selected the noise content and volume. For higher sound resolution (quality), two of the audio channels can be combined for more accurate sound (16-bit). The name POKEY comes from the words "POtentiometer" and "KEYboard", which are two of the I/O devices that POKEY interfaces with (the potentiometer is the mechanism used by the paddle). This chip is actually used in several Atari arcade machines of the 80s, including Missile Command and Asteroids Deluxe, among others.[10]

1981: IBM PC
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.

1982: Commodore 64
The sound chip, SID, has three channels, each with its own ADSR envelope generator, and with several different waveforms, ring modulation and filter capabilities, was very advanced for its time. It is designed by Bob Yannes, who would later co-found synthesizer company Ensoniq. Yannes criticized other contemporary computer sound chips as "primitive, obviously . . . designed by people who knew nothing about music." Often the game music became a hit of its own among C64 users. Well-known composers and programmers of game music on the C64 are Rob Hubbard, David Whittaker, Chris Hülsbeck, Ben Daglish, Martin Galway and David Dunn among many others. Due to the chip's limitation to three channels, chords are played as arpeggios typically, coining the C64's characteristic lively sound.

1985: Commodore Amiga
The Amiga's sound chip, named Paula, supports four sound channels (two for the left speaker and two for the right) with 8-bit resolution for each channel and a 6-bit volume control per channel. The analog output is connected to a low-pass filter, which filters out high-frequency aliases when the Amiga is using a lower sampling rate (see Nyquist limit). The brightness of the Amiga's power LED is used to indicate the status of the Amiga’s low-pass filter. The filter is active when the LED is at normal brightness, and deactivated when dimmed (or off on older A500 Amigas). On Amiga 1000, the power LED had no relation to the filter's status, a wire needed to be manually soldered between pins on the sound chip to disable the filter. Paula can read directly from the system's RAM, using direct memory access (DMA), making sound playback without CPU intervention possible.

Although the hardware is limited to four separate sound channels, software such as OctaMED uses software mixing to allow eight or more virtual channels, and it was possible for software to mix two hardware channels to achieve a single 14-bit resolution channel by playing with the volumes of the channels in such a way that one of the source channels contributes the most significant bits and the other the least ones.

The quality of the Amiga's sound output, and the fact that the hardware is ubiquitous and easily addressed by software, were standout features of Amiga hardware unavailable on PC platforms for years.

Links of note:

Exotica, an Amiga music wiki.