commit 8773b26df67fa08086e6c68fc144338d4e37f837
parent 73e0cdc93dc43af6bac5ea24fb8ca5ead2a68968
Author: Christopher A. Oliver <caowasteland@gmail.com>
Date: Fri, 20 Nov 2015 03:36:34 -0500
Fix unison voice phase randomness. (Don't cluster around zero.)
Diffstat:
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/Synth/ADnote.cpp b/src/Synth/ADnote.cpp
@@ -295,12 +295,12 @@ ADnote::ADnote(ADnoteParameters *pars_, SynthParams &spars)
oscposhi_start +=
(int)((pars.VoicePar[nvoice].Poscilphase
- 64.0f) / 128.0f * synth.oscilsize + synth.oscilsize * 4);
- oscposhi_start %= synth.oscilsize;
+ int kth_start = oscposhi_start;
for(int k = 0; k < unison; ++k) {
- oscposhi[nvoice][k] = oscposhi_start;
+ oscposhi[nvoice][k] = kth_start % synth.oscilsize;
//put random starting point for other subvoices
- oscposhi_start =
+ kth_start = oscposhi_start +
(int)(RND * pars.VoicePar[nvoice].Unison_phase_randomness /
127.0f * (synth.oscilsize - 1));
}