public override void Init(double sampleRate) { SampleRateRecip = 1 / sampleRate; gain = SynthTable.Deci2Gain(Level); duration = End - Start; }
static Dx7Envelope() { ScaledLevel2Gain = new float[3841]; for (var j = 0; j < 3841; j++) { // The minimum level seems to be clipped at 3824 counts from full scale. // 0..3824 -> -89.864dB..0dB var dB = 0.0235 * (j - 3824); ScaledLevel2Gain[j] = (float)SynthTable.Deci2Gain(dB); } }