Sound Processing Unit (SPU)
24-voice ADPCM sound source and mixer of the PlayStation.
This is an old revision of this page, as edited by RemmyLee at 02:22, 23 October 2026. Edit this revision | Latest revision
Overview
The PlayStation sound system is made up of the SPU and the CD-ROM decoder.1
The SPU plays ADPCM sample data from its local memory at a sampling frequency of 44.1 kHz.2
The CPU operates the SPU.3
The SPU has a digital reverb. It also mixes the audio output of the CD-ROM decoder with its own output.2
The SPU has the following specifications:
| Item | Specification |
|---|---|
| Sound data format | ADPCM |
| Number of simultaneous sounds (number of voices) | 24 |
| Sampling frequency | 44.1 kHz |
Sound Buffer
The sound buffer is a 512KB local memory that supplies waveform data to the sound source. It is not mapped in the CPU address space.2
The sound buffer holds the ADPCM sound data. It is also the reverb work area.2
The sound buffer also serves as a temporary buffer for sound data on its way to main memory.2
DMA can transfer data from main memory to the sound buffer. Sound generation does not need to stop during the transfer.2
Voice Functions
Each of the 24 voices has its own settings for the functions below.4
ADPCM or noise, the left and right volume and reverb on or off are set voice by voice.2
Pitch Transformation
The pitch of ADPCM sound data can be varied from -12 octaves to +2 octaves. Steps of a half-tone or less can be set.4
Pitch Variation by Time
The volume of one voice can vary the pitch of the next voice. The final pitch is NewPitch(n) = (1 + V(n-1)) Pitch(n).4
V(n-1) is the volume of voice n-1, which varies with time. Pitch(n) is the pitch originally set for voice n.4
Noise Source
The SPU has a noise generator that uses pseudo random numbers. Any voice can use the noise source in place of ADPCM data from the sound buffer.4
The noise generation clock sets the noise tone.4
Envelope
The envelope has separate rates for attack, decay, sustain and release. The sustain level can also be set.4
Each envelope rate follows a linear curve or an exponential curve. Decay uses the exponential curve only.4
Volume
Volume variation is set apart from the envelope.5
The volume can stay constant or change by one of the following:
| Variation |
|---|
| Linear increment |
| Linear decrement |
| Reverse indexed increment |
| Indexed decrement |
Reverb
The digital reverb uses the sound buffer as its work area.5
Reverb is set on or off for each voice and for the CD input.5
CD-ROM Decoder Input
The CD-ROM decoder plays audio from CD-DA or CD-ROM XA data. Its output enters the SPU and is mixed with the SPU output.1
The mixed signal passes through the reverb unit to become the final audio output.1
The decoder has a built-in mixer of 4 attenuators. The attenuation of each one sets the mix of the stereo output.1
Sound Data Transmission to Main Memory
The SPU writes two kinds of data to a fixed area of the sound buffer at every sample (44.1 kHz).5
The first is the CD input after its volume is applied. The second is the output of 2 specific voices after their envelopes are applied.5
DMA can transfer this data to main memory for processing.5
References
-
^ a b c d Sony Computer Entertainment Inc. PlayStation Hardware. August 1998. Page 4-3, Figure 4-1, Figure 4-2.
-
^ a b c d e f g Sony Computer Entertainment Inc. PlayStation Hardware. August 1998. Page 4-4, Table 4-1, Figure 4-3.
-
^ Sony Computer Entertainment Inc. PlayStation Hardware. August 1998. Page 1-4.
-
^ a b c d e f g h Sony Computer Entertainment Inc. PlayStation Hardware. August 1998. Page 4-5, Figure 4-4.
-
^ a b c d e f Sony Computer Entertainment Inc. PlayStation Hardware. August 1998. Page 4-6, Figure 4-5.