rhdunn / klatt

derivative of the klatt 3.04 synthesizer
http://reecedunn.co.uk/klatt
GNU General Public License v3.0
37 stars 9 forks source link

cascade synthesis mode does not work #1

Open rhdunn opened 12 years ago

rhdunn commented 12 years ago

Running example1.par causes a sound spike near the end and example2.par is completely unintelligible when using cascade synthesis. Parallel synthesis works fine.

NOTE: This is also the case with the original 3.03 and 3.04 klatt sources.

--- Want to back this issue? **[Post a bounty on it!](https://www.bountysource.com/issues/933008-cascade-synthesis-mode-does-not-work?utm_campaign=plugin&utm_content=tracker%2F254965&utm_medium=issues&utm_source=github)** We accept bounties via [Bountysource](https://www.bountysource.com/?utm_campaign=plugin&utm_content=tracker%2F254965&utm_medium=issues&utm_source=github).
rhdunn commented 12 years ago

Replacing:

casc_next_in = antiresonator(&(globals->rnz),glotout);

with:

casc_next_in = glotout;

causes example1.par to play normally and example2.par to play legibly (with fluctuating noise) until the end where it becomes illegible.

rhdunn commented 12 years ago

The sound spike in example1.par was due to the output value being +/- a very big number and getting clamped to INT_MAX/INT_MIN. This in turn was due to there being an aspiration output specified, triggering the antiresonator code. The antiresonator was operating with a frequency f of 0 and then doing a' = 1.0 / a with a being 0 as a result of f being 0.

This still leaves example2.par slowly degenerating with fluctuating noises gradually dominating the audio output.