We’re starting off week 2 of the class with an example of a vintage synthesis technique used in the classic Atari 2600 video game console.
Download: 2600_synthesis.csd
Inside the game unit is the TIA chip which is responsible for both the graphics and the audio. Instead of trying to create a perfect emulation of the synthesis engine, we’ve narrowed today’s instruments to two defining characteristics: waveform and frequency.
The waveform is a polypulse wave, which means it looks like a pulsewave, though with multiple high and low values within a single cycle waveform. A typical polypulse looks like this:
The Atari 2600 also has a very odd tuning system that is derived from a CPU clock and and a bit shift register that stores a waveform as zeros and ones. For example, if the clock is running at 31440 Hz, and you are using a register with 15 bits, the highest frequency produced with this particular register is 2096 Hz, calculated by dividing 31440 by 15. The frequency can be modified by dividing the clock with an integer. Dividing by 2, 3 and 4 would produce frequencies of 1048, 698.666 and 524 Hz. The formula is:
frequency = sampleRate / sizeOfRegister / division
For more on Atari 2600 audio, read the ATARI 2600 VCS SOUND FREQUENCY AND WAVEFORM GUIDE by Eckhard Stolberg.
Pingback: The Csound Blog » Atomic Fixin’s
Pingback: The Csound Blog » Pulse Wave and PWM