Amiga Audio

Sound on the Amiga comes from Paula, which drives four independent DMA sound channels. Each plays a stream of 8-bit signed PCM samples straight from chip RAM, with its own pitch and volume. Two channels are mixed to the left output and two to the right, giving stereo. Because it plays samples, any waveform at all is possible.

Amiga Audio

Overview

Paula is a sample-playback chip, not a tone generator. It has four channels, each fed by DMA from a block of chip RAM holding a digital waveform. Once a channel is pointed at a sample, told its length, pitch and volume, and enabled, it plays on its own without the CPU. Because the sound is whatever samples are in memory, the machine can voice real instruments, speech and drums, which set it apart from the square-wave chips of its rivals.

PropertyValue
Channels4, DMA driven
Sample format8-bit signed PCM
Sample sourceChip RAM
Volume0 to 64 per channel
OutputStereo: two channels left, two right

Paula and the channels

The four channels are numbered 0 to 3. Each has its own registers: a pointer to the start of its sample in chip RAM, a length in words, a period that sets the pitch, and a volume. Channels 0 and 3 are routed to the left speaker, channels 1 and 2 to the right, so the pairing is fixed in hardware. All four can play at once, independently, which is why four-channel music is the Amiga standard.

ChannelOutput side
0Left
1Right
2Right
3Left

Samples and playback

A sample is a run of 8-bit signed bytes in chip RAM, each byte one amplitude from −128 to +127. The DMA reads them two at a time (a word) and feeds each byte to the channel's digital-to-analogue converter in turn. When the channel reaches the end of its length it loops back to the start, so a short waveform can be repeated to sustain a note, or a loop region can hold the steady part of an instrument.

Because playback is just replaying stored amplitudes, the waveform can be anything: a sine, a sampled guitar, a spoken word. The pitch of a note is set purely by how fast the bytes are stepped through, which is the period.

Period and volume

Each channel has a period value that sets how many system clock ticks pass between output samples. A smaller period steps through the sample faster, raising the pitch; a larger period slows it, lowering the pitch. To play the same recorded sound at different musical notes, the program just changes the period. Volume is a separate value from 0 (silent) to 64 (full), scaling every output sample of that channel.

RegisterEffect
PeriodClock ticks per sample; smaller is higher pitch
Volume0 to 64, scales the channel's output
LengthSample length in words, then it loops
PointerStart address of the sample in chip RAM

Effects and music

The same four channels serve both sound effects and music. A sound effect is one sample played once on a spare channel at a chosen period and volume. Music is built the same way, the MOD file being the classic form: it stores a set of small instrument samples and a pattern list that says, for each of the four channels on each beat, which sample to trigger at which period and volume. A player routine steps through the patterns and writes Paula's registers, so full songs play under a running game using only the four hardware channels.

Since every voice is a sample, composers get real instruments rather than beeps, which is why the Amiga MOD sound defines much of the demo and game music of its era.

Sequencer commands

The native operations a sequence drives on Paula, and whether each runs on its own once set or must be updated every tick. Paula loops a sample at a set period and volume on its own, but it has no envelope or modulation hardware, so a player drives volume, slides and vibrato every tick.

CommandWhat it doesAutomatic or driven
Note / pitchPeriod per channel, DMA fedAutomatic
SamplePointer and length in chip RAMAutomatic
LoopRepeat a region to sustainAutomatic
Volume0 to 64 per channelAutomatic (level held)
EnvelopeNo hardware; player writes volumeDriven
Vibrato / portamentoNo hardware; done in codeDriven
Global filterLED low-pass, on or offAutomatic

Sampled audio

Sampled audio is the Amiga's native voice: each of Paula's four channels does nothing but replay 8-bit signed PCM from chip RAM over DMA, so playing a recording is the normal case, not a trick. Point a channel at the sample, set its length, period and volume, enable it, and it plays and loops on its own. The practical limits are the 8-bit sample depth and a top clean rate around 28 kHz; a smaller period plays faster, but the fixed output filter and the DMA set the ceiling, and higher rates need the CPU to feed samples instead of DMA.

For hi-fi playback a well-known trick pairs two channels on the same side, one carrying the high byte at full volume and one the low byte at a volume of 1, so the two sum to about 14-bit resolution. This is how calibrated sample players and the later MOD successors reach near-CD depth on the stock hardware.

MethodHow it worksDepthMax sample rate
Native DMA playbackA channel replays 8-bit PCM from chip RAM8 bits~28 kHz (DMA), higher CPU-fed
Paired-channel (14-bit)Two channels sum high and low bytes at full and 1/64 volume~14 bits~28 kHz