Quick Overview:
This page outlines an attempt to emulate the resonant bandpass and "mixed" type filters found on the MOS6581 (or "SID") chip with the formant filter of a Kawai K5000 additive synth. This project used an ESI SIDstation for all SID interactions. The SID chip was already a classic, and ESI's extension of it is bound for glory.
I undertook this project because the super-thin resonant bandpass on the SID has tickled my fancy for over a decade, and I'd like to understand and emulate it on the K5000.
Step One: Analysis:
First I used CoolEdit to generate a 1 second sample of white noise.
I then hooked up one of the outs on my ASR-X to the external input of my SIDstation. The external input runs directly into the filter. In order to minimize noise from the SID's oscillators, all three were all disabled, leaving only the input from the ASR. The SID filter was set to bandpass mode with a resonance of 15 (out of 15). Finally, I hooked the SID output into the input of the ASR (well, through an aux on the mixing board to get the level right).
I played back the white noise sample into the SID, and recorded the results on the ASR.
The following image (generated by CoolEdit) shows the frequency domain of the white-noise sample on a logarithmic scale (chosen because the formant filter on the K5000 is a log scale rather than a linear one). We can see that it is indeed white noise, as all frequencies appear in a more or less uniform distribution.
This next image shows the frequency domain of the SID-filtered white-noise. I've marked what appear to me to be the resonance peaks. They are marked in both Hz, and by the band numbers in the K5000 formant table. The outline has been exaggerated a bit for emphasis.
So the points of most interest to us for creating a K5000 formant for this filter are:
Freq (Hz) | Band | Comment |
8 | 1 | Lowest K5000 formant filter band (start at 0dB). |
587 | 75 | First change (increase) line slope. |
880 | 82 | Change in slope for lower resonance peak. |
988 | 84 | First resonance peak. |
1319 | 89 | Center of bandpass peak. |
1760 | 94 | Second resonance peak. |
2637 | 101 | Third (resonance?) peak. |
6272 | 116 | Last change (decrease) in line slope. |
12544 | 128 | Highest k5000 formant filter band (end at 0dB). |
Step Two: Creation of K5000 test patch:
Here is an picture of the first attempt to approximate the SID filter on the K5k. The key bands outlined in the example above were used, and it sounds fairly close, but only after the bias is turned up fairly high (+36 in this picture).
There is an added bonus to using the formant filter to create a bandpass. Two of the other distinctive SID sounds are hard-sync and ringmod. Since the K5000 can do amplitude modulation between any two sources, we can set up a ring-mod. However, this is post-filter when using the formant filter emulation. An initial experiment with this produced some fairly striking results. The lower registers are very harsh and distorted SID-like bass sounds, and somewhere up near G1 they turn into clear EP/bell tones. Changing the bias moves this threshold.
I've created two patches from these sources. Both use two ADD sources (with all harmonics set to maximum), with one slightly detuned to make a PWM-like effect. Ideally I would like to make each source into a saw, with source two being 180deg out of phase. This would allow us to do a great PWM emulation, but I assume that unless the K5000 allowed us to define cosine harmonics instead of sine harmonics, this is not possible.
The first patch is monophonic with portamento for doing SID-like bass sounds. The other is poly with the ring-mod effect discussed above and is useful for both distorted bass in the lower registers and EP/bell comps in the upper registers. Both use the mod wheel for filter bias. You may wish to note that the DCF mode is set to bypass, so the resonant bandpass effect indeed comes out of the formant filter! This leaves open the option to impose a second filter to the output.
The patches are available for download here.