mirror of
https://github.com/Ardour/ardour.git
synced 2025-12-09 16:24:57 +01:00
tweak reasonable synth:
* prevent denormals / cut low volume * reduce default amplitude of fundamental
This commit is contained in:
parent
224b44c6e2
commit
114997b7e6
1 changed files with 20 additions and 17 deletions
|
|
@ -185,8 +185,8 @@ static void synthesize_sineP (RSSynthChannel* sc,
|
||||||
for (i=0; i < n_samples; ++i) {
|
for (i=0; i < n_samples; ++i) {
|
||||||
float env = adsr_env(sc, note);
|
float env = adsr_env(sc, note);
|
||||||
if (sc->adsr_cnt[note] == 0) break;
|
if (sc->adsr_cnt[note] == 0) break;
|
||||||
const float amp = vol * env;
|
const float amp = vol * env * .6;
|
||||||
|
if (amp > 1e-10) {
|
||||||
left[i] += amp * sinf(2.0 * M_PI * phase);
|
left[i] += amp * sinf(2.0 * M_PI * phase);
|
||||||
left[i] += .300 * amp * sinf(2.0 * M_PI * phase * 2.0);
|
left[i] += .300 * amp * sinf(2.0 * M_PI * phase * 2.0);
|
||||||
left[i] += .150 * amp * sinf(2.0 * M_PI * phase * 3.0);
|
left[i] += .150 * amp * sinf(2.0 * M_PI * phase * 3.0);
|
||||||
|
|
@ -202,6 +202,9 @@ static void synthesize_sineP (RSSynthChannel* sc,
|
||||||
//right[i] += .007 * amp * sinf(2.0 * M_PI * phase * 5.0);
|
//right[i] += .007 * amp * sinf(2.0 * M_PI * phase * 5.0);
|
||||||
//right[i] += .010 * amp * sinf(2.0 * M_PI * phase * 6.0);
|
//right[i] += .010 * amp * sinf(2.0 * M_PI * phase * 6.0);
|
||||||
right[i] -= .020 * amp * sinf(2.0 * M_PI * phase * 7.0);
|
right[i] -= .020 * amp * sinf(2.0 * M_PI * phase * 7.0);
|
||||||
|
} else {
|
||||||
|
phase += fq;
|
||||||
|
}
|
||||||
if (phase > 1.0) phase -= 2.0;
|
if (phase > 1.0) phase -= 2.0;
|
||||||
}
|
}
|
||||||
sc->phase[note] = phase;
|
sc->phase[note] = phase;
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue