- increased to version 0.5.8
- improved limiter - VCO: Waveform "Impulse" hase now amplitude of 100 git-svn-id: http://moon:8086/svn/software/trunk/projects/JaySynth@715 b431acfa-c32f-4a4a-93f1-934dc6c82436
This commit is contained in:
@@ -550,17 +550,21 @@ void JaySynthAudioProcessor::processBlock (AudioSampleBuffer& buffer, MidiBuffer
|
||||
buf[1][i] = (synth_float_t)buf2[i] * synth_gain;
|
||||
|
||||
// Limiter
|
||||
limiter_ar = 1.0/(SYNTH_LIMITER_RISE_TIME*m_fs);
|
||||
limiter_ar = 5.0/(SYNTH_LIMITER_RISE_TIME*m_fs);
|
||||
limiter_af = 5.0/(SYNTH_LIMITER_FALL_TIME*m_fs);
|
||||
limiter_threshold = pow((synth_float_t)10.0, (synth_float_t)SYNTH_LIMITER_THRESHOLD/20);
|
||||
|
||||
for (i=0; i <numSamples; i++)
|
||||
{
|
||||
x = max(fabs(buf[0][i]), fabs(buf[1][i]));
|
||||
if (m_limiter_env < x)
|
||||
m_limiter_env += limiter_ar*(x - m_limiter_env);
|
||||
if (x > m_limiter_env)
|
||||
{
|
||||
m_limiter_env = (1.0-limiter_ar)*m_limiter_env + limiter_ar*x;
|
||||
}
|
||||
else
|
||||
m_limiter_env += limiter_af*(x - m_limiter_env);
|
||||
{
|
||||
m_limiter_env = (1.0-limiter_af)*m_limiter_env;
|
||||
}
|
||||
|
||||
limiter_env[i] = m_limiter_env;
|
||||
}
|
||||
@@ -568,10 +572,11 @@ void JaySynthAudioProcessor::processBlock (AudioSampleBuffer& buffer, MidiBuffer
|
||||
m_limiter_active = 0;
|
||||
for (i=0; i <numSamples; i++)
|
||||
{
|
||||
limiter_gain[i] = (float)(limiter_threshold/max(limiter_threshold, limiter_env[i]));
|
||||
|
||||
limiter_gain[i] = min(1.0, 1.0/(limiter_env[i] + 1.0e-6));
|
||||
if (limiter_gain[i] < 1.0)
|
||||
{
|
||||
m_limiter_active = 1;
|
||||
}
|
||||
}
|
||||
|
||||
for (i=0; i <numSamples; i++)
|
||||
|
||||
Reference in New Issue
Block a user