Bug report

Known issues/bugs for CAG modules are listed on this page. A description, cause, solvability, priority and solution are given per issue. The list is a reference for users and the developer (=CAG).


Back one page



Description: BandPass3 cannot handle any random expression in the frequency control fields! Most likely, BandPassNotch2 also has this problem.

Cause: unknown

Solvability: unknown

Priority: very low

Solution: Past a Constant Sound into the frequency field(s). In the Constant Sound one can place any expression.



Description: not really a bug. Time related hot parameters (Twiddle4, all envelopes and resonators) in the release 5 CAG modules are not 100%.

Cause: current time to recursion factor conversion use -60dB as reference point (often used in reverberation time indication: RT60). This conversion was copied from an example in “The Kyma Microsound Developer’s Manual”.

Recent inside provide another possible conversion:

The following references  “The Physics of Musical Instruments” 2nd edition, writers Neville H. Fletcher and Thomas D. Rossing,  “Signal Processing, Speech and Music” writer Stan Tempelaars and “DAFX - Digital Audio Effects” editor Udo Zölzer use a different reference point: 1/e = - 8.7dB.

As example: an envelope decay time indicated with current conversion (-60dB reference) sounds faster then using a 1/e reference point.

Solvability: can be solved, but takes a lot of time. Which reference is the best for what prototype? Since there is a lot of reference material indicating the 1/e reference point, it could be more common. There is a compatibility issue: If the reference point is changed in the future, patches made with these CAG modules will sound different.

Priority: medium

Solution: make time values longer as expected.



Description: LFO1 can cause hick-ups with multiple voices or around max processor load of one processor. Kyma can hang or crash.

Cause: unknown for CAG

Solvability: not by CAG only by Symbolic Sound

Priority: medium

Solution: use manual scheduling, prevent to many voices with a LFO1 in it.



Description: very short triggers cause ADR1 to decay with Decay time instead of Release time. Most likely, more (not all) of the envelopes suffer a similar miss behavior.

Cause: unknown, error in algorithm

Solvability: unknown

Priority: medium

Solution: none



Description: one of the CAG modules does not except a unit in a parameter field.

Cause: error in class definition or prototype

Solvability: can be solved, first find the module

Priority: low

Solution: add removeUnits at the end or do not enter units at all



Description: After compilation of CAGMultiEnv1, the envelope is automatically triggered (and sustained) even without a key being pressed. Once the envelope is released or re-triggered, it seems to work fine.

Cause: After compilation the internal time counter starts running from zero. Since this is a single shot envelope, it will automatically start running through the envelope array (and stay in the loop).

Solvability: Initial time counter could be made user adjustable, to allow a different starting condition.

Priority: low

Solution: not really



Description: UnMuteMixer and Envelopes are leaking

Cause: All envelopes (including AR inside the UnMuteMixer) are exponential envelopes. An exponential decay or release will take theoretically forever to become zero. Due to non-infinite precision of the numbers in the algorithms, envelopes will stick to a lowest value on decay/release.

Solvability: I have to investigate if a 48 bit recursion can reduce the leakage.

Priority: low

Solution: None. Practical hint: do not use exponential envelopes for logical switching and prevent the use of very long (> 1 or 2 seconds) decay/release times.


Back one page


Page last updated: Saturday, December 08, 2007