Audio
Audio reference | |
---|---|
Processors | Sony SPC700, Sony DSP |
Clock rates | Input: 24.576 MHz SPC700: 1.024 MHz |
Format | 16-bit ADPCM, 8 channels |
Output | 32 kHz 16-bit stereo |
Effects |
|
The audio subsystem consists of an 8-bit Sony SPC700, a 16-bit DSP, 64 kB of SRAM shared by the two chips, and a 64 byte boot ROM. The audio subsystem is almost completely independent from the rest of the system: it is clocked at a nominal 24.576 MHz in both NTSC and PAL systems, and can only communicate with the CPU via 4 registers on Bus B.
RAM is accessed at 3.072 MHz, with accesses multiplexed between the SPC700 (⅓) and the DSP (⅔). This RAM is used to store the SPC700 program and stack, the audio sample data and pointer table, and the DSP's echo buffer.
The SPC700 runs programs (uploaded using the boot ROM program) to accept instructions and data from the CPU and to manipulate the DSP registers to generate the appropriate music and sound effects. The DSP generates a 16-bit waveform at 32 kHz by mixing input from 8 independent voices and an 8-tap FIR filter typically used for reverberation. Each voice can play its sample at a variable rate, with Gaussian interpolation, stereo panning, and ADSR, linear, non-linear, or direct volume envelope adjustment. The voice and FIR filter outputs are mixed both for direct output and for future input into the FIR filter. All audio samples are compressed using ADPCM and a linear predictive coding, a method dubbed BRR.
Hardware on the cartridge, expansion port, or both can provide stereo audio data for mixing into the DSP's analog audio output before it leaves the console.
Since the audio subsystem is mostly self-contained, the state of the audio subsystem can be saved as an .SPC file, and the subsystem can be emulated in a stand-alone manner to play back all game music (except for a few games that constantly stream their samples from ROM). Custom cartridges or PC interfaces can be used to load .SPC files onto a real SNES SPC700 and DSP.
Read more about this topic: Super Nintendo Entertainment System, Technical Specifications