Kurzweil to SoundFont Translation

Translator takes each Kurzweil file (.krz, .k25, .k26) and creates a Preset and a corresponding Instrument for each valid Kurzweil Program. Kurzweil files and SoundFonts carry practically the same structure. In case of true stereo samples, they are split into two mono samples with pans hard left and right per the SoundFont specification.

Any samples that are not referenced by any Kurzweil Program are still included in the new SoundFont file.

Kurzweil Program envelopes can have up to 6 rates and levels to them; SoundFonts only support a single ADSR-type of envelope. Translator uses complex transfer functions to best approximate these envelopes.

SoundFonts use unusual envelope timings. The Sustain parameter has an effect on the Decay time (the absolute amount of time it takes to get from 100% amplitude to the Sustain level) and the Release time (the absolute amount of time it takes to get from the Sustain level to zero amplitude). For exanmple, if the Sustain parameter is 50%, then it will take 50% of the time stipulated by both the Decay and Release. If the Sustain parameter is 70%, then it will take 30% of the time stipulated by the Decay, and 70 % of the Release time.

Translator accurately compensates for these distinctions, both in converting out of SoundFonts and translating into it.