The Clock, Another Way To Modify The Sound Of A Synth Chip

The Philips SAA1099 is perhaps one of the lesser-known among the crop of 1980s-era 8-bit sound generator chips, but with three stereo voices onboard it makes a capable instrument for chiptune experimentation. It’s attracted the attention of [Folkert van Heusden], who’s tried the novel experiment of seeing what happens when a sound chip’s clock is varied.

A quick search of the internet reveals that the chip, which appeared in early Sound Blaster cards, is intended to have an 8 MHz clock. He’s hooked it up to an Arduino as a variable clock source, which surprised us but it seems an ATmega328’s timer is faster than we expected.

There are a couple of WAV files, and as expected the clock frequency has a significant effect on the pitch. The samples just sweep up and down without much attempt at making a sound you’d want to hear, but it does raise an interesting possibility of adding a further pitch bending ability to the capabilities already in the chip. When these circuits were new we couldn’t control a clock on a whim with the 8-bit processors of the day, so of course none of us thought to try this at the time. He’s tried it, so you don’t have to.

The SAA1099 has been mentioned in these pages only once, as a chip used in peripherals for 1980s Czech computers.

10 thoughts on “The Clock, Another Way To Modify The Sound Of A Synth Chip

  1. It could be interesting to set the SAA1099 up with constant tones on each output then modulate the clock signal with another sound source or ‘function’, that way you’ve got a 3 voice synth controlled by an analogue source?

  2. You can do similar things with most other sound chips, like ay8910, ym, even atari pokey, and vcs tia (it’ll just also spit out a weird ass ntsc with incorrect colorburst could slap a cpld to reencode and try to overclock tia)

    Most soundchips use the master clock supplied by the computer or a multiple of it, as that clock is used to generate audio, using clock dividers and network of oscillators

  3. >it seems an ATmega328’s timer is faster than we expected.

    It can be set up to 8 MHz for an even square wave output, but your choices for frequency are very coarse. The next even frequency down is 4 MHz. You can get something like 5.3 MHz in between, but it’s not going to be 50% pulse width.

    1. Another way to do it would be to switch to the internal internal RC oscillator as the system clock source, then setting the timer to output PWM at maximum rate and then tuning the OSCCAL value to change the oscillator frequency.

  4. I was given a early 90’s Casio keyboard with the clock-tuning slug mauled by a crude tool which made it silent. In replacing it I experimented with a wide range of values. I finally settled on a sliding slug and coil from a car AM radio attached to a leaf spring which sticks out for pitch bending. Never causes a glitch to the sound chip even if I “pluck” it.

    I added a switch for more capacitance and it goes 4 or 5 octaves lower. The drum samples have lots of gritty sound and many presets are a massive bass texture.

Leave a Reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

This site uses Akismet to reduce spam. Learn how your comment data is processed.