back to buchty.net Casiorama back to Casiorama

The filters Trying to reach me?
The FZ-1 filters are somewhat legendary. Not only, they were the almost first real DCFs employed in a commercially sold musical instrument, no, it's their very special, sometimes strange sound. So, sometimes the filter parameters just don't work in the way you'd expect. Instead, they sound just ... Well, personally I think the FZ-1's DCF is one of the best distortion I've ever heard :) Sad but true... These days one really calls for spam when publishing an email address on a website. But what the heck.

rainer@buchty.net

If you expect an answer please send plain text emails. HTML-formatted mails will be dumped automatically.


Is it analog or digital?

Casio's DCFs seem to be some special beasts. Some sound designers claim they sound very analog, and, given the fact that they indeed have analog in- and outputs, believe that it is a truly analog filter. An additional point usually is that the filters have true resonance control -- a feature unseen in commercial synthesizers' digital filters until the late 1980s.

However, looking closer (see pinout below) reveals a clock input which is a good indication that something time-discrete is going on and we are definitely not dealing with your average transistor ladder or OTA-based filter.

A quick patent search reveals several interesting Casio patents on digital filters dating back to the early 1980s, also digital filters with resonance control pop up, for instance Patent 4,467,440. What we basically see here is indeed an IIR (Infinite Impulse Response) filter, although by the way described it looks like only the control is truly digital while anything else, i.e. summing, multiplication, and also storing the time-discrete signals is performed in the analog domain using ordinary adders, multipliers, and S&H stages.

This would explain why this filter is perceived "analog" and exhibits a saturation behavior like conventional analog filters, while internally being digital (i.e. time-discrete) by nature:

Operational amplifiers (as used within analog arithmetic components like adders and multipliers/amplifiers) expose a certain distortion behavior, namely the tanh function (hyperbolic tangent). The application of this function to certain stages within the filter computation is crucial as this is what gives the Moog (transistor ladder) and OTA-based (e.g. SSM2040) filters their distinct sound.

(If you're interested in what makes analog filters sound the way they do and how this can be achieved in software, have a look at Oscillator and Filter Algorithms for Virtual Analog Synthesis by Vesa Välimäki and Antti Huovilainen. The same authors also published some interesting papers on the DAFX conference series.)


Programming the DCF
The Casio DCFs differ a bit from ordinary VCF/VCA combinations. First of all, they include two complete audio channels. Second, you can adjust the DCA's gain in four discrete steps from -oo to -87.75dB. Programming the DCF chip is easy and controlled by the following signals:

SignalTask
CHS Channel Select
A high level designates channel 1, low level channel 0 respectively.
F/A Filter / Amplifier selection
When this terminal is high, data on data bus becomes DCF control data, otherwise amplitude control data.
FC/Q Cutoff frequency / Resonance selection
This signal works together with the F/A terminal. If F/A is high, input data determines the DCF's cutoff frequency (20Hz to 20kHz). When terminal F/A is low and FC/Q is high, input data determines the output volume (DCA level). If FC/Q is low, bits 7 and 6 of the input data control DCA gain.

Pinout
Pin Terminal Direction Function
1-8 D0-D7 in Digital data for cutoff frequency, resonance, and amplitude values
9 WR# in Data write signal (active low)
10 CE# in Chip enable signal (active low)
11 CHS in Channel selection signal (see programming information)
12 F/A in Filter/Amplifier switching signal (see programming information)
13 FC/Q in Cutoff frequency/Resonance selection signal (see programming information)
14 DGND power Digital ground
15-17 unused n.c.  
18 OSC in 3.58MHz clock pulse for internal operation upon rising edge
19 RESET# in Reset signal (low active) setting default values which are FC=20Hz, Q=0.71, and Gain=-oo
20 VSS power -5V source
21 AI2 in Source signal for audio channel 2
22 PD# in Power down control (not used in FZ-1 thus tied to VDD)
23 AO2 out Filtered and amplified sound output of channel 2
24 AGND power Analog ground
25 AO1 out Filtered and amplified sound output of channel 1
26 TC# in Test circuit (not used in FZ-1 thus tied to VDD)
27 AI1 in Source signal for audio channel 1
28 VDD power +5V source