k y m a • t w e a k y — the kyma collective || view the current website || February 2015 Archive

/ WebHome / How.CreateEMUZ


How Section

How do I...
Add a question...


All Sections


Login / Register 
Change password
Forgot password?

Symbolic Sound

Kyma Forum
Eighth Nerve

TWiki Links

TWiki Formatting FAQ
What is TWiki?
%SESSION_ENDIF% twiki.org

Question (or Task)

I was thinking about this a couple years ago and then was trigger again recently by a thread on a DSP list. The EMU filter in their more recent hardware samplers were rather interesting but also had some shortfallings. Basically you could morph between filters coefficents and filters. In reading the thread it seems that it should be possible to re-create something similar in kyma. I was think something along the lines of the VCF and 12 of DavidMcClain biquad parametic filters. The part that is well beyond me is acheiveing the interpolation of coeffiecents. Perhaps SSC or someone else has some fancy ideas (and would be willing to take a wack at it).

I copied and pasted a couple of the emails of the DSP list thread:

Joe Grisso of Det3 Media, Ltd. provides much of the below.

First off, let me say that Z-Plane is a trademark of E-Mu, so a more technically correct classification is required. I'd basically call them multi-segment interpolating filters.

There are two parts to this filter architecture - the filters themselves and the coefficient interpolator. The interpolator can store up to six "filter presets", and then interpolate between all six presets. Think of each preset residing in a corner of a cube, and then have three control parameters (CVs, CCs, whatever) be able to move in the X, Y, and Z directions. This is why they called the first z-plane synthesizer "morpheus" - because you could morph between filter presets.

Specifically, the E-Mu filter architecture consists of seven two-pole IIR sections connected in series. The first being a lowpass filter, and the next six sections being parametric filters. Each segment has controllable Cutoff, Q, and the parametric sections have controllable bandwidth. This allows you to create much more detailed filter curves than your standard -12/-24dB per octave lowpass curves of the old analog days.

You get a "14 pole filter" by adding up each 2-pole section. Each set of coefficients described in the ARMAdillo spec on AES and the patent are for a single 2-pole section. Rossum developed this spec (which is really a funky form of logarithmic compression) so he could implement the filter morphing in hardware with minimal loss of fidelity when you interpolated between the preset coefficients. There's some additional stuff to the biquad IIR architecture I can't talk about, which is silly...but most competent DSP folks can figure out how to make a biquad section like this stable across the audio band.

The cool part is when you think about it in hardware terms, it gets really impressive. Dave Rossum basically got 64 2-pole filters into a 20,000 gate ASIC with decent dynamic range in 1989. In 2001, E-Mu had a chip on the drawing board called the H2.0, which increased the number of filters to 384 on a single 250K gate ASIC - and that's the magic behind the ARMAdillo algorithm. Encoding the coefficients to make it easy for a hardware ASIC to interpolate, and shrinking gate budgets to make the hardware more cost effective.


Yes, you could calculate them on the fly. On the other hand, armadillo allows you to morph arbitrary filters. In fact, you can precalculate the endpoint armadillo coefficients in matlab or something and just interpolate between those in the filter code. You need 2^N sets of coefficients, where N is the number of control parameters (N=2 for normal cutoff, resonance filters).

This means that you can implement morphable EQs too with the exact same filter code. Just change the endpoint armadillo coefficients.

Armadillo encoding is great for hardware implementation: You can make fast 2^x easily with FPGA and since you can precalculate the endpoint armadillo coefficients, the whole filter can be implemented in a relatively simple FPGA (see the E-Mu H chip).

IIRC, the patent was awarded in late 80's so it might be expiring soon.


The ARMAdillo was an encoding scheme to relieve one of the burden of having to use large coefficient sizes for IIR filters. Also, this is one of the reasons that wide-band E-Mu Z-Plane filters have real horrible LF response. And yes, one can design a system now that doesn't have to use the ARMAdillo encoding algorithm by Rossum.


-- BenPhenix - 07 Jan 2005


Ben can you get this patent description? Do you have access to an Emu machine with Z-Plane filters? I already implemented a 3D interpolation scheme they are talking about, but the problem is what to put in the corners. I think it is possible to make something simmular, but I need some more info about interesting settings for multi-pole filters.

ChristiaanGelauff - 03 Dec 2006 (wow, almost 2 years later!)

I have a Morpheus - I was about to sell it, as I never use it any more... I did use the filters quite a bit on my 3rd album , Bodymapping on Tresor Records - thats probably the best recorded example of EMU Z-Plane filters in action - but, if you wanted me to check anything out in the manual to help with this idea, let me know

-- CristianVogel - 04 Jan 2007

Oke, I found the manual of the Morpheus on the EMU site and there is a lot of information in it. I was a little bit in shock to see how many filter types there are available. I was going to ask you or Ben if you could make a recording of a morphing filter with noise as input, but now I see that is an impossible question since there are so many filter types. Are there filter types that are very nice? As in nice to have running on Kyma?

-- ChristiaanGelauff - 04 Jan 2007

well, not really anything that I would call really 'nice' - i used to favour stuff which would add resonance to percussive sounds, enhancing lower harmonics - but they were boomy really - I would do this with the new PhyMod? filter in Kyma, or the CrossFilter? . \there was also one i used to like which had tuned resonances , to make harmonic chordal sounds from the filter resonance.. But again, I would do this a diifferent way now in Kyma, using filterbanks.

the reverb and stereo effects were nice, they could cross modulate each - and all the modulation routing was also good, like in the proteus-1

-- CristianVogel - 12 Mar 2007

PhyMod? filter? What am I missing? The CrossFilter? is a static filter...I thought the EMU-filters were interesting because they could modulate dynamically. A tuned resonances filter can be build already with my BandPass3? filter prototype. In a future version of my CAG Asy stuff I will include another type of resonances filter. Kyma's filterbanks are pretty nice, although DSP hungry.

-- ChristiaanGelauff - 12 Mar 2007

Kyma's FilterBank computes about 56 filters per processor at SR=44.1 kHz. The ModalFilter can compute over 100 filters per processor (there, you begin to run into other limitations since the CapyTalk expressions also take up time on the processor).

-- CarlaScaletti - 13 Mar 2007

By PhyMod? , I meant the ModalFilter? - Its a filter bank that is designed for physical modelling using dynamic modal filters, so in conjunction with convolution or its internal (or external) feedback and delaylines, i think of it as a Physical Modelling filter - sorry for being vague! And by the way, the Zplane morphing didn't give as musical results as the Kyma filters - it basically sounded unmusical, and lacked power and warmth.

-- CristianVogel - 13 Mar 2007

I take back my remark about DSP hungry Carla...sorry, you may whipe the text if you like!

The ModalFilter? are nice 2nd order recursive filters that run in parallel. C+K did a very nice job with there implementation, very efficient! No convolution or delaylines are to be found in them (as far as I understand them). So that famous Zplane morphing is not so interesting... so here are opportunaties.

-- ChristiaanGelauff - 13 Mar 2007

Question: How to create a EMU "z-plane" filter?
Keywords: filter, low-pass, parametric

© 2003-2014 by the contributing authors. / You are TWikiGuest