Sane values for filter
This commit is contained in:
8
voice.c
8
voice.c
@@ -17,8 +17,8 @@ static inline void voice_tick(struct voice_t *voice)
|
|||||||
voice->sample++;
|
voice->sample++;
|
||||||
}
|
}
|
||||||
|
|
||||||
static double _R = 2.7;
|
static double _R = 4700.0;
|
||||||
static double _C = 4.3;
|
static double _C = 0.000000047;
|
||||||
|
|
||||||
static inline void voice_filter(struct voice_t *voice, float l, float r)
|
static inline void voice_filter(struct voice_t *voice, float l, float r)
|
||||||
{
|
{
|
||||||
@@ -53,8 +53,8 @@ void voice_run(struct voice_t *voice, uint32_t samples, float *left, float *righ
|
|||||||
amplitude = env_getamplitude(&_env2, voice->sample, voice->released) * voice->velocity * voice->velocity * 1.5;
|
amplitude = env_getamplitude(&_env2, voice->sample, voice->released) * voice->velocity * voice->velocity * 1.5;
|
||||||
|
|
||||||
if (amplitude > 0.0) {
|
if (amplitude > 0.0) {
|
||||||
l *= voice->osc[1].tri * (1.0 + voice->osc[2].sin * 0.25);
|
l += amplitude * voice->osc[1].tri * (1.0 + voice->osc[2].sin * 0.25);
|
||||||
r *= voice->osc[1].tri * (1.0 + voice->osc[2].sin * 0.25);
|
r += amplitude * voice->osc[1].tri * (1.0 + voice->osc[2].sin * 0.25);
|
||||||
}
|
}
|
||||||
|
|
||||||
voice_filter(voice, l, r);
|
voice_filter(voice, l, r);
|
||||||
|
Reference in New Issue
Block a user